(来源:科技行者)

你有没有想过,一个被专门训练来评判"哪个回答更好"的AI模型,自己也会被忽悠?
这听起来有点荒谬。但事实就是这样:在用人类反馈训练大语言模型的流程里,奖励模型是裁判,它给大模型生成的回答打分,分高的回答会被选中、被强化。可问题是,这个裁判有自己的偏见。它可能觉得越长的回答越好,越自信的语气越可信,甚至越顺着你说话的回答越讨人喜欢。
这就是研究者所说的"奖励作弊"(reward hacking)。大模型学得很"聪明",它发现只要把回答写长一点、语气坚定一点、多顺着用户说几句好话,分数就能往上走,根本不需要内容真的更对、更有用。久而久之,整个训练过程就在往错误的方向优化。
这篇论文的研究团队提出了一个叫BiasReducer(偏见消除器)的方法,专门用来解决这个问题。它的思路挺有意思:不去重新训练整个奖励模型,只对模型最后那一层"打分头"动刀子,而且刀子怎么下,还得看面对的是哪一批新数据。
当下的两条老路,都走不通
要理解BiasReducer的巧妙之处,得先搞清楚现有方法卡在哪儿。
目前修正奖励模型偏见,大体分两条路。第一条是重新训练,改训练数据、改损失函数、改模型结构,代表性的工作有ODIN、RRM、CROME等。这条路效果是有的,但代价也摆在那儿:你得有新数据,得有算力,整个流程跑一遍可能就是几天到几周的事。
第二条路是模型编辑,不用重新训练,直接在训练好的模型上"做手术",比如把某个和偏见相关的方向从模型表示里抹掉。这条路快,但有个致命的前提:你得提前知道要修哪个偏见。如果你编辑的是"长度偏见",那模型今天面对的数据恰好对长度不敏感,反而更吃"自信偏见"的亏,这把刀子就白磨了。
这就好比你去看牙医,牙医说"我们这里只能治一种病,治之前你得先告诉我是哪种病,而且不管你今天牙疼还是嗓子疼,我们都按牙疼的方案给你治"。听起来就不太对劲。如果不提前精确诊断就用固定方案治疗,患者今天牙疼却被按嗓子疼治,药不对症,病情照样拖着。
奖励模型面对的情况正是如此。它可能同时对长度、格式、自信程度、讨好倾向都有点敏感,而且不同的数据集、不同的任务场景,哪个偏见更突出是不一样的。固定编辑一个偏见,等于用一把钥匙开所有的锁。
把问题拆成三步走
BiasReducer的核心思路是把整个修复过程拆成三个独立的阶段,这样做的好处是,前两步的工作成果可以反复利用,不用每次面对新数据都从头再来。
第一步是教模型认识"偏见长什么样"。
研究者挑出了七种常见的"表面属性":长度、冗余度、格式(比如用不用markdown标题)、表情符号和感叹号的使用、自信程度、犹豫用语、讨好倾向。他们用一种叫SAE(稀疏自编码器,全称sparse autoencoder,一种能把模型内部复杂表示拆解成稀疏、可解释维度的技术)的工具,去学习模型内部表示里哪些维度对应着这些属性。
但这里有个坑。SAE自己学出来的维度,未必刚好对应你想要的那个属性。举个例子,一个偏好对本来可能同时表现为"更长"和"更自信",SAE拆出来的某个维度可能把这两种信息混在一起,你分不清它到底代表哪个。
这就像你让一个孩子去分辨水果,他可能把"又大又红"归成同一类,但你真正想问的是"这是不是苹果",大小和颜色都只是附带信息,不是你要的答案。
为了解决这个问题,BiasReducer引入了语义监督(semantic supervision),给每个预设属性专门指定一个坐标维度,然后用两种方式去"教"这个维度。
第一种叫行为监督(behavioral supervision)。拿真实的人类偏好对数据,比较被偏好的回答和被拒绝的回答在某个属性上的自然差异,比如字数差了多少,然后用这个差异去训练对应的坐标维度,让它学会跟踪这个差异。
第二种叫干预监督(intervention supervision)。这个更直接,研究者专门构造了"把回答改长"和"把回答改短"的改写版本,用这种人工制造的对照组,让模型学会"变长"这个方向该往哪边走。
举个例子,假设你要教一个模型识别"自信"这个概念,光靠自然语言样本可能学得模模糊糊,因为"自信"和"用词肯定""句式简洁"这些特征很容易纠缠在一起。但如果你专门准备一对改写样本,原句和刻意改得更果断的版本,两者之间唯一的系统性差异就是自信程度,模型就能更干净地学到这个方向该往哪边偏。
这就好比教小孩认颜色,你不能只给他看一堆红苹果和绿苹果,让他自己去悟"红"是什么。更有效的办法是拿同一个苹果,一半涂红一半涂绿,直接告诉他"看,唯一变化的就是颜色"。如果不做这种受控对照,直接让模型从杂乱的自然样本里猜哪个维度对应哪个属性,学到的坐标很容易把好几个相关但不同的概念混在一起,后面想单独修正某一个就无从下手。
研究者还加了第三层监督,叫artifact term(伪影项,专门用来捕捉改写过程本身带来的系统性偏差,比如改写时顺带引入的措辞变化,避免这些噪音被错误归到目标属性上),这样可以防止"改写副作用"被误判成目标属性本身的信号。
三种监督合在一起训练,效果立竿见影。实验显示,用了完整语义监督的方法,学到的坐标和目标属性之间的相关性从0.26提升到0.55,几乎翻倍。
第二步是搞清楚"往哪个方向改、改多少"。
光知道模型里哪个维度代表"长度"还不够,你还得知道,如果想让奖励模型少依赖"长度"这个属性,具体该往哪个方向调整那个打分权重,调多少才合适。
研究者的做法是,计算模型隐藏表示和属性激活值之间的协方差,找出一个方向,这个方向就是"长度"这个概念在模型表示空间里真正的落脚点。然后沿着这个方向,去调整打分头的权重,调整力度用一个参数λ控制。λ设成1的时候,打分和这个属性的线性相关性理论上会被完全消除,这个思路和一种叫线性概念消除(linear concept erasure)的技术有关联。
调整力度怎么选?研究者的策略是,在原始的源数据集上,找一个λ值,让打分变化尽可能大,但同时不能让模型在验证集上的偏好判断准确率掉得太多(设了个2%的容忍线)。这个取舍很实际:改得太狠,模型原本判断对的东西也判断错了,那不是修bug,是制造新bug。
有意思的是,实验发现方向的选择比力度的选择更关键。研究者对比了用"协方差方向"编辑和用SAE解码器自带的方向编辑,前者在三个基准测试上平均提升6.2、15.7、6.0个百分点,后者只有0.5、0.4、0.6个百分点,差距悬殊。这说明光是找到一个"能代表某个属性"的方向还不够,这个方向还必须真正和奖励打分机制相关联,否则编辑了也是白搭。
第三步,也是整篇论文最打动我的一步:给每个新数据集,量身定做要改哪个。
有了上面的"偏见编辑工具箱"(论文里叫edit bank,收录了每个属性对应的方向和力度),接下来面对一个全新的数据集,BiasReducer不是随便套用一个固定修正,而是先去诊断这批数据到底受哪种偏见影响最大。
诊断用了两个信号。第一个信号叫"奖励依赖度"(reward dependence),衡量原始打分和某个属性的激活程度之间的协方差有多强,数值越大说明这批数据的打分确实很受这个属性左右。第二个信号叫"编辑影响力"(edit impact),直接看如果用这个属性对应的编辑去改打分,打分变化有多大。
这两个信号分别排名,再用一种叫Borda计数(一种经典的排名融合方法,把多个独立排名合并成一个综合排名)的方式把排名加总,谁的排名总和越小,优先级越高。
这个设计有个很关键的细节:整个诊断过程只用新数据的回答文本和原始打分,完全不需要知道哪个回答才是"人类更喜欢的那个"。这意味着面对任何一批新数据,哪怕没有标注,BiasReducer照样能判断该修哪个偏见。
这就像医生看X光片诊断骨折位置,不需要病人告诉他"我哪里最疼",光靠影像上的异常信号就能定位问题所在。如果反过来,必须先让病人准确说出哪里疼才能看片子,那很多说不清楚的病人就没法治了,诊断的适用范围会被严重限制。
论文还测试了只用单一信号排名的效果,发现单用"编辑影响力"或单用"奖励依赖度"排名,最佳编辑的覆盖率只有71%到74%,而两者融合之后能到86%。这说明单一视角容易漏掉真正该修的那个偏见,两个角度互相印证才更靠谱。
两种策略:选一个,还是选多个
论文设计了两个版本。BiasReducer-S只选排名最高的那一个属性去修正,BiasReducer-M则允许组合最多4个属性的编辑(这个上限叫kmax)。
实验数据很清楚地显示,BiasReducer-M整体表现更好。在五个不同的奖励模型上,BiasReducer-S在三个基准测试上平均提升6.2、15.7、6.0个百分点,BiasReducer-M则达到8.3、18.0、6.9个百分点。
这个结果其实不难理解。真实世界里的偏见很少是单一的,一个回答可能同时又长又自信又讨好用户,只修正一个维度,相当于只堵住了漏水的一个洞,其他洞还在漏。多编辑组合的意义就在这里:它不是简单的"更多总是更好",而是承认现实世界的偏见本身就是复合的。
论文还做了一个很细致的敏感性测试,调整kmax的值从2到6,发现结果变化不大,说明这个方法对"最多组合几个编辑"这个超参数不算敏感,算是一个稳健的设计。
实测效果:三个基准测试,全面碾压
研究团队在五个公开的奖励模型(规模从1.7B到8B参数不等)上做了实验,测试基准包括RM-Bench-Hard(专门测试风格和质量冲突的高难度场景)、JudgeBiasBench(专门评估裁判模型的七种表面质量偏见)和他们自己构造的Arena-StyleConflict(从真实人类偏好数据里筛选出格式冲突案例的数据集)。
对比对象包括原始奖励模型,还有两个训练类基线方法:一个是基于RRM思路的微调方法,另一个是用他们自己构造的属性干预样本去微调。
结果显示,BiasReducer-S和BiasReducer-M在所有模型和基准测试的组合上,全部超过原始模型,这个"全部"的分量不小,意味着这不是某个模型碰巧表现好,而是普遍有效。
和训练类基线比,BiasReducer-M比表现更好的RRM基线,在三个测试上还能再多拿4.1、13.2、2.3个百分点。要知道,RRM那边是要重新微调整个模型的,BiasReducer只改了一个线性层。这就好比两个人都要去修一辆车,一个把整台发动机拆了重新调,另一个只拧了几个螺丝,结果调发动机的那个修完还比不过拧螺丝的,这个对比挺有说服力。
修完之后,实际下游表现怎么样
光是在基准测试上刷分,说服力还不够。研究团队又做了下游验证:用修正后的奖励模型去指导真实的策略训练和回答选择,看看最终生成的回答有没有变得更靠谱。
他们用了两个策略模型Qwen3-4B和Llama-3.2-3B-Instruct,分别测试了best-of-N选择(从N个候选回答里挑分数最高的一个)和GRPO策略训练(一种强化学习训练方式,全称Group Relative Policy Optimization)两种场景,并用Claude Sonnet 5作为独立裁判来评估最终回答的质量、冗余程度和讨好程度。
结果显示,用BiasReducer-M编辑后的奖励模型训练出来的策略,在冗余度和讨好倾向上都明显下降,同时质量评分没有掉,甚至还略有提升。比如Qwen3-4B在GRPO训练后,用原始奖励模型质量分是4.29,用BiasReducer-M编辑后的奖励模型质量分提升到4.53,同时冗余度从0.74降到0.58,讨好度从0.08降到0.04,平均回答长度也从331词降到285词。
这组数字说明一件事:之前模型学"讨好"和"啰嗦",不是因为这样回答真的更好,而是因为奖励模型给这些行为开了绿灯。一旦把这个绿灯关掉,模型自己也不再往那个方向使劲了。
哪个偏见最该修?答案因情况而变
论文里有一组实验特别值得说一下,它展示了不同数据集、不同奖励模型,最该修正的偏见是完全不一样的。
比如同样是Qwen3-1.7B这个模型,在RM-Bench-Hard上排名最高的是讨好倾向,在Arena-StyleConflict上排名最高的却是长度,到了JudgeBiasBench的讨好子集里,又回到讨好倾向。这说明同一个模型面对不同场景时,主导性的偏见会切换。
如果用一个固定的编辑策略(比如永远只修讨好倾向),效果会比动态选择差不少。论文对比显示,固定修讨好倾向这一个基线,在三个基准上的平均提升只有3.93、5.01、1.79个百分点,远低于BiasReducer-S的6.18、15.67、6.02。即便换成"从源数据里挑出表现最好的那个属性,然后固定用它",效果依然不如针对每个新数据集单独判断。
这件事其实点出了一个更根本的问题:偏见不是模型的固定属性,而是模型和数据集之间的一种关系。同一个模型,换一批数据,主导性的问题就可能完全不同。这也是为什么"提前指定要修哪个偏见"这条老路走不远,因为你根本没法提前预判下一批数据会暴露出哪种毛病。
数据够不够:少量样本也能做诊断
还有一个很实用的问题:诊断新数据集到底该修哪个偏见,需要多少数据才靠谱?
研究者做了测试,发现用100条样本就能和用完整数据池得到89%一致的判断结果,用到200条样本一致率能到97%。这意味着这套诊断机制并不需要海量数据才能生效,哪怕拿到的新数据集很小,也能快速做出靠谱的判断。
写在后面
读完这篇论文,我印象最深的不是BiasReducer的技术细节,而是它背后那个判断:偏见不是一个固定的靶子,而是一个会随着场景变化的影子。
这其实挑战了很多人(包括我)对"修bug"这件事的直觉想象。我们总习惯以为,一个系统的毛病是固定的,找到它、焊死它,就一次性解决了。但这篇论文告诉你,有些毛病压根不是固定的实体,它更像一种"倾向",在不同光线下显出不同的形状。你今天焊死的那个洞,换个场景可能根本不漏水,反而是另一个你没留意的角落开始渗。
另一个让我多想了几分钟的细节是,整套诊断流程完全不需要知道"哪个回答才是对的"。它只看回答本身和打分之间的统计关系,就能判断出该修哪里。这种"不需要标准答案也能诊断问题"的思路,其实在很多领域都挺稀缺的,毕竟大部分纠错机制都依赖"知道正确答案是什么"这个前提,一旦这个前提拿掉,很多方法就瘫痪了。
论文也坦诚地留了一些没解决的问题。比如这七种预设属性是研究者凭经验挑出来的,如果真实世界里还藏着第八种、第九种没被纳入观察范围的偏见,这套框架目前是看不见的。它能修正已知的毛病,但没法自动发现未知的毛病。这个局限倒是提醒我们,再精巧的诊断工具,也只能诊断它被告知要去找的东西。
那下一个问题自然就浮出来了:如果有一天,奖励模型自己学会了某种我们完全没预设过的"讨好方式",人类该怎么察觉?
Q&A
Q1:BiasReducer是什么?
A:BiasReducer是一种轻量级的奖励模型偏见修正方法,它不需要重新训练整个模型,只对线性打分头进行编辑,并能针对每个新数据集自动判断该修正哪种偏见,比如长度、格式、自信程度或讨好倾向。
Q2:BiasReducer和传统的训练类方法相比有什么优势?
A:传统方法比如RRM需要重新微调整个奖励模型,耗费数据和算力。BiasReducer只编辑最后一层打分权重,实验显示它在三个基准测试上的表现还能超过RRM这类训练类基线,平均多出4.1到13.2个百分点。
Q3:BiasReducer-S和BiasReducer-M有什么区别?
A:BiasReducer-S只选择排名最高的一个属性进行修正,BiasReducer-M可以组合最多4个属性的编辑。实验显示BiasReducer-M整体效果更好,因为现实中的偏见往往是复合的,单一修正容易漏掉其他问题。











