无标签评估:用揭示理性与表示定理检验模型行为一致性
2026/8/28 20:26:12 网站建设 项目流程

想评估一个模型,第一反应通常是准备一批标签,跑一遍指标。这个动作太自然了,自然到我们很少会追问:如果没有标签,是不是就完全无法判断模型好坏?

这个问题的答案,在过去很长一段时间里是“很难判断”。但最近有一个研究方向,试图从经济学里借来一套完全不同的思路。它来自一个看起来偏理论的标题:"Revealed Rationality: Label-Free Evaluation and Regularization from Representation Theorems"。字面拆开很简单:用表示定理做无标签评估和正则化,核心概念是揭示理性。

如果单看这个组合,很多人会觉得这是又一篇理论论文,离实际应用很远。但我的判断相反:它真正想解决的问题,恰好是当前大模型落地时最痛的那一类——标注费贵、标准答案不存在、或者人类偏好本身不一致时,我们还能拿什么来评估和约束模型?

这篇文章不打算复述论文细节,而是想把这个方向拆解成一套可以放进自己项目里的思考框架:为什么评估可以绕过标签,表示定理在其中起什么作用,理性正则化到底约束了模型的什么,以及落地时容易在哪里翻车。

1. 先拆掉一个默认假设:评估必须靠标签吗

1.1 标签评估的代价和盲区

监督学习的评估逻辑非常直接:准备一批输入和对应的标准答案,把模型输出和答案比对,得到准确率、F1、BLEU 之类的指标。这个流程大家太熟了,熟到我们经常忘记它有个隐藏前提——存在一个可以信赖的、覆盖面足够的“标准答案”。

但真实项目里,这个前提经常撑不住。

第一层问题是标注成本。很多垂直场景需要专家标注,一条样本的成本不是几分钱,而是几块钱甚至更高。小团队通常只买得起几千条,根本覆盖不了模型在开放输入空间里的行为。

第二层问题是标注噪声。特别是偏好类任务,两个标注员对同一段对话、同一个推荐结果的观点可能完全相反。不是你标注规范写得不细,而是这种任务本来就没有唯一正确答案。

第三层问题最致命:标准答案只能描述“过去见过的输入”,而模型上线后面对的是开放世界。你标注了 1 万条用户问题,但现实中用户会问出第 10001 个问题。标签集覆盖不到的地方,评估结果基本是空白。

所以标签评估不是不好用,而是有明确的边界:它适合事实性、封闭式、有明确判据的任务。但对开放任务、偏好任务、对齐任务,单靠标签,你会觉得模型“好像还行”,却说不清它到底哪里行、哪里不行。

1.2 没有标签时,什么信号还有信息量

如果拿掉标签,模型还剩什么可以被观察?答案只有行为。

模型在真实使用中会持续做选择:给两个候选答案挑一个,为一段回复打分,决定下一轮对话怎么接,或者在多个工具调用中选一个。这些选择本身,即使没有外部标准答案,也携带大量信息。

什么信息?不是“这样选对不对”,而是“选择之间能不能互相兼容”。

举个例子。一个推荐系统给内容 A 打了 9 分,内容 B 打了 8 分,内容 C 打了 7 分,看起来很有道理。但如果同一批样本换个顺序再测一次,系统给 B 的分数反而高于 A,或者出现 A 优于 B、B 优于 C、C 优于 A 的循环,那就说明它的偏好结构是混乱的。不用任何人工标签,你也能知道这个模型“不太稳”。

这就是这个方向最核心的直觉:模型品质不只体现在“和标准答案的吻合度”上,还体现在“行为是否自洽”上。而自洽性,天然不需要标签就能观察。

2. “揭示理性”到底在说什么

2.1 经济学里的一次视角转换

“揭示理性”这个词不是机器学习发明的,它来自经济学里一个非常经典的理论——显示性偏好理论。

过去经济学家研究消费者偏好,主流做法是问卷式:直接问“你更喜欢苹果还是香蕉”。但萨缪尔森在二十世纪三十年代提出一个很锋利的想法:你不需要问,只要观察他买了什么就行。一个人如果长期选择苹果而不是香蕉,他的行为本身就“揭示”了他的偏好。偏好不是心里的想法,而是行动中体现出来的规律。

