Paper: 2607.01181 Authors: Mehul Damani, Isha Puri, Idan Shenfeld, Jacob Andreas Categories: cs.LG, cs.AI, cs.CL
The Gap
Here’s the state of play: RL with Verifiable Rewards (RLVR) has become the go-to for training language models on tasks where you can objectively check if the answer is right — think code that passes tests, or math proofs that verify. Methods like RLHF, RLEF, and direct RL on pass/fail signals work beautifully for accuracy.
But there’s a dirty secret. These methods optimize only what you can score with a verifier. They completely ignore the stuff that makes outputs feel human: style, structure, tone, conciseness, elegance. The result is well-documented failure modes — diversity collapse (the model finds one trick and repeats it), unnatural outputs (technically correct but reads like a robot), and reward hacking (the model games the verifier). Supervised fine-tuning (SFT) on human demonstrations captures style beautifully but doesn’t push the model beyond the demonstrated frontier for accuracy. You’re stuck choosing: optimize for correctness *or optimize for human-likeness.
This paper asks: what if you don’t have to choose? The path forward is to learn a proxy for the human output distribution — a discriminator — and use it as an additional reward signal alongside verifiable rewards. The discriminator is adversarially trained against the generator, so it keeps providing gradient signal even as the generator improves.
RLVR (prior approach):
Task with verifiable reward --> RL optimizer --> Model
| |
+--> maximize accuracy -----> style degrades |
diversity drops |
reward hacking |
v
Problem
This paper:
Task reward + Discriminator reward --> RL optimizer --> Model
| ^ |
| | |
+--> maximize accuracy | maximize human-likeness
+--> maximize human-likeness | |
+-- Discriminator <--+
| (trained on |
| human demos) |
+--------------------+
Logic path:
Problem: RLVR optimizes verifiable rewards, ignores style/structure
|
Assume: Human demonstrations encode non-verifiable quality signals
|
Method: Adversarial generator-discriminator adds learned human-proxy reward
|
Evidence: Bug fix (lower edit dist), story gen (higher win rate), less hacking
|
Conclusion: You can jointly optimize verifiable AND non-verifiable properties
The Increment
One sentence: Before this paper, you had to choose between RL’s accuracy gains and SFT’s human-like style; after this paper, a single training framework gives you both simultaneously.
Core Mechanism
The system has two components trained together: a generator (the language model being optimized) and a discriminator (a learned judge of human-likeness). The generator produces outputs for task prompts. These outputs are scored two ways: first, by a verifiable reward (does the code pass tests? is the math correct?), and second, by the discriminator (how likely is this output to have been written by a human?). The generator is trained via RL to maximize a weighted combination of both signals.
The discriminator is trained simultaneously on a contrastive objective: given a prompt and two completions — one from a human demonstration dataset, one from the current generator — learn to tell them apart. As the generator improves and produces more human-like outputs, the discriminator must sharpen its judgment, creating a co-evolutionary dynamic. The discriminator never needs explicit labels for “good style” — it implicitly captures everything that distinguishes human writing from model writing through the training distribution.
The adversarial setup is crucial for scalability. A fixed reward model would become obsolete as the generator distribution shifts. But because the discriminator trains alongside the generator on fresh samples, it continuously adapts, providing useful gradient signal throughout training. This is the key architectural difference from simply doing RLHF with a frozen reward model.
Generator (LM) Discriminator
| |
| prompt |
v |
Generate output |
| |
+-----> verifiable reward -------->|
| (task-specific) |
| |
+-----> discriminator score ------->|
| (human-likeness) |
| |
v |
RL update |
(maximize both rewards) |
| |
| |
+--- human demo vs gen output --->|
|
Contrastive training
(tell human from model)
Data flow:
prompt --> [Generator] --> output
| |
verifiable_r disc_score
| |
v v
combined_reward --> RL objective --> update Generator
|
human_demo vs output --> Discriminator objective --> update Discriminator
The Restaurant Critic Metaphor
Think of this like training a young chef through a restaurant feedback system.
The verifiable reward is the health inspector — a binary, objective check. Does the food pass food safety standards? Is the dish technically correct? This is easy to measure and gives the chef a clear floor to hit. But a chef who *only optimizes for passing health inspections will produce bland, safe, uninspired food. You’ve seen this in RLVR models: technically correct but soulless.
The discriminator is a food critic who has eaten at the best restaurants in the city. The critic doesn’t have a checklist of “good dishes” — instead, they’ve internalized thousands of meals and can feel when something tastes *restaurant-quality versus cafeteria-quality. You give the critic one dish from a world-class chef and one from your trainee, and they learn to tell them apart. The trainee chef then tries to fool both the health inspector AND the critic.
As the trainee improves, the critic has to sharpen their palate too — they can’t just rely on obvious tells anymore. The result: the chef learns to pass health inspections (verifiable reward) while also producing food that feels refined and intentional (discriminator reward). The two feedback loops co-evolve, pushing the chef toward food that is both safe AND delicious.
Without the critic, you get technically edible food nobody wants to eat. Without the health inspector, you get creative food that might make people sick. The insight is that you need both, training simultaneously, so neither signal goes stale.
Key Concepts
-
RL with Verifiable Rewards (RLVR): Imagine you’re training a student to solve math problems. RLVR is like giving them a calculator to check their own work — right or wrong, instant feedback, no ambiguity. It works great because the feedback is perfectly reliable. But now imagine training the same student to write essays. There’s no calculator for “good writing.” RLVR can only optimize what a verifier can check, so it’s powerful but narrow. This paper’s insight is that RLVR leaves a huge amount of quality on the table — style, structure, naturalness — that verifiers simply can’t see.
-
Adversarial co-training: Think of two kids in a game: one draws pictures, the other tries to guess if a picture was drawn by the kid or by a professional artist. At first the guesser is terrible — the kid’s drawings are obviously amateur. But as the kid practices and improves, the guesser has to notice subtler tells (wrong proportions in hands, awkward shading). The guesser getting better forces the kid to improve faster, and vice versa. Neither one stops learning because the other keeps raising the bar. That’s exactly what happens between the generator and discriminator here — they create a self-improving feedback loop that neither a static reward model nor a fixed SFT dataset can provide.
-
Non-verifiable properties: These are qualities where reasonable humans might disagree on a score but can still feel the difference. “Is this story well-written?” doesn’t have a clean number. But if you show people two stories, they can reliably say which one reads better. The discriminator learns these implicit preferences from raw examples — no annotation, no rubric, just human-written examples as the gold standard.
Framework Shift
Before (mainstream): After (this paper):
Prompt Prompt
| |
v v
Generator Generator
| |
v v
Verifier ----> scalar reward Verifier ----> scalar reward (task)
| |
v |
RL update Discriminator --> adversarial reward
(accuracy only) ^ |
| | v
v | combined RL update
Style degrades Human demos ---+ (task + human-likeness)
Reward hacking occurs |
| v
v Style preserved
Diversity collapses Diversity maintained
Reward hacking suppressed
From optimizing verifiable scores alone to jointly optimizing verifiable scores and human-likeness through adversarial co-training, the core shift is treating “sounds human” as a learnable objective rather than an unsolvable problem.
Expert Assessment
Problem choice: This is a real gap. The tension between RL accuracy gains and SFT style preservation is something every practitioner building with RLVR runs into. The failure modes — diversity collapse, reward hacking, robotic-sounding outputs — are not theoretical; they’re daily headaches. The paper positions itself at a natural inflection point where RLVR is becoming dominant but its limitations are becoming painful. Good instinct.
Method maturity: The approach is conceptually clean — it’s essentially a GAN objective layered onto RLVR, which is not a deep theoretical contribution but a pragmatic architectural one. One could argue simpler alternatives exist: just add a KL penalty to a reference model, or do alternating SFT/RL rounds. The paper addresses KL-penalty baselines and shows they underperform, which is important. However, the adversarial training adds significant complexity (hyperparameters for discriminator capacity, training frequency, reward weighting) and the paper doesn’t do a thorough ablation on these. It’s clever but not the only path — and the adversarial instability issues from GANs are largely hand-waved away.
Experimental integrity: The experiments span three diverse domains (bug fixing, story generation, reward hacking), which is good coverage. Baselines include vanilla RLVR, SFT, and KL-regularized approaches. The bug-fixing results (lower edit distance with matching accuracy) and story generation results (higher win rate) are compelling. The reward hacking benchmark is a smart choice — it’s a clean, interpretable test. However, the reward hacking experiment uses a somewhat toy setup, and the story generation evaluation relies on LLM-as-judge win rates, which is standard but carries known biases. I’d want to see human evaluations for the story generation task before fully trusting those numbers. Also, the paper doesn’t discuss training stability in depth — GAN-style training can be notoriously finicky, and the paper seems to get lucky with convergence rather than providing robustness guarantees.
Writing quality: The paper is well-structured and readable. The framing of “bridging RL and SFT” is clean and memorable. However, the related work section is thin — the connection to prior work on discriminator-based rewards (like earlier GAN-for-text papers) deserves more thorough treatment. The limitations section is also undercooked; they should acknowledge more directly that the discriminator’s quality depends heavily on the human demonstration data, and that distribution shift between the demonstration domain and the target task could be a real problem.
Verdict: weak accept — The idea is intuitive and the results are solid across multiple domains, but the method is more of a clever composition than a deep insight, and the evaluation has some soft spots (LLM-as-judge, toy reward hacking, limited ablations).
Takeaways
Three things you can steal right now:
-
The discriminator-as-style-proxy pattern: If you’re doing RLVR on any task and your outputs feel “off” even when they’re correct, train a small discriminator on human-written examples of good outputs. Use its score as a secondary reward signal. You don’t need this paper’s full framework — even a frozen discriminator fine-tuned on a few hundred human examples can provide meaningful style gradient.
-
The “bridge RL and SFT” framing: Stop thinking of RL and SFT as separate training phases you alternate between. This paper shows you can get both signals in a single training loop. If you’re currently doing SFT-then-RL pipelines, consider whether you can get the SFT signal through a learned reward rather than through direct supervision. This can be cleaner architecturally.
-
Co-training prevents stale rewards: If you’re using any learned reward model, training it alongside your policy (rather than freezing it) prevents the well-known problem of the model exploiting a fixed reward model’s blind spots. This isn’t new (it’s classic GAN thinking), but this paper demonstrates it cleanly in the LM RLVR setting.
论文: 2607.01181 作者: Mehul Damani, Isha Puri, Idan Shenfeld, Jacob Andreas 分类: cs.LG, cs.AI, cs.CL
缺口
当下的格局是这样的:可验证奖励强化学习(RLVR) 已经成为训练语言模型处理可客观验证任务的主流方法——代码能跑通测试、数学答案能通过校验,这些场景下 RLVR 效果卓越。
但它有一个隐疾:RLVR 只优化可以打分的东西,完全忽视了让输出”像人写的”那些属性——风格、结构、语气、简洁度。 后果是显而易见的:多样性崩塌(模型找到一个捷径反复用)、输出不自然(技术上正确但读起来像机器人)、奖励黑客(模型利用验证器的漏洞)。 而监督微调(SFT)虽然能完美学习人类示范的风格,却无法推动模型在准确率上超越示范者的水平。 研究者被迫二选一:要准确率 还是要 人味。
这篇论文的核心问题是:能不能不选? 路径是从人类示范数据中训练一个判别器,作为”人类输出分布”的代理,用它的分数作为 RLVR 的补充奖励信号。 判别器与生成器对抗训练,随着生成器进步,判别器也必须跟着进化,持续提供有用的梯度信号。
RLVR(此前的做法):
任务 + 可验证奖励 --> RL 优化 --> 模型
| |
+--> 最大化准确率 |
但风格退化、多样性崩塌 |
奖励黑客频繁出现 v
问题
本文的做法:
任务奖励 + 判别器奖励 --> RL 优化 --> 模型
| ^ |
| | |
+--> 准确率 | 人味 / 自然度
+--> 人味 | |
+-- 判别器 <-+
| (训练于 |
| 人类示范) |
+------------+
逻辑路径:
问题: RLVR 优化可验证奖励,忽略风格与结构
|
假设: 人类示范中编码了不可验证的质量信号
|
方法: 对抗式生成器-判别器框架,补充人类代理奖励
|
证据: 修 bug(编辑距离更低)、写故事(胜率更高)、更少黑客行为
|
结论: 可验证属性与不可验证属性可以同时优化
增量
一句话:这篇论文之前,你得在 RL 的准确率增益和 SFT 的人类风格之间二选一;之后,一个统一框架让你两者兼得。
核心机制
系统有两个同时训练的组件:生成器(被优化的语言模型)和判别器(一个学出来的人味判断器)。 生成器对任务提示生成输出。 输出被两种方式打分:一是可验证奖励(代码能跑吗?数学对吗?),二是判别器的分数(这个输出有多像人写的?)。 生成器通过 RL 最大化两者的加权组合。
判别器同时用对比目标训练:给定一个提示和两个完成——一个来自人类示范数据集,一个来自当前生成器——学会区分两者。 随着生成器进步、输出越来越像人写的,判别器必须磨练自己的判断力,形成协同进化。 判别器不需要”好风格”的显式标签——它通过训练分布隐式地捕获了人类写作与模型写作之间的所有差异。
对抗式设置对可扩展性至关重要。 固定的奖励模型会随着生成器分布偏移而过时。 但因为判别器在新样本上与生成器同步训练,它能持续适应,在整个训练过程中提供有用的梯度信号。 这是与使用冻结奖励模型做 RLHF 的关键架构差异。
生成器(LM) 判别器
| |
| 提示 |
v |
生成输出 |
| |
+----> 可验证奖励 -------------> |
| (任务特定) |
| |
+----> 判别器分数 -------------> |
| (人味) |
v |
RL 更新 |
(最大化两项奖励) |
| |
| |
+--- 人类示范 vs 模型输出 ------> |
对比训练
(区分人写与模型写)
数据流:
提示 --> [生成器] --> 输出
| |
可验证奖励 判别器分数
| |
v v
组合奖励 --> RL 目标 --> 更新生成器
|
人类示范 vs 输出 --> 判别器目标 --> 更新判别器
厨师训练营比喻
把这个过程想成训练一个年轻厨师。
可验证奖励就是卫生检查员——客观、二元的。 食物安全吗?操作规范吗? 这很容易衡量,给了厨师一个明确的底线。 但一个 只 优化卫生检查的厨师,做出来的东西安全但无趣。 RLVR 模型就是这样:技术上正确,但没有灵魂。
判别器是一个吃过无数顶级餐厅的美食评论家。 评论家没有一份”好菜”的检查清单——他们内化了成千上万顿饭的体验,能直觉地分辨”餐厅级”和”食堂级”的区别。 你给评论家一道名厨的菜和一道学徒的菜,让他们学习区分。 学徒厨师则努力同时骗过卫生检查员 和 评论家。
随着学徒进步,评论家也必须磨练味蕾——不能只靠明显的破绽了。 结果:厨师学会了通过卫生检查(可验证奖励),同时做出真正精致有灵魂的菜(判别器奖励)。 两个反馈回路共同进化,把厨师推向既安全 又 美味的方向。
没有评论家,你得到的是没人想吃的”能吃”的食物。 没有卫生检查员,你得到的是可能让人拉肚子的”创意料理”。 核心洞见是你需要两者同步训练,这样任何一个信号都不会过期。
关键概念
-
可验证奖励强化学习(RLVR):想象你在训练一个学生做数学题。 RLVR 就像给学生一个计算器自己验算——对就是对,错就是错,没有模糊空间。 反馈完全可靠,所以这种方法很强大。 但如果你要训练同一个学生写作文呢? “好文章”没有计算器。 RLVR 只能优化验证器能看到的东西,所以在风格、结构、自然度这些维度上留下了巨大的优化空间。 这篇论文的核心洞见就是:RLVR 把大量质量丢在了桌面上。
-
对抗式协同训练:想象两个小孩在玩一个游戏:一个画画,另一个猜这幅画是小孩画的还是专业画家画的。 一开始猜的人毫不费力——小孩的画明显是业余的。 但随着小孩进步,猜的人必须注意到更细微的破绽(手指比例不对、阴影太生硬)。 猜的人变强迫使小孩进步更快,反之亦然。 没有人会停止学习,因为对方一直在提高门槛。 这就是生成器和判别器之间发生的事——它们创造了一个自我提升的反馈循环,而这正是固定奖励模型或固定 SFT 数据集做不到的。
-
不可验证属性:这些是合理的人可能在打分上意见不一、但依然能感受到差异的品质。 “这个故事写得好吗?“没有一个干净的数字。 但如果你给人看两个故事,他们能可靠地说出哪个更好。 判别器从原始样本中学习这些隐含偏好——不需要标注,不需要评分标准,只需要以人类写的例子作为金标准。
框架转变
之前(主流方法): 之后(本文方法):
提示 提示
| |
v v
生成器 生成器
| |
v v
验证器 --> 标量奖励 验证器 --> 标量奖励(任务)
| |
v |
RL 更新 判别器 --> 对抗性奖励
(只优化准确率) ^ |
| | v
v | 组合 RL 更新
风格退化 人类示范 ---+ (任务 + 人味)
奖励黑客出现 |
| v
v 风格保持
多样性崩塌 多样性维持
奖励黑客被压制
从只优化可验证分数,到通过对抗协同训练同时优化可验证分数与人味,核心转变是把”像人写的”从一个无法解决的问题变成了一个可学习的目标。
专家评审
选题眼光:这是真缺口。 RL 准确率增益与 SFT 风格保持之间的张力,是每个用 RLVR 的实践者都会遇到的。 多样性崩塌、奖励黑客、机器人味输出——这些不是理论假设,是日常痛点。 论文把自己定位在 RLVR 正在成为主流、但其局限性正变得痛苦的自然拐点上,判断不错。
方法成熟度:概念上很干净——本质上是把 GAN 目标叠加到 RLVR 上。 这不是一个很深的理论贡献,更像一个实用的架构设计。 有人可能会说有更简单的替代方案:直接加 KL 惩罚到参考模型,或者交替做 SFT/RL 轮次。 论文对比了 KL 惩罚基线并显示其效果不如人意,这一点很重要。 但对抗训练增加了很多复杂性(判别器容量、训练频率、奖励权重等超参数),论文对这些消融不够充分。 巧妙但非唯一路径——来自 GAN 的对抗不稳定性问题基本被轻描淡写地跳过了。
实验诚意:实验覆盖了三个不同领域(修 bug、写故事、奖励黑客),多样性不错。 基线包括纯 RLVR、SFT 和 KL 正则化方法。 修 bug 的结果(更低编辑距离且准确率持平)和写故事的结果(更高胜率)很有说服力。 奖励黑客基准是个聪明的选择——干净、可解释。 但奖励黑客实验用的是比较玩具的设定,写故事的评估依赖 LLM-as-judge 的胜率——这是标准做法但有已知偏差。 故事生成任务上我想看到人类评估才能完全信任那些数字。 另外,论文对训练稳定性的讨论很浅——GAN 式训练众所周知地不稳定,论文看起来更像运气好能收敛,而非提供了鲁棒性保证。
写作功力:论文结构清晰、可读性好。“弥合 RL 与 SFT”的框架很干净、很易记。 但相关工作部分太薄了——与早期 GAN 生成文本的判别器奖励工作的关联值得更深入的讨论。 局限性部分也写得不够;应该更直接地承认判别器的质量高度依赖人类示范数据,示范领域与目标任务之间的分布偏移可能是个真实问题。
判决:弱接收——想法直观,结果在多个领域都扎实,但方法更多是巧妙的组合而非深刻的洞见,评估有一些软肋(LLM-as-judge、玩具级奖励黑客、消融不够充分)。
要点总结
三样东西你现在就能用:
-
判别器作为风格代理的模式:如果你在任何任务上做 RLVR,输出即使正确也感觉”不对劲”,就在人类写的优秀输出上训练一个小判别器,用它的分数作为辅助奖励信号。你不需要这篇论文的完整框架——哪怕是一个冻结的、在几百个人类样本上微调过的判别器,都能提供有意义的风格梯度。
-
“弥合 RL 与 SFT”的思维框架:别再把 RL 和 SFT 当成需要交替进行的独立训练阶段了。这篇论文表明你可以在一个训练循环里同时获得两种信号。如果你目前在做 SFT-then-RL 的流水线,考虑一下能否通过学习到的奖励来获取 SFT 信号,而不是通过直接监督。这在架构上更干净。
-
协同训练防止奖励过期:如果你在用任何学习到的奖励模型,把它和策略一起训练(而不是冻结它),可以避免模型利用固定奖励模型盲点的老问题。这不新鲜(经典 GAN 思维),但这篇论文在 LM RLVR 场景中把它展示得很清楚。