Jev 是一类"只判断、不生成"的模型,任务形态和情感分析高度匹配,成本和延迟也很吸引人;但它目前英语为主,而我们的评论是中文弹幕和带黑话的电商评论,这是硬风险。我们倾向于现阶段不替换,先做一轮带校准指标的中文影子评测,再决定要不要局部引入。
下面展开。
01 Transformer 与机器翻译
提出 Transformer 的论文是《Attention Is All You Need》,针对的任务是机器翻译,所以原始结构是两段式的:Encoder 读取源语言句子,输出一组上下文向量;Decoder 通过 cross-attention 读取这组向量,逐词生成目标语言句子。Encoder 对源句子只跑一次,Decoder 每生成一个词跑一次,生成的词接回输入再生成下一个。
两段式框架不是这篇论文的贡献,RNN 时代的 seq2seq 已经长这样。它的贡献是用注意力完全取代了循环结构。循环网络逐词读入,每一步的状态由上一步传下来,第 n 个词必须等前 n−1 个词处理完;注意力则是处理每个词时直接查看句子里所有其他词,按相关程度加权汇总,所有位置可以同时计算。一层注意力加一层前馈网络构成一个基本单元,堆叠数十层就是一个 Transformer。
这个"所有位置同时计算"的性质,让 GPU 得以充分利用,后来模型规模扩展到千亿参数,工程前提就在这里。
Encoder 和 Decoder 的差别也体现在注意力上:Encoder 处理源句子时每个位置都能看到整句,注意力是双向的;Decoder 生成时每个位置只能看到自身及之前的内容,注意力是因果的。记住这对区别,后面所有路线分化都从它来。
02 三条路线的分化
2018 年前后,研究者发现 Transformer 的两个部件可以拆开单独使用,并且各自适合不同的预训练任务。由此形成三条路线。它们在层结构上几乎相同,实质差异只有两点:注意力的可见范围(读取输入时能否看到后文),和预训练任务(训练时做的是填空还是续写)。
| 路线 | 代表 | 可见范围 | 预训练任务 |
|---|---|---|---|
| Encoder-only | BERT(2018.10) | 双向 | 完形填空:遮住部分词,依据前后文还原 |
| Encoder-Decoder | T5(2019.10) | 双向 + 因果 | 遮住一段话,由 Decoder 补出来 |
| Decoder-only | GPT-1(2018.6) | 因果 | 续写:给定前文,预测下一个词 |
顺带澄清一个容易混淆的名称:Decoder-only 模型里的 Decoder 已经不包含 cross-attention(因为没有 Encoder 可供读取),它在结构上等价于一个施加了因果掩码的 Encoder,沿用 Decoder 之名只是历史原因。
Encoder-only 路线后来退出了通用能力的竞争,但没有死:一次前向、毫秒级延迟的特点,让它在检索、推荐、内容审核这类高吞吐判别场景里被广泛使用,2024 年发布的 ModernBERT 是这条路线的当代版本。它的使用方式是"预训练 + 微调"——预训练得到的 BERT 本身只会填空,要让它做某个具体判断,需要在输出端接一个分类头,用该任务的标注数据微调整个网络。微调后的模型读一次输入、直接输出各类别概率,但它只会这一个任务,类别集合在训练时就固定了,换任务就要重新标注、重新微调。
这一点对我们后面的选型讨论直接相关:情感分析恰好就是 BERT 类模型最擅长的那种"固定类别、标注充足"的任务。
03 Decoder-only 为什么成为主流
对 Decoder-only 模型而言,"理解输入"和"生成输出"并不对应两个网络,而是同一个网络在推理时的两个阶段:
- prefill:整段 prompt 一次性输入,所有 token 并行计算,各层的键、值向量存入 KV cache。这一阶段计算密集,对应用户感知到的首 token 延迟。
- decode:基于 KV cache 逐 token 生成,每生成一个 token 就把它的键、值追加进缓存。这一阶段串行且访存密集,每步都要读全部权重与缓存,对应用户感知到的生成速度。
"输出读取输入"这件事在这里同样发生,只是不通过 cross-attention,而是普通的自注意力:回答的每个 token 与 prompt 处于同一条序列,直接查看 prompt 各位置即可。代价是 prompt 内部只能单向可见,但数十层堆叠之后,末尾位置已经聚合了前文信息,实践中这一限制没有成为明显短板。
它胜出的原因,原文归纳为三条,我认为都站得住:
- 训练信号更密集。 续写任务在句子的每个位置上都能出一道题,每个词都是预测目标;填空任务只能在被遮住的少数位置出题。同样一批文本,前者提供的训练信号多得多。
- 任务形态统一。 对话、代码补全、思维链推理、工具调用,都可以表述为"在同一序列上继续生成",不需要为每类任务重新定义输入输出边界。GPT-3(2020,175B)展示的上下文学习能力——只在 prompt 里给几个示例就能完成新任务——正是这种统一带来的。
- KV cache 可以复用。 因果掩码保证已处理 token 的键、值不受后续内容影响,多轮对话和 agent 循环只需追加;双向 Encoder 不具备这一性质,每次新增输入都要重算。
Wang 等人 2022 年的系统对比给过一个经验结论:只做大规模无监督预训练、不做针对性微调时,Decoder-only 配合续写目标的零样本泛化能力最强;双向可见性配合填空的优势要在多任务微调之后才体现。而行业砸算力的方向恰好是前者。
04 后训练与被破坏的校准
ChatGPT 的对话能力并非来自结构变化,而是预训练之后的若干轮后训练。2024 年之后的推理模型(OpenAI o1、DeepSeek-R1)同样没改架构,而是用强化学习让模型在给出答案前先生成一段较长的思考过程,代价是单次回答延迟从秒级涨到分钟级。
这一段里对我们最有用的信息是 RLHF 的副作用。RLHF 的做法是:人对模型的多个回答排序,训练一个奖励模型去拟合人的偏好,再用强化学习使模型输出向高奖励方向偏移。这带来两个已被证实的副作用:
- 校准性下降。 OpenAI 在 GPT-4 技术报告里给过对照:预训练模型的置信度与实际正确率基本一致,自称八成把握的题目约有八成答对;经过后训练,这种一致性明显变差。
- 过度自信。 因为标注者天然偏好语气确定的回答。
换句话说,我们平时从 LLM 输出里拿到的"概率",在后训练之后已经不是可以拿去做工程决策的量。 这是 Jev 存在的直接动机。
05 前沿模型
以 2026 年的两个开源模型为例:9 月发布的 DeepSeek-V4.1-Flash 和 8 月开源的 Qwen3.8-27B,仍然是自回归、逐 token 生成的 Transformer,prefill/decode 两阶段和后训练流程原样适用。近几年的架构创新没有动这个骨架,而是集中在骨架内部,目标一致:同等能力下降低计算量与显存占用。变化集中在两处:
- 前馈网络改为 MoE。 每层前馈网络拆成数百个子网络,每个 token 只激活其中少数几个,总参数量与每 token 计算量解耦。V4.1-Flash 总参数 552B、每 token 激活 16B;Qwen3.8-27B 则是 27B 全激活的密集模型。
- KV cache 压缩。 长上下文与 agent 场景下,缓存占用已经超过权重本身。DeepSeek 用低维潜向量压缩加稀疏选择,并在 V4.1-Flash 里把前 20 层做成因果 encoder、后 20 层的键值由其投影得到,prefill 只需跑一半网络;Qwen 自 Qwen3-Next 起把每 4 层中的 3 层换成线性注意力(Gated DeltaNet),用固定大小的状态替代逐 token 缓存。
一个辨析:判断一个模型属于哪条路线,看的不是名称,而是两点——注意力是否为因果掩码,结果是否由逐 token 生成得到。DeepSeek 和 Qwen 在这两点上与 GPT-3 完全一致;Jev 的不同在第二点。
06 Jev:把"判断"单独做成一类模型
为什么会有它
TypeSafe AI 在 2026 年 9 月 15 日发布 Jev。创始人 Diogo Almeida 是 InstructGPT 论文的作者之一,曾在 OpenAI 负责后训练。他们发布文章的第一句话是:"Models have been superhuman at chat for years, so where is all the automation?"——模型聊天早就超人了,自动化在哪?
他们的回答直指上一节的问题:RLHF 训练出的模型从设计上就是给人当助手的,奖励模型拟合的是评分者的偏好,模型学到的是让回答看起来正确,而不是让概率反映真实正确率。一个 95% 情况下能完成任务的模型,如果无法指出剩下 5% 在哪,就没法用于无人值守的自动化。
TypeSafe 把自己的方法 RLCD(Reinforcement Learning for Calibrated Decisions)与 RLHF、RLVR 并列为第三种后训练范式:RLHF 优化人类偏好,RLVR 优化可验证奖励,RLCD 优化校准的决策。"System One"这个命名取自卡尼曼的快慢思考框架:LLM 是慢的系统二,Jev 定位为快的系统一。
三种原语
每次请求提供一段 state(待判断的材料,可以是字符串、JSON 对象或数组),再附上任意数量的问题。问题限定为三种原语:
| 原语 | 问题类型 | 返回 | 例子 |
|---|---|---|---|
| Choice | 从最多 255 个选项中选一个 | 各选项概率 + 置信度 | 这张工单该交给哪个团队 |
| Score | 在 2–10 个有序等级中评级 | 概率加权的分数 | 客户的不满程度 |
| Noul | 判断一个陈述是否成立 | 一个 0–1 的概率 | 这条消息是否紧急 |
官方文档的例子,对同一条客服消息同时问三个问题,返回的是每个问题上的概率分布,不是文本:
// 请求
{
"state": "Hi, I've been trying to connect my Stripe account for 3 days
and the integration keeps failing. I'm losing sales. Please help ASAP.",
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle this",
"criteria": { "billing": "…", "technical": "…", "sales": "…" }
},
"frustration": {
"type": "score",
"instructions": "How frustrated the customer appears",
"criteria": ["Calm", "Frustrated but civil", "Very angry"]
},
"is_urgent": {
"type": "noul",
"instructions": "The message conveys urgency"
}
}
}
// 响应
{
"answers": {
"department": {
"choice": "technical",
"confidence": 0.78,
"probabilities": { "technical": 0.85, "billing": 0.15, "sales": 0.0 }
},
"frustration": {
"score": 1.0,
"probabilities": { "0": 0.0, "1": 1.0, "2": 0.0 }
},
"is_urgent": { "noul": 1.0 }
}
}
confidence 由概率分布的形状算出:分布均匀时为 0,完全集中时为 1。文档建议按它分流——高置信度自动执行,低置信度交给人。
官方口径的运行指标:多数查询约 100 ms;同一请求内增加问题几乎不增加延迟;每百万输入 token $0.042,输出免费;仅支持文本,英语为主;不开源。
拆分问题
TypeSafe 主张的用法是代码掌握控制流,只在需要常识判断的地方调用模型,而且每个问题拆到原子。以垃圾邮件识别为例:不问"这是不是垃圾邮件",而是对同一封邮件同时问六个 Noul——是否索要凭据、是否声称意外奖励、是否制造时间压力、发件人与域名是否冲突、链接域名是否冲突、链接文字是否掩盖目标。六个问题并行评估返回六个概率,由代码加权合成风险分并设阈值。
这个思路值得记住:复合问题交给模型,原子问题交给概率,合成逻辑留在代码里。
它和 LLM、BERT 分别是什么关系
和 LLM 比:Jev 大概率以预训练 Transformer 作为底层网络(它能理解任意自然语言问题的能力来自这里,这部分与 LLM 同源),差别在结果的产生方式。LLM 无论输出普通文本还是 JSON,都要经过 decode 阶段逐 token 生成,再由调用方解析字符串;Jev 在 prefill 之后不进入 decode,直接从网络里读出每个问题在各选项上的概率分布。给 LLM 加 JSON mode / structured output 不是一回事——那只约束了生成字符串的格式,逐 token 生成的过程一步没少,而 Jev 根本没有生成过程。官方称之为"串行采样"与"并行采样"的差别,"类型安全"也由此而来:输出被限定在给定选项上,不可能出现选项之外的内容。
和 BERT 分类器比:两者计算形态最接近,都是读一次输入、直接给出类别概率。区别在任务怎么指定——BERT 分类器的任务在微调时写进参数,类别固定,换判断就要重新标注训练;Jev 的问题和选项是请求的一部分,调用时用自然语言写出。这种通用性依赖 LLM 级的底层网络,BERT 只做过填空预训练、规模数亿,读不懂"发件人显示名与邮箱域名是否冲突"这种指令。代价也是对应的:在标注充足的固定任务上,专门微调的 BERT 往往更准。
一句话定位
原文的概括我认为很准:Jev 没有引入新的 Transformer 结构,而是把"向语言模型提选择题、只读概率不让它生成"这种长期以 hack 形式存在的用法做成了产品,并把概率校准作为训练目标。评测口径下,在拆分好的判断类任务上,它的准确率与中等推理预算的前沿模型相当,成本和延迟低约两个数量级;但它不能写、不能思考、不能跑 agent,不熟悉的领域概率会失准。
07 Laya:开源对照组
Jev 发布三天后的 9 月 18 日,Convai Innovations 的 Nandakishor M 以 Apache 2.0 开源了 Laya,定位"33 ms 的开源 System 1 决策引擎",社区称之为开源版 Jev。
Laya 的结构可以直接从代码读出:底层是 ModernBERT-large,一个 4 亿参数量级的双向 encoder(就是第 02 节 Encoder-only 路线的当代版本),上面接一个小的决策头。每个问题拼成一条序列:指令在前,选项在中间,每个选项前放一个 [MASK] 标记,state 接在最后;过完 encoder 之后在每个 [MASK] 位置取隐向量打分,对同一问题的选项做 softmax 得到概率分布。三种原语与 Jev 相同,训练目标同样是校准。一次最多读 512 个 token,约一封邮件的长度。注意发布版本的概率整体偏高(声称的把握高于实际正确率),作者建议先在自己的数据上做一次校准再用。
Laya 的意义在于把事情拆开了看:"去掉生成、按选项读概率"这一步并不难,4 亿参数的 encoder 加一个读出头就能实现;真正难的是底下那个能零样本读懂任意问题的网络。 Laya 的零样本表现远不及 Jev,作者公布的最好成绩来自针对评测集微调后的版本。对使用者的启示很实际:做固定判断、有自己的数据,微调后的 Laya 是可用的自部署开源方案;要零样本处理任意问题,目前仍然只有 LLM 级的底层网络做得到。
08 我们的实际应用讨论
先交代背景。我们团队的业务三块:直播营销和带货活动;主播生态监控(数据抓取、直播内容抓取、发文分析、舆情分析);以及支撑这些的数据管道。hy3 是线上跑了很久的评论情感分析模型,评论区、弹幕的用户反馈都从它过。
逐维度过一遍
任务形态:高度匹配。 情感分析天然就是 Score(情绪等级)、Noul(是否负面)、Choice(评论属于质量/物流/价格/售后哪类)的组合,Jev 的三种原语几乎是为这类任务定制的。"一次请求带多个问题、加问题不加延迟"对我们尤其有价值——一条弹幕同时打情绪、购买意向、违规风险三个标,成本几乎不变。
语言与领域:最大的硬风险。 Jev 官方口径"仅支持文本,英语为主"。而我们的输入是中文弹幕和电商评论,充满"上车""蹲一个""避雷""笑不活了"这类黑话,还有大量阴阳怪气和表情符号。零样本的 LLM 级模型遇到不熟悉的领域概率会失准——这是原文明确指出的局限,而"中文直播电商语料"对它来说大概率就是陌生领域。这一条不实测就没有讨论的意义。
校准:Jev 真正的独特卖点。 这是我们现有链路里缺的东西。舆情告警和活动期间的负面预警,本质上都是在阈值上做决策,而阈值决策的质量取决于分数是否校准——"0.8 的分数是否对应八成的负面概率"。LLM 输出的置信度在后训练后已不可信,hy3 的分数校准性质我们也从来没量化过。就算最终不换模型,把校准纳入评测指标这件事本身就该做。
成本与延迟:有吸引力,但取决于现有部署。 $0.042/百万输入 token、输出免费、约 100 ms,单看很便宜,实时弹幕场景延迟也够。但成本要和现状比:如果 hy3 是自部署、跑在已有 GPU 上,边际成本接近零,API 按量计价反而是新增支出;抓取和监控的量级越大,这笔账越要细算。
数据合规:监控业务的红线。 舆情分析、主播生态数据,天然是敏感数据。全量送往第三方 API,不开源、无法自部署,意味着供应商依赖加数据出境两重风险。至少核心链路需要评估能不能过合规评审。Laya 提供了一条折中路径:开源、可自部署、可在自己数据上微调。
工程成本:换 = 全链路重验。 推理层改写、精度回归、监控和告警阈值重新标定,都是实打实的人力。Jev 的零样本特性(改任务只改问题,不用重训)对新增分析维度是红利,对已稳定的头部任务是纯迁移成本。
汇总成一张表:
| 维度 | hy3(现状) | Jev |
|---|---|---|
| 任务形态 | 情感分析专用 | 原语原生匹配,多问题并行 |
| 中文直播语料 | 域内打磨 | 英语为主,未验证,高风险 |
| 固定任务准确率 | 微调模型,主场 | 零样本,预期不占优 |
| 概率校准 | 未量化 | RLCD 训练目标,核心卖点 |
| 成本 | 取决于部署方式 | $0.042/M 输入 token,输出免费 |
| 延迟 | 毫秒级 | 约 100 ms |
| 数据合规 | 自主可控 | 第三方 API,敏感数据需评审 |
| 换任务 | 重新标注微调 | 改问题即可 |
09 再往前看:Jev 在我们业务里的可能位置
如果评测结果乐观,除了情感分析本身,我们业务里有几个场景和这类判断式模型的特性对得上:
- 实时弹幕多维打标。 直播进行中对弹幕流做分钟级聚合:情绪曲线、购买意向信号、违规风险、竞品引流话术,一次请求并行打完。大促活动期间这套东西可以做成实时看板,异常波动直接告警到运营群。
- 舆情告警分级。 现在的告警基本是"命中即推",值班同学被低质量告警轰炸是常态。Noul 判断"是否负面""是否紧急"加 confidence 分流——高置信自动建单,低置信进人工复核队列——是这类模型最标准的用法,直接对应它文档里的工单例子。
- 水军与刷量识别。 原文垃圾邮件六问的思路可以平移:是否模板化文案、是否批量相似、是否含引流话术、账号行为是否异常,多个 Noul 并行,代码合成风险分。比单一分类器更容易解释和调参。
- 主播发文与内容理解。 生态监控里对主播跨平台发文做分类(Choice:内容类型、带货品类)和立场/风险评级(Score),问题和选项随时调整,不用为每个新维度攒标注数据。
- 分析管线里的快慢分工。 把 Jev 当便宜的初筛守门员:高置信样本直接出结论,低置信或高价值样本才送贵的前沿 LLM 深度分析。原文的系统一/系统二定位,落到我们的成本结构上就是实打实的推理费节省。
注意边界:这些场景全部是"判断",不是"生成"。写营销文案、活动总结、归因分析报告,仍然是生成式 LLM 的领地,Jev 帮不上忙。它在我们技术栈里的位置是判断层——比规则引擎聪明、比 LLM 便宜且快、输出可以直接进代码做决策的那一层。
10 结语
把主线收个尾。从 Transformer 到今天,主流模型的骨架没变过:ChatGPT 和推理模型改变的是训练方式,DeepSeek 和 Qwen 改变的是内部组件。Jev 保留了这套骨架的读取部分和 LLM 级的理解能力,去掉了生成部分;Laya 的对照说明,去掉生成这一步本身不难,难的仍是底下那个网络的理解能力。
所以 Jev 不是 LLM 的替代品,是同一底层网络在另一类任务上的另一种用法。是否适用,取决于任务需要的是自由的文本生成,还是在有限选项之间做出可信的判断。