1. 首页
  2. 精选文章
  3. 模型部署后还能越跑越强!淘天 × 华科大提出 SERPO,在开放式任务上实现无标注自进化

模型部署后还能越跑越强!淘天 × 华科大提出 SERPO,在开放式任务上实现无标注自进化

  • 发布于 2026-08-04
  • ·
  • 35 次阅读
  • ·
  • ·

模型上线之后,还能不能在没有标注的情况下继续变强?

TTRL(Test-Time Reinforcement Learning)给出的路径很直接:让模型在测试任务上自己采样、自己构造奖励、自己更新参数。但现有 TTRL 大多依赖答案投票:采样多条回答,抽取最终答案,再用多数票生成伪标签。数学题、选择题和可归一化的符号任务都适用,因为它们共享一个前提:每条回答最终都能压缩成一个可比较的答案。

开放式生成没有这么简单。

两份医疗建议可能给出同一个主推荐,却在禁忌症、不确定性表述和转诊指引上相差很大;两份同样安全的回答,也可能只是表达方式和详略不同。此时,多数票奖励的往往不是质量,而是共同的遗漏,还可能惩罚正确但处于少数的写法。

开放式 TTRL 的判据级证据

论文:SERPO: Self-Evolving Rubric Policy Optimization for Open-Ended Test-Time Reinforcement Learning
代码:chiefovoavicii/SERPO
主页:SERPO Project Page

论文引言给出了 HealthBench 中的一个直观案例:孕晚期持续头痛。一组 rollout 很容易通过多数票收敛到“大概是常见孕期头痛,在家观察即可”。这句话听起来无害,却漏掉了先兆子痫的红旗信号,而这恰恰是整道题最重要的判断标准。答案形成了共识,关键判据却集体失守。

SERPO(Self-Evolving Rubric Policy Optimization)替换的正是这个投票机制。它不再问“哪个答案支持者最多”,而是问“高质量回答应满足哪些判据,这条回答又满足了多少”。这些判据不由人工编写,也不来自更强的模型,而是模型在测试时从自身回答的差异中生成,并随着策略变强持续更新。

在 Qwen3-4B 上,SERPO 将 HealthBench 从 32.30 提升到 49.83,将 ResearchQA 从 57.29 提升到 77.60;六项评测的平均分达到 61.98,与使用外部裁判和官方 rubric 的特权监督仅差 0.91 分。到了 9B,HealthBench 和 ResearchQA 分别提升 20.63 和 14.56 分。更重要的是,8 个 OOD 设定全部超过基础模型,连续进化 45 个 epoch 后,性能曲线仍在上升。

自进化到底“自”到什么程度

SERPO 采用固定任务集合上的 transductive 设定。整个适配过程只使用测试集原始 prompt、模型自己采样的回答,以及由这些回答派生出的统计量。它不接触参考答案、人类反馈、外部奖励模型、额外语料或更强的裁判,也不生成新任务。

rubric 生成器和 judge 都来自部署模型的初始权重,并在整个过程中保持冻结;唯一被更新的是 actor。所有辅助角色对评测答案完全不可见。

换句话说,模型没有借助外部监督,而是把自身回答之间的质量差异转化成训练信号。这就是 SERPO 所说的“无标注自进化”。

回答、判据与策略共同进化

SERPO 框架总览

SERPO 同时维护三类状态:每道题独立的 G-N-B 回答池 \mathcal{E}_t、每道题独立的 rubric 池 \mathcal{R}_t,以及所有题目共享的 actor 参数 \theta_t。回答为判据提供证据,判据为策略产生奖励,更新后的策略再生成新的回答。三者相互驱动,构成完整闭环。

用概率而非 Pass/Fail,保留奖励分辨率

固定预算下,每次 judge 调用都有成本。如果 judge 只输出硬性的 Pass/Fail,大量边界回答会落到同一个分数上,GRPO 的组内优势被抹平,采样得到的信息也随之浪费。

SERPO 读取 judge 完成推理后 Boolean verdict token 的对数概率,并将其转换为判据满足概率:

q_J(x,o,c_m)=\frac{\exp \ell^{(m)}_{\mathrm T}}{\exp \ell^{(m)}_{\mathrm T}+\exp \ell^{(m)}_{\mathrm F}}.

再根据判据的正负极性统一分数方向:

z_{m,t}(o)= \begin{cases} q_J(x,o,c_m), & \rho_m=+1,\\ 1-q_J(x,o,c_m), & \rho_m=-1. \end{cases}

这样得到的连续分数能够区分“确信满足”和“勉强满足”。消融实验中,一旦退回硬判定,HealthBench 下降 6%。

