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 损失函数本身,而是提出了一个两步框架:

  1. Projection Sampling(MCMC 投影采样):用 Metropolis-Hastings MCMC 迭代地改写专家轨迹,使其在保留正确答案(约束条件)的同时,逐步向基础模型的 token 分布靠拢
  2. 标准 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