这个视角的关键变化,是把“偏好”从不可观测的主观状态,转成了可观测的选择模式。

后来这个思想发展出一系列一致性条件:如果一个人的选择满足传递性、完备性、无环性等条件,那么这些选择就可以被解释成“他在最大化某个效用函数”。反之,如果选择模式乱到没法用一个效用函数解释,那我们就说这个人行为“不够理性”。

注意这里的“理性”不是道德评价,甚至不关心选择是否“聪明”。它只关心一件事:你的选择背后,能不能找到一个一致的目标函数来解释。

2.2 表示定理:一致性能推出“存在一个目标函数”

“如果选择满足某些一致性条件,就存在一个效用函数可以解释这些选择”——这句话在经济学里是一个结论,在数学里叫做表示定理。

表示定理厉害在哪里?它给了一个从现象到结构的桥梁。你把观察到的选择数据拿过来,不需要任何外部标签,只需要检查它是否满足若干条可计算的公理,然后定理告诉你:存在一个效用函数,能够解释所有观察到的行为。

这就从“行为看起来很一致”变成了“行为在结构上可以被一种目标函数表达”。前者是感觉,后者是数学保证。

放到机器学习里,这个桥的价值被放大了:模型通常就是在一组行为数据上训练的,如果你能用表示定理确认,模型的选择模式可以被某个目标函数一致地解释,那么你就知道了模型内部存在一个稳定的优化目标。反过来,如果表示定理的条件被大量违反,那你面对的就是一个行为碎片化的模型,再好的单项指标也掩盖不了结构性问题。

3. 无标签评估:把模型行为当成一组选择来检验

3.1 一个四步评估流程

把“理性”落地成评估工具,不需要把模型内部打开。实际操作只需要四个步骤,而且每一步都可以在无标签数据上完成。

第一步:定义行为空间。先明确模型的哪个输出算一个“选择”。对推荐模型来说,一个选择是它给某个 item 的评分;对 LLM 来说,一个选择是它在两个候选回答中挑出的那个;对 Agent 来说,一个选择可以是一整条行动序列。关键是把模型的输出转化成“在不同备选项之间做取舍”的形式。

第二步:构造选择集。这一步决定评估质量。常见做法是随机抽一组输入,让模型在两两对比中输出偏好,形成若干个三元组或更大规模的比较集合。要特别注意输入本身的随机性,避免同一批对比反复用固定顺序,顺序偏差会污染结果。

第三步:检测一致性。在收集到的偏好关系上检查传递性和无环性。最直接的方式是检查三元组:如果模型认为 A 优于 B、B 优于 C,那它是否也认为 A 优于 C?如果大量三元组违反这个规则,就说明模型的偏好结构不稳定。

第四步:计算理性分数。把违反次数、违反比例、或者与最近一个“可被效用函数解释的选择集”的距离,汇总成一个数值指标。这个指标不需要任何标签,就可以作为模型的健康度参考。

从工程经验看,这套流程最适合先跑在 100 到 500 条样本上。这个规模足够发现明显的不一致模式,又不会让构造和检查成本失控。

3.2 一致性高,不等于模型是对的

这里必须强调一个非常容易混淆的点:一致性不等于正确性。

一个模型完全可以非常理性地、稳定地、一致地追求一个错误目标。比如一个内容推荐系统,始终给带有夸张标题、情绪煽动性强的内容打高分,它的偏好结构可能极其一致,用表示定理完全可以找到效用函数来解释它。但它的价值判断是错的,对用户长期体验有害。

所以无标签评估的本质,是评估模型的“结构质量”,不是“事实质量”。它能告诉你模型行为是否自洽、是否可以被一个稳定目标解释,但它不能告诉你这个目标本身是否符合你的要求。要判断目标对不对,仍然需要外部知识或少量人工判断。

这个边界太重要了。如果把它忘掉,很容易得出一个危险结论:反正模型行为一致,说明模型没问题。这就像说“这个人做事很有原则”,但没问他的原则本身是不是好的。

