先这样答
Best-of-N 和拒绝采样是提升模型输出质量的前后置手段。Best-of-N 发生在推理阶段,针对一个输入,让模型生成 N 个不同回答,用奖励模型或规则判据打分,输出最高分结果。这不更新模型参数,纯靠扩大采样规模筛选好行为。拒绝采样训练则是把 Best-of-N 选出的优质回答当作监督微调数据,反向训练模型,让模型只学好样本。
它们与强化学习的关系,体现为离线与在线、硬筛选与软更新的区别。拒绝采样是强化学习的朴素离线形态。强化学习依赖探索和策略改进,拒绝采样通过模型的随机生成完成探索,通过判据择优完成策略改进。而 PPO 或 GRPO 这类标准强化学习算法,是它的在线连续版。标准强化学习不会直接丢弃非最优样本,而是计算每个样本的优势值,按优势大小对梯度加权更新。
工程落地时面临几个核心考量。首先是 N 的成本账,采样数量与算力消耗成正比。其次,筛选判据的准确度决定了模型能力的上限。最后是迭代控制,把拒绝采样生成的数据反复用于训练,容易导致输出分布坍缩,降低生成多样性。目前许多让模型通过数据自举提升推理能力的方案,底层都依赖这套逻辑。
总而言之,拒绝采样是用推理算力换对齐数据的离线手段,标准强化学习是更精细的在线策略优化,两者常在工程中配合使用。
面试官会怎么追问
- 「Best-of-N 里的 N 设置多大比较合适,怎么权衡?」 N 的大小取决于算力预算和判别能力。N 较小时,性能改善明显,但 N 过大时边际收益递减,且容易暴露判据的误判漏洞。工程上通常通过小规模实验测试胜率变化,寻找成本和质量的平衡点。
- 「如果拒绝采样训练后模型能力没有提升,通常是什么原因?」 常见原因是筛选判据质量不够,导致选出的样本存在逻辑瑕疵。另外,如果模型本身能力太弱,随机采样很难生成高质量回答,此时需要引入更强的外部判据,或先用其他数据做基础微调。
- 「刚才提到分布坍缩,在做拒绝采样迭代时怎么缓解这个问题?」 可以在采样阶段调整温度参数,强制模型生成多样化回答以保证探索空间。训练时混合一定比例的人工标注数据,防止模型过度拟合单一偏好。控制总迭代轮次也是防止输出模式单一的做法。
回答的坑
回答时容易把 Best-of-N 说成是一种训练方法,正确的理解是它只是一种推理时的采样策略,基于它筛选数据再训练才叫拒绝采样。
不要认为拒绝采样和强化学习完全无关,应该向面试官点明拒绝采样本质上是一种利用硬筛选进行策略改进的离线强化学习。
同系列的题
—— 本题完 ——