Finetuning with Sampling:标准 SFT 打赢 RL 的新范式 · 干货攻略
- 链接:https://x.com/maximelabonne/status/2106698820648911122
- 分类:x-tips
- 来源:X @maximelabonne
- 作者:Jay
- 更新:2026-10-05
- 仓库:aakaran/finetuning-with-sampling
这是什么
哈佛团队(Aayush Karan、Sitan Chen、Yilun Du)提出 Projection Sampling(投影采样):在 SFT 训练前,用 MCMC(Metropolis-Hastings)把离策略(off-policy)的专家轨迹逐步重写为贴近基础模型分布的轨迹,再送进标准 SFT。论文标题开宗明义——SFT Learns Better Than You Think,Accepted to NeurIPS 2026。
核心洞察:不是改学习算法,而是改数据分布。传统观点认为 RL 才能泛化、SFT 只能背记;这篇论文证明,只要数据足够"对路",标准 SFT 可以同时做到更强的泛化和更少的遗忘。
仓库: https://github.com/aakaran/finetuning-with-sampling(PyTorch 实现,含化学和数学两条数据流水线)
为什么值得关注
解决的核心矛盾
Post-training 领域长期存在一个 trade-off:
| SFT | RL / OPSD | |
|---|---|---|
| 泛化新任务 | ❌ 弱,容易过拟合 | ✅ 强 |
| 保留已有能力 | ❌ 灾难遗忘严重 | ✅ 相对保留 |
| 利用离策略数据 | ✅ 直接用 | ❌ 必须靠模型自己采样成功轨迹 |
| 计算成本 | 低 | 高 |
根本原因:RL 是 on-policy 的,模型用自己的样本指导更新,所以学到的分布不会跑太远;SFT 是 off-policy 的,专家轨迹和模型分布差异大,梯度更新剧烈且不稳定,容易过拟合。但 RL 的弱点是:如果模型在某个训练样本上自己就生成不出正确轨迹,就没有任何学习信号——这对"引入全新能力"的场景是致命伤。
论文的核心贡献
论文没有修改 SFT 损失函数本身,而是提出了一个两步框架:
- Projection Sampling(MCMC 投影采样):用 Metropolis-Hastings MCMC 迭代地改写专家轨迹,使其在保留正确答案(约束条件)的同时,逐步向基础模型的 token 分布靠拢
- 标准 SFT:用变换后的数据直接训练,完全不改学习算法
这相当于把"数据配平"的工作从模型层前移到数据层,SFT 只需要做它最擅长的事。
核验过程
官方来源
- arXiv 摘要页(https://arxiv.org/abs/2610.02140):确认论文基本信息、NeurIPS 2026 接收状态
- GitHub README(https://github.com/aakaran/finetuning-with-sampling):确认代码仓库存在、环境配置(conda env create -f environment.yml)、训练流程(SFT 部分复用 yongliang-wu/DFT)、评测命令
- arXiv HTML 全文(https://arxiv.org/html/2610.02140v1):提取第 4 节数学推导(信息投影定义、Proposition 1、MCMC 实现)、第 5 节实验细节
交叉验证
- AlphaSignal 新闻(https://alphasignal.ai):确认核心结论可复现,补充了 Pass@k 曲线超基础模型的证据("genuinely new capability rather than distribution sharpening")
- alphaXiv 评论区:确认 Prior Capability Average 数字( Sampling SFT 58.6% vs OPSD 56.8% vs SFT 52.0% vs Base 59.7%)
关键数字核验
以下数字均来自 arXiv HTML 全文 Table 1,X 帖原话与官方数据一致:
化学任务(Qwen2.5-7B-Instruct, SciKnowEval Chemistry L-3):
| 方法 | 新任务(化学)准确率 |
|---|---|
| Sampling SFT(本文) | 66.0% |
| OPSD(on-policy 自蒸馏) | 61.8% |
| Vanilla SFT | 61.8% |
化学任务提升 +4.2 pts 超越 OPSD,+4.2 pts 超越 vanilla SFT。
数学任务(Qwen2.5-3B-Instruct):
| 方法 | MATH(3,4,5) | AMC | MATH500 |
|---|---|---|---|
| Base(基座) | 0.315 | 0.133 | 0.245 |
| Vanilla SFT | 0.243 | 0.100 | 0.168 |
| OPSD | 0.267 | 0.084 | 0.332 |
| GRPO | 0.457 | 0.249 | 0.313 |
| UFT | 0.470 | 0.293 | 0.297 |
| Sampling SFT(本文) | 0.495 | 0.277 | 0.582 |
Sampling SFT 在 MATH(3,4,5) 领先 GRPO +3.8 pts,领先 UFT +2.5 pts;在 MATH500 领先所有基线。
医学任务(Qwen2.5-7B-Instruct):Sampling SFT Prior Avg 43.0% vs OPSD 37.9%,提升 +5.1 pts。
Prior Capability Retention(Qwen2.5-3B-Instruct,Prior Avg = MMLU + GPQA + AMC + MATH500 + GSM8K 的单 shot 准确率均值):Sampling SFT 58.6% > OPSD 56.8% > SFT 52.0%,显著优于 vanilla SFT,但仍略低于 Base 59.7%(差距 1.1 pts)。
不确定处
- 原帖提及"LFM 2.5-2.6B 在所有 harness 上训练",该说法来自 @maximelabonne 的合作公告推文,未经独立核验,攻略正文未引用此数字
- MCMC 采样的 acceptance rate、具体 burn-in steps 等超参数,论文 Appendix 未提供,GitHub README 也未列出,这部分细节属于未公开信息
上手步骤
环境配置
git clone https://github.com/aakaran/finetuning-with-sampling.git
cd finetuning-with-sampling
conda env create -f environment.yml
conda activate mcmc
数据准备
仓库提供两条完整数据流水线:
- 化学轨迹:
sci_data/目录含 .json 训练数据;运行sbatch boost_sci.sh启动 15 shard 并行投影采样,输出 .jsonl 文件(含 boosted traces、原始 solution、correctness 等字段) - 数学轨迹:
math_data/目录含 .parquet 训练数据;运行sbatch boost_math.sh
投影采样这一步输出 .jsonl,需要转换为 .parquet(将 prompt 和 response 字段重命名),才可送入 SFT 训练。
SFT 训练
论文将 SFT 训练委托给 yongliang-wu/DFT 仓库,化学和数学统一超参:
# 推荐超参(来自 GitHub README)
--learning_rate=5e-5
--num_train_epochs=2
--batch_size=16
评测
# 化学评测
# 将 hf 模型路径加入 eval_sci.sh 的 MODEL_PATHS
sbatch --array=0-N eval_sci.sh
# 数学评测
sbatch eval_math.sh
sbatch eval_ood_math.sh
# MMLU / GPQA 评测
# 论文推荐使用 eleutherai/lm-evaluation-harness
坑与适用边界
1. MCMC 采样是计算密集瓶颈
投影采样的本质是对每个专家轨迹做多次 LLM forward pass 来计算接受率。GitHub README 明确标注 trace_boosted 输出"memory intensive"——对于大规模数据集,存储所有 MCMC 中间候选轨迹会爆内存。需要根据硬件配置决定是否关闭 trace_boosted 输出。
2. "正确轨迹"的定义依赖 grader
论文对"等价格迹"的定义是任务相关的:化学/数学要求最终答案正确;事实学习要求保留相同的事实内容。这个等价关系的定义质量直接影响最终效果——如果你的任务没有可靠的自动化 grader,投影采样就很难落地。
3. 遗忘未完全消除
Prior Capability Average:Sampling SFT 58.6% vs Base 59.7%,仍有 1.1 pts 的遗忘。论文自己也承认"Forgetting is reduced but not eliminated"。对于_prior capability 必须完全保留的场景,RL 或 OPSD 仍有优势。
4. 只验证了小到中模型
主要实验在 Qwen2.5-3B 和 Qwen2.5-7B 上,120B+ 级别没有太多数据。迁移到更大基座模型时,MCMC 的 acceptance rate 分布可能不同,效果需要实测。
5. 不是替代 RL,而是扩展 SFT 的适用场景
这篇论文的价值在于:当你有大量高质量离策略专家数据、但没有成熟 RL 基础设施时,投影采样给了你一条不依赖 RL 就能训出好模型的路径。它和 RL 是互补关系,不是取代关系。
一句话结论
Projection Sampling 把"数据配平"前移到 SFT 之前,让标准 SFT 在化学、数学、医学任务上同时击败 OPSD 和 GRPO,且遗忘更少——本质是用 MCMC 把离策略数据变成准策略数据,为 SFT 补上了 RL 泛化强的那块拼图。
论文:https://arxiv.org/abs/2610.02140
代码:https://github.com/aakaran/finetuning-with-sampling
个人页:https://aakaran.github.io/finetuning_with_sampling