4. 把理性当作正则项:训练损失里多一条约束

4.1 从评估信号到训练信号

评估只是第一步。更进一步的想法是:既然理性分数能反映模型的问题,能不能在训练时直接把这个信号当成约束,让模型减少这类问题?

这就是“理性正则化”的入口。它的逻辑很简单:模型不仅要拟合训练数据,还要满足一组结构约束——偏好传递、选择无环、上下文稳定。违反这些结构时,损失函数里就产生一个额外惩罚项。

这样做最大的好处是,约束本身是标签无关的。你可以拿没有人工标注的模型生成数据、在线交互数据、或者未标注的语料库,不断计算模型的理性违反程度,然后持续优化。对很多真实项目来说,未标注数据几乎无限,但人工标注极其有限。理性正则化等于把这块未标注资源也用起来了。

实际操作里,它特别适合奖励模型和偏好模型。很多项目用 RLHF 结构做对齐,先训练一个奖励模型给文本打分,再用这个分数去优化策略。如果奖励模型自己的偏好结构就不稳定,比如三次评估同一对文本,排序结果完全相反,那后面所有优化都会被带偏。理性正则化直接作用在这个环节,相当于给奖励模型装上了一个“自洽性保险丝”。

4.2 常见实现思路和需要小心的地方

如果要用代码实现一个最小版本,可以先从三元组传递性罚项开始。比如有一个奖励模型f(x)输出分数,我们希望当模型认为A 优于 BB 优于 C时,A的分数也高于C,否则就加一个边际罚项。下面是一个概念性的示例结构:

# 示例结构:传递性罚项 # f(x) 是奖励模型输出,margin 是稳定边界 for a, b, c in triplets: # 假设偏好关系已经由模型预测:a>b, b>c violation = f(c) - f(a) + margin loss += max(0, violation) # 违反传递性时给惩罚

这只是示意,真实工程里还要考虑如何构造三元组、如何平衡多项约束、如何选择 margin。但它说明了核心思路:惩罚的不是“分数低”,而是“结构不一致”。

这里有三点需要特别小心:

第一,不是所有理性约束都适合所有任务。有些任务天然容忍局部不一致,比如创意写作,模型在两个风格完全不同的回答之间摇摆,可能不是缺陷,而是多样性。普通理性正则化会给它施加过大压力,反而压缩模型的表达能力。

第二,正则强度需要保守控制。建议先从一个很小的权重起步,观察理性分数的变化和主任务指标的走势。如果理性分数上升但主任务指标明显下降,说明约束过强,需要回调。

第三,一定要定期监控。理性正则化可能会和主任务损耗产生隐性冲突,尤其在多任务学习里。不要只看最终分数,要把理性分数当成一个独立指标,在训练日志里持续观察。

注意:不要一开始就把正则权重拉满,先用小规模样本验证“理性分数真的在上升”,再逐步放大约束强度。

5. 从想法到落地:几个容易踩的坑和排查链路

5.1 最容易把结果带偏的四个地方

理论看起来简洁,落地时却很容易踩坑。根据实际使用经验,以下四个地方最容易让结果失真。

第一个坑是选择数据构造偏差。如果两个备选项本身不是“可比较”的,比如一个回答包含两段推理,另一个回答只有结论,模型选择的不一致可能只是因为输入信息量不同,而不是偏好不稳定。构造选择集时必须尽量控制对比项的格式、长度、信息完整度。

第二个坑是模型随机性。生成式模型通常带温度参数,同样的输入重复几次,输出可能不同。这种随机性会让“模型选择不一致”的检测结果混入噪声。建议在一致性检测时固定温度到较低值,或者多次采样取多数偏好。

第三个坑是比较粒度。你是让模型比较两段完整文本,还是比较每个决策步骤?粒度不同,一致性的含义完全不同。整段文本对比更容易出现选择波动,而逐步决策的对比更接近“Agent 理性”,但工程实现更复杂。

第四个坑是阈值选择。多少违反率算“不理性”?这个没有通用答案。不同任务、不同模型、不同注册温度下,基线违反率差异很大。最好是先跑几次随机模型或旧版本模型,建立自己的基线,再判断新模型是变好还是变差。

