你有没有想过,当你用ChatGPT让它帮你判断两个回答哪个更好时,它到底在做什么?
它不是直接给你一个分数。它会先叨叨一大段评语,分析这个回答符合不符合要求,那个回答有没有遗漏什么,然后才告诉你结果。这个过程叫做生成式奖励建模。
**生成式奖励建模**:让AI模型通过生成文字评语的方式来判断两个回答哪个更好,而不是直接输出一个数字分数。
问题是,这段评语往往很长。如果你要评估的标准有五六条,AI可能要为每一条都写几句话,解释为什么符合或不符合。写完这些字,才能给出最终结论。这就带来一个现实的麻烦:如果你的系统需要反复做这种判断,比如在强化学习训练中给模型打分,或者在筛选大量候选回答时做评估,这些评语生成的时间和算力开销会迅速累积起来。
这篇论文要解决的,就是这个具体又棘手的问题:能不能让AI保留住"仔细思考多个标准"这个能力,但不用把思考过程写成完整的句子?
当时的现状有多紧张
在这篇论文出现之前,评估AI回答质量主要靠两条路子。
一条是直接判断,给模型看两个回答,让它直接吐出"A更好"或者"B更好",不写中间过程。这样做速度快,但判断质量往往不稳定,尤其是遇到需要考虑多个标准的复杂场景,比如一个回答事实正确但没遵守格式要求,另一个回答格式完美但内容有瑕疵,直接判断容易判断失误。论文里专门做了对比实验,这种叫DirectJudge的方法在RewardBench的Chat Hard这个较难的测试集上,投5票之后准确率只有67.43%,而且从投1票到投5票,准确率只提升了0.22个百分点,几乎没有从多次采样中获得任何增益。
另一条路是让AI像写议论文一样,逐条分析每个评判标准,给出理由,最后综合判断给出结论。这就是rubric-based reward modeling(基于评分细则的奖励建模)。
**Rubric(评分细则)**:针对具体任务定义的一组评判标准,比如"事实正确性""是否遵守格式要求""语言是否清晰",这些标准合在一起构成一份类似老师批改作业用的评分表。
这种方法准确率确实更高,论文中用Qwen3-8B训练的显式SFT判官(Rubric-RM)在同样的测试集上投5票能达到70.50%,比直接判断高了3个百分点。但代价是,每次判断都要生成几百个token的文字评语。论文的数据显示,Rubric-RM-8B在RewardBench Chat任务上平均每次生成659.60个token,光是产生这些文字就要花费大量时间。
于是研究者们面临一个两难:要准确率,就要接受慢;要快,就要牺牲准确率。这篇论文想问的是,这个两难是不是可以被打破。
潜空间里的思考:核心思路是什么
研究者的灵感来自一个相对年轻的研究方向,叫做连续潜在推理。
**连续潜在推理(Continuous Latent Reasoning)**:让AI模型用一串连续的数值向量来代替文字token进行"思考",这些向量不对应任何具体的单词,但承载着和文字推理类似的信息,可以在模型内部传递和处理。
这个思路此前主要用在数学题和逻辑推理上,效果不错。研究者的问题是:既然数学推理可以压缩进潜空间,评判回答好坏这件事,本质上也是一种多步推理(先看符合不符合第一条标准,再看第二条,最后综合判断),能不能也这么干?
这里有一个关键的设计选择。如果简单粗暴地把每隔固定数量的token压缩成一个潜向量,会发生什么?
想象你在整理一盒散落的拼图,时间紧迫,你决定每凑够8块就随手打包成一组,不管这8块是不是来自同一个画面区域。打包完了方便搬运,但下次要拼图的时候你会发现,很多关键的边角信息被硬生生切断在两个包裹之间,想找一块拼图,得同时翻开两个包才能对上。这就是固定速率压缩(Fixed-Rate Chunking)的风险:它每凑够一定数量的token就打一个包,完全不管这些token是不是属于同一个语义单元。
论文里给了一个真实的例子。一句完整的评语是"它随机选择词语并把它们组合成一个句子",固定速率切分会把这句话硬生生切成"它随机选择词语并"和"把它们组合成一个句子"两段,分别塞进两个不同的潜向量里。信息没丢,但完整的语义被打散了,拼回去的时候容易出错。
于是论文提出了语义分块(Semantic Chunking)作为替代方案。
**语义分块**:不是按固定长度切割文本,而是先按照评分细则的结构(比如每一条标准算一个区块)分配压缩预算,再利用句子、从句、依存关系等语言学线索,在每个区块内部找到更合理的切割点,尽量不把一句话或一个完整论断切成两半。
这就像搬家打包东西,你不会每凑够十件物品就封箱,而是先按房间(厨房的归一箱,卧室的归一箱)分配好箱子数量,再在每个房间内部,尽量把一套碗、一套衣服打包在一起,不会把一只筷子和另一只筷子分到两个箱子里。这样搬到新家,拆箱子的时候才能迅速找到想要的东西,不用翻遍所有箱子。如果不这么做,表面上看箱子数量一样,打包速度看起来差不多,但你搬到新家之后翻找东西的痛苦会直接体现在效率上,这正好对应论文里的实验结果:语义分块在RewardBench2的Precise IF任务上投5票达到43.4%,比固定速率切分的39.5%高出近4个百分点。
那么具体怎么把文字评语压缩成潜向量?论文设计了一套两阶段流程。
第一阶段是潜在蒸馏,让一个编码器读入评估输入和已经生成的文字评语,在每个切割点处产生一个隐藏状态。这个隐藏状态不是直接塞进序列里的,而是先经过解码器的词表投影,变成一个覆盖全词表的概率分布,然后只保留概率最大的K个词(论文里K取10),重新归一化,再用这组概率去加权平均对应词的嵌入向量,得到一个"软嵌入"。
**软嵌入(Soft Embedding)**:不是选中某一个具体的词对应的向量,而是把多个候选词的向量按照各自的概率权重混合在一起,形成一个介于几个词之间的连续向量。
这个软嵌入可以直接当作模型的输入,塞进后续的生成过程里,让解码器学习用这个压缩表示去预测剩下的评语内容和最终的判断结果。训练完成后,编码器的任务就结束了,它导出的这些稀疏目标会被拿去训练第二阶段的模型。
第二阶段叫自主潜在评判训练。这一步让判官模型自己学习生成潜在轨迹,不再依赖编码器的帮助,直接从评估输入出发,一步步生成潜向量,最后吐出最终的偏好判断。这里还加入了一个小技巧,训练时往目标分布里注入Gumbel噪声再重新归一化,目的是避免模型死记硬背教师给的确定性目标,同时在推理阶段,同样的扰动机制可以让模型每次采样产生略有不同的潜在轨迹,支持多次投票。
效率提升到底有多大
论文给出的核心数据相当直观。
在8B参数规模下,LatentGRM在四个测试域(RewardBench的Chat和Chat Hard,RewardBench2的Precise IF和Focus)上,把评估轨迹压缩了8.9到9.2倍,总推理时间在vLLM这种高效推理框架下降低了6.1到7.0倍(投5票的情况下)。
具体来看RewardBench Chat这个任务,显式判官Rubric-RM-8B平均要生成659.60个token的评语,而LatentGRM-8B只需要74.38个潜在步骤,压缩比8.87倍。换算到实际跑分的时间,用普通的Transformers/PyTorch框架跑完全部716个样本投5票,Rubric-RM-8B要花8196秒,LatentGRM-8B只要1002秒,提速8.17倍。换成专门为大模型推理优化的vLLM框架,Rubric-RM-8B要539.70秒,LatentGRM-8B只要87.76秒,提速6.15倍。
| 测试域 | 模型 | 平均生成步数 | 压缩比 | vLLM推理时间(秒) | vLLM加速比 |
|---|---|---|---|---|---|
| RB Chat | Rubric-RM-8B | 659.60 | 1.00× | 539.70 | 1.00× |
| RB Chat | LatentGRM-8B | 74.38 | **8.87×** | 87.76 | **6.15×** |
| RB Chat Hard | Rubric-RM-8B | 582.09 | 1.00× | 589.58 | 1.00× |
| RB Chat Hard | LatentGRM-8B | 64.42 | **9.04×** | 96.44 | **6.11×** |
| RB2 Precise IF | Rubric-RM-8B | 720.89 | 1.00× | 812.93 | 1.00× |
| RB2 Precise IF | LatentGRM-8B | 78.59 | **9.17×** | 126.99 | **6.40×** |
| RB2 Focus | Rubric-RM-8B | 695.49 | 1.00× | 2350.30 | 1.00× |
| RB2 Focus | LatentGRM-8B | 75.37 | **9.23×** | 338.34 | **6.95×** |
有一个细节值得单独说一说。研究者担心有人质疑,潜在推理会不会偷偷在每一步里塞进更多的计算量,表面步数少了,但每步算得更慢,总时间其实没少多少?于是他们专门做了一个对照实验:强制两种判官都只生成恰好50个位置,结果两者的总耗时只相差1.017倍,几乎可以认为没有差别。这说明潜在推理省下来的时间是真的省了步骤数,不是靠每步偷工减料换来的。
但压缩了那么多,准确率有没有掉?
这是最容易让人担心的地方。毕竟直觉上,评语写得越详细,判断应该越准确,压缩成几十个潜向量,信息肯定会损失一些。
论文给出的答案是:整体上大致持平,个别任务上甚至有提升。
在8B规模、投5票的设置下,LatentGRM在八个基准测试域上的平均分是69.0,而显式Rubric-RM是68.1,LatentGRM反而略高了0.9分。细看各个子任务,LatentGRM在RewardBench2的Focus任务上领先6.4分(87.5对81.1),在Chat Hard任务上领先2.5分(73.0对70.5),但在原始的RewardBench Chat任务上落后1.9分(89.9对91.8)。
| 模型 | RB Chat | RB Chat Hard | RB2 Precise IF | RB2 Focus | Avg.-8 |
|---|---|---|---|---|---|
| Rubric-RM-8B(投5票) | **91.8** | 70.5 | **45.0** | 81.1 | 68.1 |
| LatentGRM-8B(投5票) | 89.9 | **73.0** | 43.4 | **87.5** | **69.0** |
这个结果挺有意思,压缩不是均匀地损失信息,而是在不同任务上有得有失。研究者的解释是,语义分块保留下来的恰恰是那些对指令遵循类任务(比如Chat Hard和Focus这类更依赖精确理解复杂要求的任务)最关键的信息,而原始Chat任务相对简单,可能本身对细节的依赖没那么强。
压缩之后信息真的还在吗
光看最终准确率不够说服人,万一模型只是"蒙对了"呢?研究者设计了一个挺巧妙的实验来验证,压缩进潜向量里的信息,是不是真的还携带着评分标准的具体内容。
他们找来398对来自RewardBench的问答对,针对每一对设计了三个版本的评分细则:原始版本不变、一个只是换了说法但意思完全一样的"措辞对照版"、一个真正改变了某条标准含义(让它偏向某个特定回答)的"标准干预版"。
**潜在源替换实验**:先用某个版本的评分细则生成一段潜在轨迹,然后把评估提示语换回原始版本,但把刚才生成的潜在轨迹"嫁接"过来,看看模型最终给出的偏好判断是不是依然受到了那个被替换掉的评分细则的影响。
这就像一个心理学实验,你想知道一个人读完一段文字后留下的记忆是不是真的来自那段文字的内容,而不是来自文字呈现的格式。你把内容偷偷换掉,但保留原来的记忆片段,看他做决定的时候,到底是被最初读到的内容影响,还是被当下看到的格式影响。如果换了评分细则但保留了原来的潜在轨迹,判断结果依然朝着被干预的方向偏移,那就说明潜在轨迹里确实携带着那条被改变的标准所传递的信息,而不是模型在"揣摩"当下给的提示语本身。
实验结果显示,用真正改变了含义的"标准干预版"生成的潜在轨迹,即便之后把评估提示语换回原始版本,模型最终的判断依然朝着被干预方向偏移,平均对数几率变化达到2.75。而用只是换了说法但意思不变的"措辞对照版"生成的潜在轨迹,这个偏移几乎为零。这说明潜在轨迹里确实携带着具体的、与评判标准含义相关的信息,不是空壳。
能不能把潜向量"翻译"回文字
这篇论文还做了一件挺有意思的事,专门训练了一个叫做潜在轨迹解释器(Latent Trace Interpreter,简称LTI)的模块,专门负责把保存下来的潜在轨迹"翻译"回人类能看懂的文字评语。
这个设计的用意很实际。如果一个判官模型只会给出"A更好"的结论,但完全无法解释为什么,那在很多场景下是不可信的,尤其是涉及审核、申诉、调试这类需要可追溯性的工作流程。LTI的作用,就是让这些压缩掉的推理过程,在需要的时候可以被"解压"出来检查。
这个解压过程不在正常的判断流程里跑,是离线进行的,不会拖慢在线判断的速度。研究者用了一套挺严格的评测体系来检验解压效果,涵盖607条测试记录,总共涉及9992条具体的评判标准。
结果相当亮眼。衡量每条标准被判定为"符合""不符合"还是"部分符合"的准确率指标(State Macro-F1),LTI达到98.93%,而只给模型看原始问题不给潜向量的对照组(Prompt-only)只有40.20%,另一个只用模型内部隐藏状态做对照的方案(Replay-hidden)是69.42%。要求一整条记录里所有标准全部判断正确的严格指标(Vector Exact),LTI达到93.98%,对照组只有18.61%和33.03%。
| 读取方式 | 标准判断准确率(State Macro-F1) | 全部判断正确率(Vector Exact) |
|---|---|---|
| 仅给问题(Prompt-only) | 40.20 | 18.61 |
| 读取隐藏状态(Replay-hidden) | 69.42 | 33.03 |
| 潜在轨迹解释器(LTI) | **98.93** | **93.98** |
这个差距说明一件事,模型内部的隐藏状态虽然也携带一些信息,但远不如直接读取保存下来的"软嵌入"概率分布那样完整。这也间接证明了,论文设计的那套压缩表示方式,确实比简单粗暴地抓取隐藏层激活值更能保留住判断依据的细节。
研究者还做了一个更贴近实际应用的测试:让一个完全没有训练过、也看不到评分细则的"修订模型",根据不同来源的反馈信息去修改一个有缺陷的回答,看哪种反馈能带来最好的修订效果。结果显示,用LTI解压出来的文字反馈效果最好,能把原本不符合的评判标准修复到80.49%,而且几乎不会把原本符合的标准改坏(回退率只有1.86%)。有意思的是,即便不经过LTI翻译,直接把那串软嵌入塞给修订模型(这个修订模型从没见过这种输入格式),修订效果依然比什么反馈都不给要好,这说明潜在反馈本身是可以被直接利用的,哪怕接收端完全没有针对它做过训练。
写在后面
读到这篇论文,我最意外的一点其实是那个固定速率切分和语义切分的对比实验。原本以为切分方式只是一个很小的工程细节,不会对结果产生决定性影响,但论文里那个具体的例子,一句完整的话被硬生生从中间切开,让我意识到这种"看不见的损伤"在很多系统里可能一直存在,只是因为没有做过这种细致的消融实验,大家都没发现。
另一个让我多想了一会儿的地方是那个"直接判断"方法投票五次只提升0.22个百分点的数据。这暴露了一个容易被忽略的问题:多次采样投票这个技巧,本身是建立在"每次采样都有一定独立性和多样性"这个假设上的。如果模型的判断过程压缩得太狠,连一点推理轨迹都不留,多次投票可能根本榨不出任何额外信息,因为模型每次给出的答案背后根本没有"不同的思考路径"可言。而LatentGRM保留了一条可以被扰动、可以产生多样性的潜在轨迹,这才让投票这个老办法重新发挥作用。
论文里也坦诚地提到了没解决的问题,比如现在的语义分块规则还是靠手工设计的启发式方法,用句子边界、依存关系这些语言学线索去判断该在哪里切,这套规则本身有没有可能用学习的方式自动找到最优切割点,论文没有给出答案。还有一个有趣的失败案例,论文附录里展示了一次解压失败,LTI翻译出来的文字里,有一条标准被错误标记为"符合",但紧跟着的后续分析和最终结论又都正确识别出这条标准实际上没有被满足。这种局部的自相矛盾说明压缩和解压的过程还没能做到完全忠实,软概率分布携带的信息终究是有损的。
如果有一天,你发现AI给你解释一件事情的时候,它说出来的那些话,其实只是它脖子以下真正做出决定之后,顺手编出来的说明文字,你会不会开始重新思考,所谓的"解释"到底意味着什么?
Q&A
Q1:LatentGRM是什么?
A:LatentGRM是一种让AI评判两个回答哪个更好的新方法,它用压缩后的连续数值向量代替冗长的文字评语来完成多标准评估,大幅降低了推理时间,同时保持了判断准确率。
Q2:LatentGRM能把推理速度提升多少?
A:在8B参数规模、投5票的设置下,LatentGRM在四个基准测试域上把评估轨迹长度压缩了8.9到9.2倍,总推理时间在vLLM框架下降低了6.1到7.0倍。
Q3:潜向量压缩会不会丢失重要的判断依据?
A:论文设计了专门的解释器模块来验证这点,把保存的潜在轨迹翻译回文字后,标准判断准确率达到98.93%,证明压缩过程中关键的评判依据基本得以保留。