回答池进化:为什么需要 Good、Normal、Bad 三档

每道题都会保留一组模型自己生成过的代表性回答,并按质量分成 Good、Normal、Bad 三档。这个回答池是后续生成和筛选 rubric 的全部证据。

如果只保留最好和最差的回答,生成器很容易找到“区分优秀与灾难”的粗粒度规则,却学不到真正决定质量的细节。Normal 档补上了中间地带:一条有效判据不仅要区分好与坏,还必须稳定地区分 Good、Normal、Bad 的完整顺序。

SERPO 先用当前 rubric 对新一轮 rollout 进行临时排序,再从满足 Good ≥ Normal ≥ Bad 的组合中选出分离度最大的一组。三条回答分别进入对应的定长队列;如果这一轮没有产生有效分离,回答池就保持不动。这样留下的不是随机样本,而是一组有顺序、有间距、能够支持判据比较的证据。

Rubric 进化:只留下真正能区分质量的判据

到达刷新间隔时,rubric 生成器会读取 prompt、当前 rubric 和更新后的回答池,提出新的原子判据来解释回答之间的质量差异。新旧判据随后被归并:重复要求统一成稳定表述和 ID,相关但不同的规则继续独立保留,已有判据继承历史计数,新判据从零开始。

一条判据是否值得留下,取决于它的区分效用:

d_m=v_m\,a_m,\qquad v_m=4\,\mathrm{Var}\left[z_m(o)\right],\qquad a_m=\left[\frac{C_m-D_m}{P_m}\right]_+ .

v_m 衡量判据能否拉开回答之间的分数差距,a_m 衡量它是否把 Good、Normal、Bad 排在正确顺序上。只有同时满足这两个条件的判据才能获得高权重。恒定打分、频繁打平或排序颠倒的判据会进入淘汰区。

淘汰过程允许恢复。判据只有连续三轮落入淘汰区才会被真正删除;一旦重新表现出区分能力,计数器就会清零。这样可以避免一次噪声判断误删仍然有效的规则。

策略进化:把判据信号写回模型权重

rubric 更新完成后,SERPO 使用存活判据、区分效用导出的权重,以及经过 G-N-B 校准的定向分数,为每条 rollout 生成最终奖励。校准过程将 Bad 档均值拉向 0、Good 档均值拉向 1;当 Good-Bad 区间过窄时,则退回未校准的静态分数。

actor 更新后,新 rollout 会刷新回答池;回答池的变化带来新的判据提案;判据变化又会重新定义权重和校准区间。rubric 生成器和 judge 始终冻结,actor 则负责把这些信号留在模型权重中。

不只是上下文搜索:收益最终沉淀到权重

“自进化”常被用来描述不同层次的优化。《A Taxonomy of Self-Evolving Agents》将其分为三类:改进代码、论文或算法等产出物,属于 Artifacts 层;修改 prompt、memory、tool 或 skill 等脚手架,属于 Harness 层;直接更新模型参数,才属于 Model 层。

目前多数案例集中在前两层,因为 train-free 的修改成本低、见效快,也方便回滚。但 Ai2 的一项评测指出,harness evolution 本质上仍是在反馈驱动下反复搜索候选。如果把搜索预算控制为相同水平,许多“进化”收益会明显收缩。

SERPO 把 Harness 层与 Model 层放进同一个循环。judge、回答池和每道题的 rubric 池负责在上下文中产生训练信号,GRPO 再把这些信号写回 actor 参数。收益因此成为模型能力的一部分,而不是一次搜索结束后就消失的临时结果。

消融实验给出了直接证据:一旦冻结 actor,即使回答池和 rubric 继续进化,性能仍会退回 Base 附近。

为什么需要 TTRL:让模型对准真实任务分布

很多垂直领域的瓶颈,不是模型完全没有相关能力,而是通用训练数据与真实任务存在差距。患者如何描述症状、科研问题如何提出,很难在训练阶段被完整覆盖;模型部署后如果参数始终冻结,也无法继续适应新的任务形态。

TTRL 直接利用测试阶段的真实 prompt 进行适配。即使没有参考答案,这些 prompt 仍然反映了真实的输入方式,模型可以围绕它们自行采样和更新,不必等待新一轮人工标注与离线训练。

为什么使用 RL 而不是 SFT?SFT 需要确定的目标回答,RL 则直接优化模型自己的 rollout,在已有能力中提高高质量轨迹的生成概率。TTRL 因此不是灌入新知识,而是让已有能力对准当前领域。SERPO 再用自进化 rubric 解决开放式任务“奖励从哪里来”的问题。至于模型是否只记住当前 benchmark,后面的 OOD 和顺序进化实验会给出答案。