5.2 一套可复用的排查顺序

如果你发现理性分数异常低,或者加了理性正则化之后训练不稳定,不要急着调参。按下面这个顺序排查,通常会更快定位问题。

  1. 先看现象。是理性分数整体偏低,还是只在某个数据子集上低?是训练开始就低,还是中途变差?现象描述得越细,后面排查范围越小。
  2. 再看数据。选择集是怎么构造的?输入顺序是否固定?对比项之间是否有非偏好因素干扰?先排除数据构造问题。
  3. 再看环境。随机种子、模型版本、温度参数是否固定?同一个模型在不同推理配置下,一致性检测结果可能差很多。
  4. 再看参数。正则权重、margin、三元组数量是否符合任务规模?权重过大或三元组过少,都可能让理性分数失真。
  5. 最后看理论边界。用到的表示定理是否有隐含前提?比如选择集是否完备、偏好关系是否可比较。如果数据本身不满足前提,理论指标再好看也没有实际意义。

这个排查顺序的核心思想,是先确定是哪一层出了问题,再决定修哪里。不要上来就改模型结构,也不要上来就删数据。多数所谓“理性异常”,最后都出在数据构造或推理配置上。

6. 适用边界:什么时候该用,什么时候别硬用

6.1 真正适合的场景

这个方向最适合的,是那些“没有标准答案,但存在偏好结构”的任务。

第一类是推荐系统的偏好一致性审计。推荐系统每天产生海量打分行为,你可以用无标签一致性来检测是否存在偏好反转、排序震荡、或者被某个隐藏因素主导的问题。

第二类是奖励模型和 RLHF 评估。奖励模型的目标是接近人类偏好,但人类偏好自身经常不一致。这时候用理性约束,至少可以先把“机器引入的不一致”压下去,再考虑如何适配人类偏好。

第三类是对齐和安全研究。模型是否在各种 prompt 变体下保持稳定的价值判断,是评估对齐质量的重要维度。理性分数可以作为一个辅助信号,提示模型是否存在行为碎片化。

第四类是 Agent 行为审计。多步骤 Agent 的每一步决策可以串成一个选择序列,检测序列是否满足一致性条件,有助于发现策略层面的不稳定。

6.2 不适合的场景

反过来,有几类任务不建议硬用这个思路。

事实性问答不适合。两个答案之间的一致性再高,也替代不了事实核对。你无法通过“模型一致地认为某座城市在某个错误位置”来判断它错了,因为外部世界知识不在选择逻辑里。

数学计算或代码执行类任务不适合。这类任务需要的是正确性,不是偏好一致性。一个计算器不会犯“A 大于 B、B 大于 C、C 大于 A”的偏好循环,它只会算错。

需要创造多样性的场景也不适合。如果任务本来就希望模型给出风格各异的多个回答,那么用理性一致性的尺子去量它,只会得出一个误导性的“不健康”结论。

如果要用一句话总结边界:理性评估适合衡量“模型是不是一个自洽的决策体”,不适合衡量“决策结果是不是符合事实”。它是一把结构尺,不是一把事实尺。

回到最开始的那个问题

这篇文章最想让你记住的一点是:评估模型,不等于一定要先有标准答案。标准答案很贵的时候,标准答案不存在的时候,甚至标准答案本身自相矛盾的时候,你仍然可以从模型的行为一致性里读出大量信息。

表示定理在其中的角色,是把“看起来一致”升格成“结构上可以被一个目标函数解释”,这让一致性从一个模糊的直觉,变成了一个可计算、可验证、可纳入训练的数学性质。而理性正则化,则是把这条标签无关的信号真正用起来,让模型在没有外部答案时,至少不自己拆自己的台。

如果你正在做奖励模型、偏好评估或 Agent 对齐,建议下周就先做一件小事:收集 100 个模型偏好三元组,检查一下传递性违反率。不用写复杂的表示定理代码,只要算一个简单的比例,你就可以立刻知道自己的模型在“自洽性”这个维度上到底站在哪里。这个数字,很可能比你手上的准确率报表更说明问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询