☰
Logits 到底是什么
2026/10/9 19:34:55 网站建设 项目流程

范围:解释 LLM 输出的 logits 是什么、它如何被 Jev(TypeSafe AI)及浏览器 Agent 生态(Browser-Use 的 jev-ultrafast、APUS fast-browser-use)用作直接决策数据,以及为什么"一次前向 + logits 比较"能替代自回归生成。


一、一句话结论

logits 是大模型最后一层输出的原始分数向量——模型对"下一个 token 该是谁"这件事,给词表里每个候选打的分数。它不是概率(有正有负、不归一),但和概率单调对应:比大小关系完全一致,softmax 只是把同一组分数压成 0~1 且总和为 1。

Jev 类架构(以及 jev-ultrafast、fast-browser-use 等复刻实现)的核心动作,就是把这组本来只是生成过程副产品的内部数值,提升为最终答案:把合法候选映射到单个 token,一次前向,直接比较候选 token 的 logits——答案、概率、置信度全都在这一次前向里拿齐。

二、LLM 的输出链条:logits 在哪一环

输入 token 序列 → Transformer 前向计算(prefill / decode) → 输出一个 logits 向量(长度 = 词表大小,Qwen 约 15 万维) → 对 logits 做 softmax(归一化) → 得到"下一个 token 是词表里每个词"的概率分布 → 采样选一个 token,接回输入,再算下一轮(自回归生成循环)

要点:

概念说明
logits最后一层线性投影的原始未归一化分数,一个输出位置一个向量
softmax(logits)把分数变成概率分布:非负、总和 1
logproblog(softmax),OpenAI/vLLM API 里logprobs参数返回的就是它
自回归每生成 1 个 token 都要再跑一次前向;N 个 token 的回复 = N 次解码

关键洞察:模型"想说什么"的信息,在生成第一个 token 之前就已经完整编码在 logits 里了。普通聊天里我们只关心采样结果;但如果是封闭选择题,这一步就足以出答案。

三、为什么 logits 能直接当决策数据

前提是候选答案有限且全部在词表里(“点 A 还是点 B?”“是/否?”“1~5 打几分?”)。此时可以三步走:

  1. 掩码(mask):把词表 ~15 万维 logits 中不属于合法候选的维度全部砍掉,只留候选对应的几十维;
  2. 局部 softmax:只在候选集合上归一化,得到概率分布P(A)=0.12, P(B)=0.85, P(C)=0.03;
  3. 直接比较:argmax 即答案;分布本身(经校准后)即置信度。

这就是 Jev 的Choice基元的底层实现,也是其"零 token 输出、输出免费"卖点的来源——没有生成,就没有输出 token 计费。

Jev 调研里记的"末位 logits 掩码投影到候选槽位 + 局部 Softmax"一句话,完整展开就是这套流程。

四、浏览器 Agent 里的具体做法(jev-ultrafast / fast-browser-use)

浏览器 Agent 的经典痛点:每次决定"点哪个元素",让 LLM 生成一段文本(如{"action":"click","element":"#submit-btn"}),要连续解码几十个 token,慢且 JSON 格式容易出错、需要重试修复。

复刻 Jev 的路线:

  1. 预处理:解析页面得到所有可交互元素(合法候选集),每个元素映射到词表里的一个特定 token(如给元素 i 复用/新增特殊 token<elem_i>);
  2. 单次前向:页面文本 + 任务指令喂给模型,只跑一次 prefill;
  3. 读 logits:在输出位置比较各候选元素 token 的 logits——最高分即目标元素,softmax 后的分布即置信度。
收益原因
快一个数量级省掉整个解码循环,延迟从 O(生成 token 数) 降到 O(1) 次前向
格式永远正确掩码后非法元素 ID 在数学上概率为 0,不可能输出非法动作,无需修复/重试
自带置信度候选间 logits 差距大 = 模型确定;差距小 = 犹豫 → 可升级到大模型(System 2)或暂停人工接管,这正是 Jev “confidence-gated routing” 的底层数据
多问题并行一次前向的 logits 可同时投影到多组候选(“该点哪里?”+“是弹窗吗?”),共享同一次前向计算

五、30 秒自测:亲眼看到 logits

用本地 vLLM 端点(http://vllm:38081/v1,OpenAI 兼容 API)即可:请求体加"logprobs": true,响应里每个 token 带logprob(= log-softmax 值)和 top-k 候选的 logprob。那组数字就是模型每一步真实"考虑过哪些词、有多犹豫"的完整记录。

Jev 做的事情,本质就是把这个只用于观察/采样的内部量,直接当作产品输出。

六、边界与注意点

  • 只对封闭候选有效:开放式生成题无法掩码投影,仍需自回归解码;
  • 候选必须可离散化:每个选项要能对应词表 token(或新增特殊 token),连续值/自由文本不行;
  • 校准是另一回事:logits 比较给出的是相对倾向,"概率 0.85 到底可不可信"取决于训练时的校准(Jev 用 RLCD 优化 ECE,开源侧 NanoJev/Laya 各有做法);
  • 温度/解码参数影响分布形态:比较相对大小时 softmax 前的 logits 已足够,但要输出"校准概率"需按训练口径固定参数。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询