实验:无需人工标注,4B 模型追回特权监督约四分之三的增益

实验覆盖 Qwen3-4B-Instruct-2507Qwen3.5-9B。模型分别在 HealthBench 和 ResearchQA 上进行 in-domain 进化,再通过 MedQA、LLMEval-Med、GPQA-Diamond 和 RaR-Science 测试 OOD 迁移。评测由 GPT-5.1 按各数据集的官方 rubric 完成,这一特权只存在于评测环节,对整个适配过程不可见。

SERPO 主结果

我们没有把原始多数投票当作一个容易击败的弱基线,而是专门为开放式生成构造了两个更强的 TTRL 目标。response vote 将回答压缩成主推荐,再奖励最大 Jaccard 簇中的成员;claim consensus 进一步拆分原子 claim,构建回答-claim 支持矩阵,并奖励对高共识 claim 的覆盖率。这也是投票式 TTRL 首次被系统扩展到开放式生成。两个基线每题都采样 16 条 rollout,是 SERPO 的两倍。

Qwen3-4B 主结果如下:

方法 HealthBench (ID) ResearchQA (ID) 六项评测平均分
Base 32.30 57.29 53.92
TTRL (response vote) 34.27 57.91 54.47
+ claim consensus 43.71 69.39 57.98
RGSD(静态 rubric, TTS) 27.13 58.20 51.32
+ rubric 自进化 32.06 65.51 55.43
SERPO(ours) 49.83 77.60 61.98
外部裁判 + 官方 rubric(非 label-free) 56.14 82.73 62.89

以 Base 为起点,SERPO 在 HealthBench 和 ResearchQA 上分别追回了特权监督 73.5% 和 79.8% 的增益。六项评测的平均分达到 61.98,与特权监督的 62.89 相差不到 1 分。

9B 上的结论一致:HealthBench 从 44.68 提升到 65.31(+20.63),ResearchQA 从 68.62 提升到 83.18(+14.56),六项评测的平均分从 66.75 提升到 74.36(+7.61)。两个模型的 in-domain 相对提升达到 21%–54%。

Claim consensus 已经很强,但仍受制于频率。 相比 response vote,它带来了 13%–28% 的提升,说明原子 claim 分解确实找回了整句投票丢失的语义信息。但只要整组 rollout 共享同一个遗漏,高支持度 claim 仍然可能是不完整的。SERPO 在每个 in-domain 设定上都比 claim consensus 高 5%–14%,这段差距正是“演化质量判据”相对“统计回答共识”带来的增益。

固定 rubric 很快会失去分辨率。 使用静态 rubric 做 test-time scaling 的 RGSD 将六项评测的平均分压到 Base 以下(51.32 vs. 53.92)。加入 rubric 进化后,性能重新回升;继续加入 policy 进化,相对纯 rubric 变体最多再提升 55%。固定判据只能覆盖策略当前水平下的一部分质量差异,策略一旦变强,原有判据很快就会见顶。

动态 rubric 与 policy 必须一起更新。 rubric 负责持续发现新的质量差异,policy 负责把这些差异固化为模型能力。只有两者闭环,收益才能继续累积。

这不是在背测试集:8 个 OOD 设定全部超过 Base

在测试集上更新参数,最直接的疑问是:模型会不会只学会当前 benchmark?

OOD 实验给出的答案是否定的。SERPO 在单个测试集上训练 30 个 epoch 后,8 个 OOD 设定全部超过 Base,最高提升 11.4%;这 8 个设定也全部超过了外部裁判基线,尽管后者在 in-domain 上更强。相比之下,投票类基线的 OOD 表现有升有降,说明 in-domain 共识并不自动带来迁移能力。

一个直接解释是:特权监督更容易贴合当前 benchmark 的官方判据,而 SERPO 从模型自己的回答差异中生长出更通用的质量标准,因此能够迁移到更广的任务分布。模型学到的不是某几道题的答案模板,而是一套可以跨任务复用的质量偏好。

消融:收益来自完整闭环,而不是更长的回答

回答变长是否就是涨分的原因?为排除这个解释,实验同时报告了相对响应长度,并按 Base 归一。

变体 HealthBench 三项平均 相对长度
Base 32.30 48.64 1.00×
w/o actor 进化 32.06 48.26 1.31×
w/o rubric 进化 43.54 53.52 2.29×
w/o G-N-B 进化 43.98 53.06 1.55×
w/o 概率化 judge 46.73 54.12 1.44×
w/ 训练 judge 43.22 53.03 1.76×
w/ 训练 rubric 生成器 43.82 53.53 1.94×
SERPO(完整) 49.83 55.69 1.38×

