概率输出、解码采样与不确定度底层图谱
从隐藏状态到 logits、再到概率分布、采样与结构化输出,并回答概率可不可信:熵、校准与不确定性
已并入:概率可靠性、熵与不确定度校准(第六节)、解码采样与结构化输出(第七节)。
Token IDs
词表坐标
→
Transformer
上下文表示
→
Hidden State
[batch, seq, hidden]
→
LM Head
hidden → vocab
→
Logits
[batch, seq, vocab]
→
Probability
softmax / logprob
| 对象 | 它是什么 | 典型 shape | 工程直觉 |
| Hidden state | Transformer 每个位置最后得到的上下文向量 | [batch, seq, hidden] | 它不是词,也不是答案,而是当前位置对上下文的内部表示 |
| LM head | 把 hidden 维度投影到 vocab 维度的输出层 | [hidden, vocab] | 每个 token 都会得到一个分数;词表越大,输出维度越大 |
| Logits | softmax 之前的原始分数 | [batch, seq, vocab] | 只能比较相对大小,还不能当作概率直接读 |
| Vocabulary axis | 所有候选 token 的离散坐标 | vocab_size | tokenizer 决定候选集合;禁词、bias、schema 约束都要落到 token 级 |
| Selected position | 通常用最后一个位置预测下一个 token | [batch, vocab] | 聊天模型不是一次生成整段,而是每一步预测下一个 token |
一句话:
语言模型最后并不是直接吐出文字,而是在词表坐标上给每个候选 token 打分;文字输出来自后续的概率归一化、采样和解码循环。
| 特性 | 含义 | 为什么重要 | 常见误解 |
| 相对性 | logits 的绝对值不如差值重要 | 第一名和第二名差距能反映候选竞争程度 | 把一个 logit 数字单独当置信度 |
| 可平移 | 所有 logits 同加一个常数,softmax 后概率不变 | 数值实现会先减最大值,避免指数溢出 | 以为 logits 必须落在固定范围 |
| 未归一化 | 还没有变成总和为 1 的分布 | 需要 softmax 或 log-softmax 才能得到概率 / logprob | 直接把 logit 当百分比 |
| 可被调制 | temperature、logit bias、mask、约束解码会改动它 | 产品参数和安全策略常常在 logits 层生效 | 以为 prompt 是唯一控制手段 |
| 词表依赖 | 每个分数对应一个具体 token id | 同一字符串可能拆成多个 token,控制必须对齐 tokenizer | 把“词”的控制误认为 token 控制 |
为什么输出层经常和 embedding 共享权重
很多语言模型会把输入 embedding 矩阵和输出 LM head 绑定或共享。直觉上,输入端把 token id 映射成向量,输出端则把隐藏向量投回 token 空间。这能减少参数量,也让输入输出共享同一个词表坐标系。
| 步骤 | 发生什么 | 要抓住的直觉 | 工程风险 |
| 指数化 | 把每个 logit 变成正数权重 | 差距会被指数放大,最高分候选更突出 | 大数指数可能溢出,需要数值稳定技巧 |
| 归一化 | 除以所有候选权重之和 | 所有 token 概率加起来等于 1 | 概率会随候选集合和 mask 改变 |
| 温度缩放 | softmax 前把 logits 除以 temperature | 低温让分布更尖,高温让分布更平 | 低温不保证正确,高温不等于创造力 |
| log-softmax | 直接得到 logprob | 训练和评测常用 log 概率,数值更稳定 | 不要先 softmax 再取 log 做低精度训练 |
温度低
分布更尖,top token 更容易被选中。适合格式严格、事实型、工具参数等稳定性优先场景,但不能修复缺证据或模型不知道的问题。
温度高
分布更平,低概率候选有更多机会出现。适合开放写作和探索,但会增加跑题、格式破坏和事实错误的概率。
温度为 0 的产品含义
通常表示走近似 greedy / deterministic 路径,而不是数学上的 softmax temperature 等于 0。不同服务实现可能有细节差异。
| 概念 | 它回答什么 | 训练 / 评测中怎么用 | 注意点 |
| Probability | 某个 token 在当前上下文下被选中的概率 | 解码、top tokens、候选比较 | 单 token 概率不等于整段答案正确 |
| Logprob | 概率取对数后的分数 | 累加序列分数、比较候选、计算困惑度 | 长度越长,logprob 累加通常越小,需要长度归一化 |
| NLL | 真实下一个 token 的负 logprob | 模型越不认为真实 token 该出现,NLL 越大 | 标签对齐、mask、padding 错了会污染损失 |
| Cross Entropy | 模型分布和目标分布之间的差距 | next-token prediction 的核心 loss | 常和 log-softmax 融合实现,避免数值不稳定 |
| Perplexity | 模型对序列平均有多“困惑” | 语言建模评估和数据分布比较 | 不能直接等同于任务质量、事实性或用户满意度 |
训练时到底在优化什么
最常见的语言模型训练目标是:给定前面的 token,最大化真实下一个 token 的 logprob。换成 loss 说法,就是最小化真实 token 的 negative log likelihood / cross entropy。模型不是被直接教“真理”,而是被训练成在上下文条件下预测训练分布里的下一个 token。
| 层级 | 怎么算 | 能说明什么 | 不能说明什么 |
| 单 token 概率 | 当前上下文下某个 token 的 softmax 概率 | 下一步候选的局部偏好 | 不能保证整句事实正确 |
| 序列 logprob | 逐 token logprob 相加 | 整段文本在模型分布下是否顺 | 不能直接比较不同长度、不同任务的答案质量 |
| 平均 logprob | 序列 logprob 按 token 数归一 | 减少长度偏置,适合候选重排 | 仍然不等于业务正确性 |
| Top tokens | 观察概率最高的若干候选 | 能看出模型在几个词之间犹豫什么 | 只看 top-1 会漏掉分布形状和不确定性 |
| Margin / entropy | 比较第一名差距或分布分散程度 | 可作为不确定性、路由和拒答信号之一 | 低熵也可能是稳定地错 |
最大坑:
高概率表示“在当前上下文和训练分布下更像下一步”,不表示“外部世界里一定为真”。事实性、权限、引用、工具执行和业务后果必须另接校验层。
这一节回答生成的概率可不可信:熵与不确定性、校准、两类不确定性,以及拒答追问与风险阈值。
Input
问题与上下文
→
Logits
候选 token 分数
→
Probability
softmax 分布
→
Uncertainty
熵与置信度
→
Decision
回答 / 拒答 / 升级
→
Feedback
评测与校准
| 环节 | 它是什么 | 容易误判的地方 | 工程上要看什么 |
| Logits | 模型对候选 token 的原始分数 | 高分只是条件概率高,不等于事实真实 | 输出头 / logprob、top tokens、margin、异常高置信错误 |
| Softmax | 把分数归一化成概率分布 | 概率会受温度、上下文和候选集合影响 | 分布形状、temperature、top-p / top-k |
| Entropy | 分布有多分散,选择有多不确定 | 低熵可能是确定,也可能是过度自信 | 熵、候选差距、任务类型分桶 |
| Confidence | 系统对输出正确性的把握 | 自然语言自信和统计置信不是一回事 | 置信分数、校准曲线、覆盖率 |
| Decision | 按风险阈值决定回答、追问、拒答或人工升级 | 一个阈值不能覆盖所有风险场景 | 风险等级、人工介入率、错放率 |
| Feedback | 用评测和线上反馈修正置信度 | 只看平均准确率会掩盖高风险长尾 | 可靠性图、分桶准确率、线上漂移 |
一句话:
概率分布告诉你“模型下一步更倾向于什么”,校准和评测才告诉你“这种倾向在真实任务里有多可信”。
| 概念 | 它回答的问题 | 不能推出什么 | 例子 |
| Token 概率 | 在当前上下文下,下一个 token 有多符合训练分布 | 不能直接推出句子事实正确 | 模型可能用高概率生成一个流畅但错误的年份 |
| 序列概率 | 整段输出在模型分布下是否自然 | 不能直接等同于任务成功 | 法律、医学、代码任务里,流畅答案也可能误导 |
| 自报置信 | 模型用语言表达自己有多确定 | 不能当作可信概率使用 | “我确定”可能只是对齐训练学到的表达风格 |
| 检索相似度 | 材料和问题在向量空间里是否接近 | 不能保证材料足够、权限正确或答案忠实 | RAG 命中相似文档,但答案引用了无关段落 |
| Judge 分数 | 评分器认为回答好不好 | 不能替代任务真实后果 | Judge 偏好更完整的解释,却漏掉关键错误 |
为什么 LLM 的概率更难读
LLM 输出是逐 token 生成,单个 token 概率和整段答案正确性之间隔着推理、检索、格式、工具、任务约束和外部事实。工程上不能只看某一步概率,而要把概率信号接到评测、引用、规则校验和风险策略上。
低熵:候选很集中
- 模型明显偏向少数候选 token
- 适合格式固定、事实明确、模式强的场景
- 但低熵也可能来自上下文诱导、模板化或过度自信
高熵:候选很分散
- 模型在多个候选之间摇摆
- 常见于开放创作、证据不足、歧义问题或长尾知识
- 高风险任务里应触发追问、检索或人工升级
Margin:第一名和第二名差多少
- 差距大说明模型选择更明确
- 差距小说明候选之间竞争激烈
- 可用于分类、路由、工具选择和拒答策略
Self-consistency:多次采样是否一致
- 多个路径独立得到同一答案,可能提升信心
- 但一致错误仍然存在,尤其在训练偏差和污染问题上
- 适合接验证器、检索证据和任务评分一起用
最大坑:
熵低不自动等于可信。模型在熟悉的错误模式、提示诱导、错误前提和污染样本上,也可能非常确定地错。
| 校准状态 | 表现 | 风险 | 处理方式 |
| 校准良好 | 标为 80% 置信的样本,长期看约 80% 正确 | 仍需按业务风险设阈值 | 保留分桶监控,按场景调阈值 |
| 过度自信 | 置信分数高,但真实准确率低 | 高风险场景最危险,容易把错误包装成确定结论 | 温度校准、拒答策略、引用校验、人工复核 |
| 过度保守 | 真实能答对,但置信分数偏低 | 拒答过多、人工负担高、体验差 | 按任务分桶调阈值,改进数据和评分器 |
| 分布漂移 | 离线校准好,线上变差 | 新用户、新领域、新时间段下失效 | 线上监控、抽样复核、漂移告警、定期重校准 |
| 分桶不均 | 平均校准不错,某些语言、领域或人群很差 | 长尾风险被平均数掩盖 | 按语言、领域、难度、风险等级拆指标 |
校准不是让模型更聪明,而是让把握更诚实
校准不能凭空补事实、补推理或补工具能力。它的价值是让系统知道什么时候该回答、什么时候该追问、什么时候该引用证据、什么时候该拒答或交给人。
| 类型 | 含义 | AI 场景里的表现 | 更适合的动作 |
| Aleatoric uncertainty | 世界本身有噪声或答案本来不唯一 | 开放写作、用户偏好、图像模糊、未来结果预测 | 给范围、给假设、让用户选择、表达不确定 |
| Epistemic uncertainty | 系统知道得不够,材料不足或模型能力不足 | 冷门事实、最新信息、私有知识、专业领域长尾 | 检索、询问澄清、调用工具、人工升级 |
| Ambiguity | 问题本身有多种解释 | “帮我优化这个”但没有目标、上下文或约束 | 追问关键约束,避免假装唯一答案 |
| Distribution shift | 当前输入和训练 / 评测分布不同 | 新政策、新 API、新业务流程、特殊领域术语 | 外部验证、版本化评测、灰度监控 |
实用判断:
能通过补证据解决的,多半是知识缺口;不能通过补证据消除的,多半需要表达范围、假设和风险,而不是强行给确定答案。
| 决策动作 | 触发条件 | 适合场景 | 注意点 |
| 直接回答 | 低风险、证据足、校准表现稳定 | 一般解释、低风险摘要、格式转换 | 仍要保留可追踪日志 |
| 给出不确定表达 | 答案可能有范围或多种解释 | 预测、建议、开放分析、模糊图像理解 | 不要用含糊措辞逃避关键结论 |
| 追问澄清 | 用户意图、约束或风险等级不明确 | 业务流程、法律医学边界、复杂配置 | 追问要少而关键,避免把体验拖死 |
| 检索 / 调工具 | 需要外部事实、私有数据或实时状态 | RAG、数据库查询、代码仓库、订单状态 | 工具结果也要校验权限和来源 |
| 拒答 / 降级 | 风险高、证据不足、策略禁止或置信太低 | 高风险建议、危险操作、敏感权限 | 拒答要说明边界,并给安全替代路径 |
| 人工升级 | 自动化错误代价高或需要责任主体 | 医疗、法律、财务、生产变更、账户权限 | 把上下文、证据和模型判断一起交给人 |
阈值不是一个全局数字
同样 70% 的把握,在闲聊解释里可能够用,在处方、转账、删库、法律结论里远远不够。生产 AI 系统应该按任务风险、用户影响、可恢复性和审计要求设置不同阈值。
| 相邻主题 | 关系 | 本页补上的视角 | 继续深入 |
| 能力边界 / 幻觉 | 幻觉常发生在模型把高概率文本当成事实输出时 | 解释为什么“看起来确定”不等于“知道” | 能力边界 / 幻觉 |
| 因果 / 反事实 | 概率和校准回答“有多不确定”,因果问题回答“改变哪个变量才会改变结果” | 解释为什么高置信相关性仍不能直接指导干预 | 因果推理 / 反事实 / 干预 |
| Logits / Softmax | 输出头把 hidden state 映射成词表分数,再归一化成 token 分布 | 解释本页所说概率信号从哪里来、为什么只是 token 条件分布 | Logits / Softmax / 概率输出 |
| 解码 / 采样 | 采样参数改变概率分布转成文本的方式 | 解释分布形状、熵和置信信号怎样影响可靠性 | 解码 / 采样 |
| 模型评测 | 评测告诉我们输出在任务上是否正确 | 解释怎样把置信分数和真实准确率对齐 | 模型评测 / Eval |
| 安全护栏 | 高风险场景需要拒答、人工确认和策略拦截 | 解释风险阈值和不确定性怎样进入护栏策略 | AI 安全 / 护栏 |
| RAG / 工具调用 | 外部证据和工具能降低知识缺口,但会引入新错误 | 解释什么时候该补证据、什么时候该升级或拒答 | RAG、Tool Calling |
建立校准集
按任务、语言、领域、难度和风险等级准备样本,记录模型置信、真实结果和人工判定。
分桶看可靠性
不要只看平均准确率;看置信区间、可靠性图、错误类型和高风险分桶。
选择性预测
系统不必每题都答;低把握时追问、检索、降级或交给人,追求可控覆盖率。
按风险路由
低风险走快速模型,高风险走检索、推理模型、规则校验、人工确认或禁止自动化。
监控漂移
上线后跟踪置信分布、拒答率、人工升级率、投诉、事故和领域分布变化。
记录证据链
保留输入、上下文、检索材料、工具结果、模型版本、置信信号和最终决策,支持复盘。
误区:概率最高的答案就是正确答案
最高概率只是模型分布下最顺的候选,不保证事实、推理、权限或业务规则正确。
误区:模型说自己不确定,就代表风险低
自报不确定是文本行为,真正风险要看任务后果、证据、评测和策略阈值。
误区:温度调低就能消除幻觉
低温会减少随机性,但如果上下文缺证据或模型记错,仍可能稳定地产生错误。
误区:平均准确率高就可以自动化
自动化看的是长尾错误、错放成本、可恢复性和审计责任,不只是平均分。
误区:拒答越少越好
拒答过少可能把高风险错误放出去;好系统追求合适覆盖率,而不是盲目全答。
误区:校准一次就结束
模型版本、用户群、业务流程和外部知识都会变,校准需要持续监控和重做。
这一节回答概率分布怎样变成具体 token:贪心、温度、top-k / top-p、停止条件、结构化输出与 Logit Bias。
上下文状态
hidden state
→
Logits
每个 token 的分数
→
Softmax
变成概率分布
→
采样策略
temperature / top-p
→
选中 token
追加进上下文
→
循环生成
直到停止
| 概念 | 它是什么 | 工程直觉 | 常见误解 |
| Logits | 模型对词表里每个 token 给出的原始分数 | 还不是概率,只是下一步候选的相对偏好;禁词、logit bias 和结构约束都受 tokenizer 边界影响,细节见 Logits / Softmax | 以为最高 logit 就是唯一答案 |
| Softmax | 把 logits 转成概率分布 | 让系统能在多个候选 token 中按概率选择 | 以为概率高就代表事实正确 |
| Decode loop | 每次只生成一个 token,再把它放回上下文继续下一步 | LLM 的输出是逐步滚出来的,不是一次性写完整篇 | 以为模型先想好全文再输出 |
| Stopping | 遇到结束 token、长度上限、停词或结构完成时停止 | 停止条件是产品稳定性的一部分 | 只调 Prompt,不管 max tokens 和 stop sequence |
| 策略 | 做法 | 适合什么 | 风险 |
| Greedy | 每一步都选概率最高的 token | 格式严格、确定性强、低风险短输出 | 容易机械、局部最优,开放写作不自然 |
| Temperature | 调平或调尖概率分布 | 控制随机性;低温稳,高温发散 | 高温可能胡说,低温也不能保证正确 |
| Top-k | 只在概率最高的 k 个 token 里采样 | 限制候选范围,减少极低概率乱跳 | k 固定,遇到不同分布时不够自适应 |
| Top-p / Nucleus | 只在累计概率达到 p 的候选集合里采样 | 更自适应,常用于开放对话和写作 | p 太高会放进噪声,太低会变死板 |
| Beam Search | 保留多个高分候选序列继续扩展 | 翻译、摘要等较传统序列任务 | 在开放生成里可能重复、乏味,成本更高 |
事实型任务
优先低温、强约束、证据引用和不可回答策略。随机性不能补事实缺口,事实缺口要靠 RAG、工具或人工校验。
创意型任务
可以适当提高温度或 top-p,让模型探索更多表达;但仍要用主题、风格、长度和禁区约束收住边界。
工具参数任务
优先结构化输出、schema 约束和低随机性。参数错一个字段,后面执行层就可能失败或越权。
关键判断:
Temperature 控制的是概率分布的尖锐程度,不是“聪明程度”。高温可能带来新颖表达,也可能放大低概率错误;低温能提高稳定性,但不等于事实更可靠。
| 现象 | 可能原因 | 治理动作 |
| 同一个问题多次答案不同 | 采样随机性、上下文轻微变化、模型版本变化 | 降低温度、固定 seed、记录模型版本和完整 Prompt |
| 答案越写越偏 | 高温、输出太长、缺少中间约束 | 分段生成、加检查点、限制 max tokens、增加 Eval |
| 格式偶发错误 | 自然语言生成不等于严格解析器 | 用 JSON Schema、约束解码、解析失败重试和回退 |
| 模型重复句子 | 解码陷入局部循环或惩罚参数不合适 | 调整重复惩罚、停止条件、输出长度和提示结构 |
结束 token
模型学会在合适位置产生结束标记,但它不总是可靠。长文、代码块、列表和 JSON 尤其需要额外停止治理。
Max tokens
这是成本和延迟的硬刹车。上限太低会截断答案,上限太高会拖慢 decode 并放大跑题风险。
Stop sequence
适合模板化输出和多段协议,但要避免停词和正文内容冲突,否则会提前截断。
为什么输出长度也是系统设计
Decode 阶段逐 token 生成,输出越长,总耗时和费用越高。面向用户的产品要把“回答多详细”变成明确设计:默认简洁、必要时展开、后台任务才允许长输出。
| 层级 | 做法 | 可靠性 | 适合场景 |
| Prompt 要求格式 | 让模型“请输出 JSON” | 最低,容易多解释、漏字段、引号错误 | 原型验证、低风险内部工具 |
| 解析后修复 | 输出后用解析器校验,失败再让模型修 | 中等,依赖重试和修复质量 | 批处理、非实时任务、可容忍重试 |
| JSON Schema / response format | 声明字段、类型、枚举、必填项 | 较高,能把格式约束显式化 | 业务表单、抽取、分类、工具参数 |
| Constrained decoding | 解码时只允许合法 token 序列 | 最高的格式约束,但表达空间受限 | 严格 JSON、DSL、SQL 片段、协议输出 |
| 工具调用协议 | 让模型选择函数并生成参数 | 格式更稳,但执行风险转到工具层 | Agent、工作流、数据查询、外部动作 |
结构化输出的底线:
能被解析只是第一关。真正生产可用还要校验字段语义、权限、枚举、数值范围、幂等键和审计上下文。
| 手段 | 能做什么 | 不能做什么 | 注意点 |
| Logit bias | 提高或降低某些 token 出现概率 | 不能保证复杂策略,也不能真正理解业务风险 | 适合轻量词形控制,不适合当安全系统主体 |
| 禁词表 | 阻止明确词面输出 | 挡不住同义改写、编码绕过和上下文含义变化 | 容易误伤,需要和语义安全模型配合 |
| 安全重写 | 把危险输出改成安全替代 | 不能替代源头拒答、权限控制和人工升级 | 要保留原始 trace,便于审计和复盘 |
| 后置分类器 | 对输出做风险判断和拦截 | 可能漏判,也可能延迟用户反馈 | 要看漏放率、误拒率和高风险样本召回 |
固定变量
评测模型、Prompt、RAG、采样参数时要分开控制。否则你不知道质量变化来自模型能力,还是温度、输出长度或 schema 变化。
看稳定性
同一输入多跑几次,观察答案一致性、格式合法率、引用稳定性和坏例复发率。一次通过不代表线上稳定。
看代价
采样和结构化输出会影响输出 token、重试次数、解析失败率和端到端延迟。质量收益必须和成本一起看。
| 任务 | 建议默认 | 重点监控 |
| 分类 / 抽取 | 低温、schema、枚举、严格校验 | 字段缺失率、解析失败率、误分类 |
| 客服问答 | 低到中温、引用证据、长度上限 | 幻觉率、不可回答识别、用户追问率 |
| 写作 / 头脑风暴 | 中温、top-p、风格约束 | 重复度、跑题率、用户采纳率 |
| 代码补全 | 低温、短输出、语法和测试验证 | 编译率、测试通过率、补全延迟 |
| Agent 工具调用 | 低温、工具 schema、权限确认 | 工具选择准确率、参数合法率、越权拦截 |
| 决策节点 | 必须记录的字段 | 用来排查什么 |
| 采样配置 | decoder_config_id、temperature、top_p、top_k、seed、max_tokens | 线上输出不稳定、评测不可复现、长度异常或成本漂移 |
| 候选裁剪 | candidate_count_before、candidate_count_after、filtered_by_top_p、filtered_by_schema | 候选 token 是被概率截断、schema 约束、禁词还是安全策略过滤? |
| token 选择 | step_index、selected_token_id、selected_logprob、rank_before_sampling、random_draw | 这一步是确定性选择,还是随机采样刚好选中了低概率路径? |
| 停止与修复 | stop_rule_id、finish_reason、parse_error、repair_attempt、continuation_point | 输出结束、截断、修复、续写和格式漂移分别发生在哪里? |
| 回归连接 | generation_id、output_hash、schema_version、eval_case_id、trace_id | 改采样参数、schema 或模型版本后,坏例能否稳定复现和比较? |
误区:低温就不会幻觉
低温只让输出更确定。若上下文没有事实依据,模型仍可能稳定地给出错误答案。
误区:高温等于更有创造力
高温只是放大低概率候选。创造力还依赖任务框架、素材、评价标准和迭代机制。
误区:输出 JSON 就能直接执行
JSON 合法不代表业务合法。执行前仍要做权限、范围、幂等、风险和人工确认检查。
误区:采样参数只影响文风
它还会影响格式稳定性、引用一致性、工具参数、评测复现性、成本和延迟。
解码与采样
temperature、top-k、top-p、beam search 和停止条件都建立在 logits / probability 之上,决定下一步选哪个 token。
结构化输出
JSON、函数参数、枚举值和 DSL 都要落回 token 序列;schema 或约束解码本质上是在候选 token 空间里收窄合法路径。
分类与路由
当输出空间很小且标签 token 稳定时,可以用候选 logprob 做分类、意图识别或模型路由,但要做校准和回归测试。
风险与拒答
top token margin、entropy、自一致性和 logprob 可作为风险信号,但不能单独决定高风险业务是否放行。
训练与微调
cross entropy、label mask、assistant-only loss、packing 和 padding 都会改变哪些 token 参与学习。
评测与观测
logprob、困惑度、候选分布和异常高置信错误可进入离线评测与线上 trace,帮助定位模型为什么这样答。
| 证据节点 | 必须记录的字段 | 用来判断什么 |
| 候选分布 | generation_id、step_index、top_tokens、top_logprobs、entropy | 模型是在多个候选间犹豫,还是高置信地产生错误 token? |
| 控制参数 | temperature、top_p、top_k、logit_bias、repetition_penalty | 输出变化来自模型能力、上下文变化,还是采样参数和 bias? |
| 结构约束 | schema_id、allowed_token_set、blocked_token_set、constraint_violation | JSON、工具参数、枚举和 DSL 为什么解析失败或被约束解码卡住? |
| 风险信号 | confidence_margin、refusal_token_score、unsafe_token_score、calibration_bucket | logprob 能否作为风险线索,哪些场景必须交给外部校验或人工门? |
| 输出血缘 | hidden_state_snapshot_id、decoder_step_id、finish_reason、trace_id | 最终文本里的某个 token 能否追溯到当时的分布和控制决策? |
| 症状 | 优先怀疑 | 先检查什么 | 继续下钻 |
| 模型输出总是偏某个词 | logit bias、模板诱导、数据偏置或温度过低 | top tokens、原始 prompt、生成参数、tokenizer 切分 | 解码 / 采样 |
| 分类 logprob 看起来不稳定 | 标签词被切成多个 token,或候选词不等价 | 每个标签的 token ids、长度归一、label verbalizer | Tokenizer / 词表 |
| 训练 loss 异常高 | label shift、mask、padding 或 vocab 对不齐 | input_ids / labels 对齐、ignore_index、特殊 token | 优化器 / Loss |
| 低温仍然幻觉 | 模型缺知识、上下文缺证据或问题前提错误 | 检索证据、引用一致性、不可回答样本 | 能力边界 / 幻觉 |
| 结构化输出偶发非法 | 自然语言采样没有被严格约束 | schema、约束解码、解析失败重试、stop sequence | Tool Calling |
误区:logits 越大模型越确信
logits 要看相对差距和归一化后的分布,单个原始分数没有稳定可比的置信含义。
误区:softmax 概率就是事实概率
softmax 概率是模型条件分布里的 token 概率,不是外部世界命题为真的概率。
误区:只要看 top-1 就够了
top-1 丢掉了候选差距、熵、备选路径和不确定性,很多调试信息都在 top tokens 里。
误区:cross entropy 低就代表产品好
语言建模 loss 只是基础目标;产品还要看事实性、安全、工具执行、延迟、成本和用户任务成功。
这张图在主线里的位置
Tokenizer 定义 token 坐标,Transformer 生成上下文向量,LM head 把向量投回词表 logits,softmax / logprob 把分数变成训练损失和候选分布。再往后,概率校准页讨论这些信号能不能支撑可信决策,解码页讨论怎样选择 token,评测页讨论最终输出在任务上是否真的可用。