Daily Technical Tracking

每周科技追踪 · 10月第3周

2026年10月第3周 · 技术 / 产品 / 公司

每日追踪
← 返回首页

Jev:一次前向算出校准概率

Jev 做的事可以用一句话概括:把状态变成概率。输入一段共享 state(字符串或 JSON)和若干运行时定义的问题,它直接返回每个选项的概率分布,整个过程不生成任何输出 token,全部结果来自一次前向。

三种题型覆盖常见的判断场景:choice 是候选集合上的分布,score 是有序等级上的分布与期望,noul 直接给出「是」的概率。与传统分类器和大模型相比,它在三点上同时不失:速度接近 BERT 时代的编码器分类,上下文理解能力接近大模型,而概率输出是校准过的——模型说 60%,现实里这件事就大约发生 60%。BERT 时代的 softmax 常给出 0.9999 与 0.9998 这样的对比,两个数字的差距没有概率含义,下游只能退化成排序器加手工调阈值。

两条开源复现给出了不同路线。Laya 走编码器:模板里给每个选项前面插一个 [MASK],序列形如 [CLS] 题型与题干 [SEP] 各选项 [SEP] 完整 state [SEP],MASK 位置在编码器里能双向看到问题、本选项描述、其他选项描述和完整 state,因此该位置的隐状态天然是「当前语境下此选项的综合表示」;打分只读 MASK 位置,按题型分别归一化,再乘一个按题型与选项数分桶拟合的温度系数。仅这一步后验温度分桶,就把 Laya 的期望校准误差从 0.466 压到 0.081。它还会用 [CLS] 隐状态加熵等四个统计量预测置信度,低于阈值就转人工。

Kev 走解码器:把 Qwen 改造成并行决策机,序列是 state 在前、各题依次排列、每题以 <decide> 结尾,另外维护 seg、pos、opt 等并行数组记录每个 token 的身份。默认因果掩码会让第二题的 <decide> 看到第一题的选项、污染概率,于是改用 block-causal 掩码把题目彼此屏蔽,还能再开选项隔离让各选项互相看不见。读概率用 pointer head:以 <decide> 的隐状态为 query,各 </opt> 的隐状态为 key 做点积,每个选项的 logit 独立计算,选项数不会稀释绝对量级,因此比联合 softmax 更抗选项数变化。Kev 已被阿里云采用上线。

训练要解决五个问题:校准,用 soft label 加 soft 交叉熵,再用验证集分桶拟合温度;顺序无关,打乱选项后要求分布经逆置换后一致,加置换 KL;有序打分,用 RPS 累积分布平方差代替交叉熵;选项数影响,靠分桶温度弥补,跨选项数比较概率本身就不合理;无正确答案,加 None-of-Above 选项,或用置信度阈值直接拒答。落到 harness 上,它适合做技能检索、MCP 检索与 effort 路由这类「选一个」的判断,也适合做输入护栏与引用核验——这些环节要的是快速、可校准的判断,而不是又一段生成。