完整 SERPO 取得最高平均分,同时比所有更新 actor 的消融变体短 4%–40%。w/o rubric 进化 最典型:回答长度达到 Base 的 2.29 倍,分数却仍低于完整方法。回答变长不是 SERPO 的主要收益来源。

关闭 rubric 进化或冻结 G-N-B 回答池,HealthBench 分别下降约 13% 和 12%。这说明判据质量同时依赖不断更新的规则定义和最新的回答证据,少掉任何一部分,奖励都会迅速变粗。

最关键的结果来自 w/o actor 进化。在这个变体中,rubric 继续演化,回答池也继续滚动,只有模型权重保持不变。结果 HealthBench 为 32.06,低于 Base 的 32.30;三项平均为 48.26,同样低于 Base 的 48.64。主表中的静态 rubric RGSD 也从 Base 的 53.92 降到 51.32。

这正对应了前面关于 harness evolution 的质疑:如果收益只停留在上下文状态中,就未必能转化为持久能力。冻结 actor 后,HealthBench 相对完整 SERPO 下降约 36%,是所有消融中损失最大的一项。回答池和 rubric 负责产生信号,参数更新负责把信号留下来。

另一个反直觉结果是,训练 judge 或 rubric 生成器都会让性能下降。评估器一旦随 actor 一起变化,奖励标准也会漂移,actor 不得不追逐一个持续移动的目标。冻结辅助角色,反而能提供更稳定的优化坐标系。

长程与跨 benchmark:30 epoch 之后仍在继续进化

长程进化

把预算从 30 个 epoch 延长到 45 个,SERPO 又获得 3.6% 的相对提升,曲线仍未进入明显平台期。回答池和 rubric 在 epoch 30 之后依然能发现新的有效区分,说明标准训练预算尚未耗尽闭环中的可用信号。

论文还按 epoch 40–45 的局部斜率做了描述性线性外推,对应大约在 epoch 99 触及特权 ID 参考线。这项外推用于直观展示曲线后段的上升速度;实验直接观察到的结果是,训练进行到第 45 轮时,SERPO 仍能从新的回答差异中提取增量信号。

对照组的走势从另一侧验证了这一机制:response vote 会逐渐回退向基础策略,rubric-only 进化则较早进入平台期。随着策略变强、rollout 趋于同质,频率型奖励很快失去分辨率;持续刷新的 rubric 仍能找到回答之间的新差异。

跨 benchmark 顺序进化

顺序进化实验进一步测试了这种能力能否跨任务累积。同一个 actor 先在 HealthBench 上训练 30 个 epoch,再切换到 ResearchQA 训练 30 个 epoch。在对齐 checkpoint 上,epoch 30 时,SERPO 在 HealthBench 和 ResearchQA 上分别领先 TTRL-claim 15% 和 2%;到 epoch 60,领先幅度扩大到 23% 和 19%。

切换 benchmark 后,SERPO 的 ResearchQA 和 HealthBench 阶段最佳分别提高 19% 和 4%。也就是说,模型在学习新任务的同时,旧任务表现仍在继续提升。TTRL-claim 只在 HealthBench 上出现过短暂峰值,最终成绩反而低于自身 epoch 30 的水平。对齐 checkpoint 与阶段最佳两种统计方式得到了一致结论,因此提升并非来自 checkpoint 选择。

至此,SERPO 的迁移能力不再只体现在 held-out benchmark 上。它还表明,同一套参数可以沿着连续到来的任务继续进化,并把不同阶段产生的收益累积下来。

未来真的能做到“无限自进化”吗?

SERPO 为模型的持续自进化构建了一套完整闭环:回答提供对比证据,rubric 从证据中生长,奖励推动参数更新;更新后的模型再生成更强的回答,进入下一轮进化。

实验已经验证了这个闭环的三个特点:进化过程不依赖人工标注,收益能够写回模型权重,切换 benchmark 后仍能继续累积。它不再依赖“多数正确”这个在开放任务上并不成立的假设,而是把模型自身回答之间的质量差异组织成可优化的信号。即使 rollout 趋同、投票失去分辨率,演化中的 rubric 仍能继续区分优劣。

持续进化仍需要处理评估器漂移、遗忘和计算成本等问题,但路径已经变得清晰。下一步,如果把工具调用和真实环境中的持续任务接入这个循环,模型就不再局限于固定题库。调用什么工具、如何调用、结果是否可靠,都可以成为新的判据;这些判据产生的信号,又可以继续写回权重。

任务持续进入,判据持续生长,能力持续沉淀。SERPO 打通的,正是模型从“测试时适配”走向“持续自进化”的这条路径。

目录