自蒸馏改进代码生成
核心发现
一项突破性研究表明,大语言模型可以通过简单的自蒸馏(Self-Distillation)方法提升代码生成能力,无需 verifier、teacher model 或强化学习。
在 LiveCodeBench v6 上:
42.4% → 55.3% (+12.9%)
Qwen3-30B-Instruct
方法原理
Simple Self-Distillation (SSD) 的核心步骤:
- 使用特定的 temperature 和 truncation 配置从模型中采样解决方案
- 然后使用标准监督微调(SFT)对这些样本进行微调
为什么有效?
研究者将性能提升归因于解决了一个核心问题:LLM 解码中的 precision-exploration 冲突
- Precision(精度):当精度重要时,需要抑制"distractor tails"(干扰 token)
- Exploration(探索):当需要探索时,保留有用的多样性
- SSD 以上下文依赖的方式重塑 token 分布
"SSD offers a complementary post-training direction for improving LLM code generation"
泛化能力
该方法在多种规模和架构上有效:
- Qwen:4B, 8B, 30B
- Llama:4B, 8B, 30B
- 同时适用于 instruct 和 thinking 变体
关键洞见
- 简单方法往往更有效:无需复杂的 RL 或 verifier
- 自身输出可以作为优质训练数据
- 关键是控制采样时的 temperature 和 truncation
- 对困难问题的提升尤为明显
相关链接
© 2026 每日洞察 | 内容基于公开研究论文