如何估计大模型回答的置信度?
简化版
大模型没有天然可靠的“我有多确定”分数:token 概率衡量局部文本偏好,自报置信度也常过度自信。生产系统应按任务构造可校准信号,例如分类概率、多个采样的一致性、检索证据覆盖、验证器结果和模型间分歧,再用带标签验证集做温度缩放或校准曲线。最终用风险阈值决定自动通过、补充检索、转强模型、拒答或人工审核。
详细版
首先定义置信度对应的事件:是答案整体正确、某字段正确,还是引用支持结论。不同事件需要不同标签和分数,不能用平均 token 概率包打天下。
raw signals = {class_logit, sequence_score, sample_agreement,
retrieval_coverage, verifier_pass, model_disagreement}
calibrator(raw signals) -> P(target event is correct)
在独立验证集上用可靠性图、ECE、Brier Score 和风险—覆盖率曲线检查校准。如果标为 0.8 的样本组只有 60% 正确,分数就没有概率意义。阈值按错误代价设置:低风险内容可自动返回,高风险任务即使置信度高也仍需确定性验证或人工审批。
线上监控输入分布、校准漂移、自动覆盖率和各分数桶真实正确率;模型、Prompt、检索链路改变后重新校准。置信度用于路由与止损,不是真理证明。
完整版教学
一、先定义“对什么有信心”
一句回答可能事实正确但引用错误,也可能主要结论正确却有一个数字错。若标签只写整题对错,分数无法指导字段级审核;若任务是分类,目标事件则很明确。
因此需要定义预测事件,例如 P(意图分类正确)、P(金额字段正确) 或 P(答案由给定证据支持)。同一模型对不同事件要有不同置信度估计。
记忆钩子:没有清楚的“正确事件”,就没有可校准的置信度。
二、token 概率不是答案正确率
模型输出每个 token 的条件概率,反映在当前上下文下文本有多常见。流畅但错误的陈述可能拥有很高概率,罕见的正确姓名则概率较低。把一长串 token 概率相乘还会随长度指数下降。
可用平均 log probability 做相对信号:
score = (1 / N) × Σ log P(token_i | prefix)
它可能帮助比较相同任务、相近长度的候选,却不能直接解释成“答案有 90% 概率正确”。模型 API 若不提供 logprob,还需要其他信号。
三、自报置信度容易过度自信
让模型最后输出“置信度 95%”很方便,但数字主要来自语言模式,不一定经过真实结果校准。换一种提示、语气或示例,分数可能明显变化。
自报分数可以作为特征之一,前提是在本任务验证集上检查。若 100 个自报 90% 的答案只有 70 个正确,就应通过校准器修正,不能把 90% 原样展示给用户。
要求模型列出缺失信息和可证伪条件,常比一个孤立百分比更有诊断价值。
四、多次采样一致性反映认知分歧
对同一问题独立采样多次,答案高度一致通常比四分五裂更可信。分类任务可统计多数比例,推理题可对标准化最终答案聚类。
例如采样 10 次,8 次答案为 A、2 次为 B,一致性为 0.8。但十次都可能共享同一错误知识,所以一致性衡量的是模型内部稳定性,不是外部事实证明。
采样会增加成本,也受温度影响。必须固定采样配置,并在验证集上确认一致性与正确率的关系。
五、外部信号通常更有价值
事实问答可用检索命中、来源权威性、引用蕴含和证据冲突作为信号;代码可用编译、单测和静态检查;结构化抽取可用 Schema 与字段规则。这些信号直接接近目标事件。
| 信号 | 能说明什么 | 不能说明什么 |
|---|---|---|
| token 概率 | 文本生成偏好 | 事实一定正确 |
| 多样本一致 | 模型是否稳定 | 是否共享错误 |
| 引用蕴含 | 证据支持结论 | 证据本身绝对真实 |
| 单元测试 | 覆盖场景行为正确 | 未覆盖场景无 bug |
| 模型分歧 | 需要进一步审查 | 哪个模型一定正确 |
多个弱信号可输入逻辑回归、树模型或校准器,但要避免用未来信息和测试集泄漏训练。
六、校准让分数具有概率解释
理想校准意味着预测置信度约 0.7 的样本中,大约 70% 真的正确。可把样本按分数分桶绘制可靠性图,比较平均置信度与实际准确率。
ECE = Σ_b (n_b / n) × |accuracy(b) - confidence(b)|
假设 0.8~0.9 桶有 200 题,平均置信度 0.85,实际准确率 0.72,该桶贡献的未加权误差为 0.13。温度缩放适合调整 logits 尺度;更复杂方法虽能拟合非线性,但数据少时容易过拟合。
校准集必须与训练和最终测试分离,并覆盖真实输入分布。
七、风险—覆盖率决定怎么用阈值
阈值越高,自动处理的样本越少,留下样本通常更准确。把自动处理比例叫覆盖率,把其中错误率叫风险,就能画风险—覆盖率曲线。
若阈值 0.7 时自动覆盖 80%、错误率 5%,阈值 0.9 时覆盖 45%、错误率 1%,应根据人工成本和错误损失选择。医疗、金融等高风险任务可能要求更低风险,而普通标签推荐可以接受更高覆盖。
灰区样本可补充检索、调用更强模型或转人工;低分不一定直接拒答,要看是否存在有效恢复路径。
八、分布变化会使校准失效
模型版本、Prompt、语言、用户群和检索源变化后,原校准关系可能漂移。英文分类上校准良好,不代表中文长文本同样有效;简单问题占比变化也会影响总体曲线。
线上可延迟收集人工或业务真值,按场景监控分数分布、分桶准确率、ECE 和转人工率。标签延迟时先监控代理信号,但不能把代理指标冒充真实校准。
每次升级保留旧校准器做影子对比。若没有足够新标签,高风险阈值应更保守。
九、常见误区与追问
- 误区:最高 token 概率就是答案正确概率。 它只描述生成偏好,流畅错误同样可能高分。
- 误区:模型自报 90% 就有概率意义。 必须用独立标签数据验证和校准。
- 误区:多次采样一致就一定正确。 多个样本可能复制同一个知识错误。
- 误区:全局一个阈值适合所有业务。 错误代价、语言和任务分布不同,阈值应分场景。
- 误区:校准完成后永久有效。 模型与数据漂移会改变分数—正确率关系。
- 追问:没有 logprob 怎么办? 使用采样一致、检索证据、验证器、模型分歧和自报分数的组合。
- 追问:怎样评价置信度? 看可靠性图、ECE、Brier Score,以及实际决策的风险—覆盖率曲线。
- 追问:高置信答案还要验证吗? 高风险动作仍需规则、权限和权威状态确认,置信度不能替代安全控制。
十、加强记忆
大模型置信度记住“先定义事件,再收集信号,然后校准,最后按风险决策”:token 概率、自报分数和采样一致性都只是弱信号,检索证据与确定性验证更接近正确性;用独立验证集把组合分数校准成概率含义,再用风险—覆盖率选择自动处理阈值。模型、Prompt 或数据一变就重新监控校准,且任何置信度都不能替代高风险操作的权限与验证。