JEV - 从 BERT 到 Jev:分类回到一张分布

“不能幻觉”只覆盖封闭题:答案出不了你给死的集合,集合里仍可能分错。Jev 用这一代模型的语义,把输出收回一次前向和一张分布。

JEV - 从 BERT 到 Jev:分类回到一张分布

联合作者:folkbench.com (Folkbench 是面向 AI API、模型服务及相关站点的可复核评测与选择平台,依据已发布的服务资料、价格、可用性、延迟与证据窗口,帮助用户比较并选择使用路径。)

这一组共十篇:

“不能幻觉”不是一句广告。它只覆盖封闭题的那一层:答案必须落在你事先给死的集合里。集合外面的标签,它补不出来。集合里面它仍然可以分错。这一篇把这层边界放回分类任务的历史里看。Jev 像是前 GPT 时代的通用分类器回来了,语义是这一代模型的,输出形状却回到了一次前向、一张分布。

分类器时代付出过什么

2018 到 2021 年,很多 NLP 工程师的日子被“分类”填满:意图、派单、情感、领域标签。BERT、RoBERTa、XLNet 是当时的工具。双向编码器把 LSTM 和 SVM 甩在后面,也带来三笔工程债。

  1. 标注很饿。预训练之后,金融意图这种任务仍要成千上万条干净样本。多一个细分标签,清洗、众包和增强再走一遍。
  2. 没见过的说法会掉下去。那一代分类器拟合的是决策边界,不是“这个标签是什么意思”。
  3. 每个任务一份权重。几十个分类需求就是几十个实例,版本、显存和发布都堆在一起。

当时缺的是:懂这句话在说什么,又能按临时给的定义把概率交出来,而且不用为每个标签再训一个头。

生成式模型的过度杀伤

GPT 这一路用解码器把分类看起来“解决”了。写一句“判断情感,按 JSON 返回”,零样本往往就能给出类别。生产里很快露出另一面。

  • 格式仍然是概率接龙。为了拿到一个标签,得要求它写出合法 JSON 或 XML。再强的生成模型也有很小的概率多写一句,解析器就断。
  • 代价和长度绑在一起。一个几个字符的标签,前面是一长段提示词,后面是逐 token 的解码。实时风控和在线路由里,这是用高炮打蚊子。

我们有了很强的语义理解,却给它接了一根又慢又脆的输出管,只为了拿一个类别。“不能幻觉”如果指的是这根管子,生成式模型并没有把它拆掉。它只是更会把幻觉写得像一句话。

一次前向,一张分布

Jev 站在两头之间:要这一代模型的语义和少样本,不要文本生成,回到分类器的输出形状。

从拟合特征到对齐语义

旧分类器在向量空间里切流形,标签一变就要重新拟合。Jev 把待分类的 state 和标签的自然语言定义放在一起看。你写清这一档是什么意思,它就在这一档上给概率,不必为新标签再做一次梯度更新。理解力是生成式时代的。输出不是。

不再逐 token 生成

生成慢,是因为每个 token 都要再跑一次前向。Jev 不写 {"category": "A"} 这串字符。一次前向里,它把概率分到候选上。格式漂移那一类故障因此消失:没有字符串,就没有字符串碎掉。

这就是“不能幻觉”真正说到的那一层。它不能发明列表外的选项,也不能在答案后面再附一段解释。它仍然能在列表内部把概率给错。校准解决的是“它报的把握和实际命中是否同向”,不是“它永远分对”。

工程上少维护什么

维度 BERT 时代 生成式模型 Jev
数据 大量标注后再微调 少样本,靠提示词 少样本,靠标签的自然语言定义
输出 分类头,格式固定 会生成,格式可能碎 分布,没有格式可碎
速度 毫秒级的编码器 随生成长度变长 公开端到端大约 70–500 毫秒,不随答案句子变长
语义 容易被表面词带跑 深 深,但只许落在给定标签上
运维 一个任务一个权重 提示词和解析器 一个模型,标签定义随请求变

旧任务没有过时

回到文本分类,手感会很熟,底层已经不是当年那把钝器。

  • 不必为五百条标错的样本再训一轮。
  • 不必为异形 JSON 写一圈 try-catch。
  • 传入 state,写清每个选项的意思,拿回一张分布。

从 BERT 到生成式模型,再到这种结构化输出,经典任务没有退场。退场的是“为了拿一个标签,必须先写一段话”。不能幻觉,说到这一层就停。再往上,分错、题没拆开、不该问它的开放题,都还在。那些不由这句口号担保。

系列