提示、微调,还是强化学习?

T1
深入解析 · 训练智能体模型

提示、微调还是 RL:选能闭合差距的最便宜的那个工具。

有三种干预能改变智能体的行为:改提示(不更新权重)、在示范上做有监督微调(模仿一个目标分布),或针对某个奖励做强化学习(优化一个你能打分却无法示范的目标)。它们构成一架成本、数据与技能层层升级的梯子。多数团队在一个提示本可奏效时就伸手去训练。本文给出这棵决策树,以及把你推上每一级阶梯的失效模式。

STEP 1

每个杠杆改变的是不同的东西

提示改变的是条件,不是模型。你用上下文——指令、示例、工具、检索到的事实——去引导一个固定的策略。SFT 改变策略本身,使其匹配一个示范分布——它让模型更可能产出像你示例那样的输出。RL 改变策略,使其在自己采样的轨迹上最大化一个标量奖励——它让模型更可能产出得分高的输出,哪怕没有任何人示范过。

清晰的区分是:SFT 教模型模仿("照这些示例做");RL 教它优化("做任何能拿高分的事")。提示什么都不教——它只是发问。弄清你的问题需要 imitateoptimize 还是 ask,决策就完成了大半。

STEP 2

提示能行就别训练

一次提示改动几分钟就能上线,在 diff 里可审计,不耗 GPU,且可回滚。一次微调则要付出数据管线、一次训练运行、一套评测框架、一个服务工件,以及一份每当底座模型更新就漂移的永久维护负债。期望值的算术压倒性地支持先把提示用尽:更好的指令、few-shot 示例、任务分解、工具可供性、检索,以及一个更强的底座模型。

经验法则:如果一位能干的工程师花一天改提示和工具规约就能把指标抬上去,你还没有训练问题。只有当提示已触顶残余差距值得养一条常设管线时,训练才有正当性。

提示真正赢不了的只有两种情形:行为需要太大、无法装进或无法在上下文里说清的隐性知识或风格(这是 SFT 信号),或者行为需要模型发现一个比你能写下的任何东西都更好、由一个你能打分的结果来评判的策略(这是 RL 信号)。

STEP 3

SFT:当你能示范却说不清时

当你拥有——或能廉价造出——一批好轨迹,且目标是让它们成为模型的默认行为时,选 SFT。SFT 擅长格式遵循、领域语气、工具调用语法,以及把一段又长又脆的提示压进权重。它是模仿:上限就是你示范的质量。SFT 不会发明数据里没有的行为,且会忠实复制你示范者的错误与捷径。

# SFT objective: maximize likelihood of demonstrated tokens
loss = -log_prob(model, demo.completion | demo.prompt)
# ceiling = quality of demos; cannot exceed the demonstrator

团队常用仅仅平均水准的示范去做 SFT 以"提升质量"。你会得到一个平均水准的模型,更快更便宜——但不是更好的。训练之前先无情地筛选。

STEP 4

RL:当你能打分却无法示范时

当你能廉价评估一个结果、却无法枚举出产生它的行为时,选 RL:通过测试的代码、能被核验的证明、抵达已验证终态的多步任务、奖励模型更偏好的回答。RL 让模型搜索它自己的动作空间,并强化任何得分高的轨迹——包括没有人会写出来的策略。

# RL objective: maximize expected reward over sampled rollouts
traj  = sample(policy, task)
r     = reward(traj)            # scorable, not demonstrated
loss  = -advantage(r) * log_prob(policy, traj)

RL 的威力也是它的隐患:它优化你写下的奖励,而非你想要的那个。它需要规模化下可用的信号、一个稳定的起始策略(几乎总是一个 SFT 过的模型),以及远比 SFT 更多的基础设施与 ML 判断力。它位于梯子顶端是有原因的。

STEP 5

这架梯子,以及各级如何叠加

  • 提示——几分钟,零训练数据,低技能,完全可逆。永远是第一步。
  • SFT——数天到数周,数百到数千条精选轨迹,中等技能。是主力;多数"训练"问题的正确答案。
  • RL——数周到数月,规模化的稳健奖励,高技能与高基础设施。仅当模仿可证地够不到标准时才是正确答案。

它们并不互斥——它们叠加。标准配方是提示优先;若触顶,用 SFT 设定一个强策略;唯有此后才在 SFT 模型之上做 RL,把模仿的上限往上推。跳级(在弱底座上做 RL、在未筛选数据上做 SFT)是团队烧掉一个季度最常见的方式。

STEP 6

何时不要爬这架梯子

如果指标随提示改动而变动、如果你无法把目标表述成示范或分数其中之一、如果底座模型即将被替换、或者如果你没有一个能证明训练后模型更好的评测,就别训练。一个你无法评估的微调是一份你无法退役的负债。提示发问,SFT 模仿,RL 优化——能闭合差距的最便宜的杠杆才是对的那个,而非最强大的那个。