Поразительно простая самодистилляция улучшает генерацию кода
Embarrassingly Simple Self-Distillation Improves Code Generation
April 1, 2026
Авторы: Ruixiang Zhang, Richard He Bai, Huangjie Zheng, Navdeep Jaitly, Ronan Collobert, Yizhe Zhang
cs.AI
Аннотация
Может ли большая языковая модель (LLM) улучшить генерацию кода, используя только свои собственные исходные выходные данные, без верификатора, модели-учителя или обучения с подкреплением? Мы даем утвердительный ответ с помощью простого само-дистилляции (SSD): семплируем решения из модели с определенными настройками температуры и усечения, а затем дообучаем на этих образцах с помощью стандартного контролируемого тонкого настройки. SSD улучшает показатель Qwen3-30B-Instruct с 42.4% до 55.3% pass@1 на LiveCodeBench v6, причем улучшения концентрируются на более сложных задачах, и метод обобщается на модели Qwen и Llama масштабов 4B, 8B и 30B, включая как инструктивные, так и "мыслящие" варианты. Чтобы понять, почему такой простой метод может работать, мы прослеживаем эти улучшения до конфликта "точность-исследование" в декодировании LLM и показываем, что SSD изменяет распределения токенов контекстно-зависимым образом, подавляя хвосты-отвлекатели там, где важна точность, сохраняя при этом полезное разнообразие там, где важно исследование. В совокупности SSD предлагает дополнительное направление пост-тренировки для улучшения генерации кода в LLM.
English
Can a large language model (LLM) improve at code generation using only its own raw outputs, without a verifier, a teacher model, or reinforcement learning? We answer in the affirmative with simple self-distillation (SSD): sample solutions from the model with certain temperature and truncation configurations, then fine-tune on those samples with standard supervised fine-tuning. SSD improves Qwen3-30B-Instruct from 42.4% to 55.3% pass@1 on LiveCodeBench v6, with gains concentrating on harder problems, and it generalizes across Qwen and Llama models at 4B, 8B, and 30B scale, including both instruct and thinking variants. To understand why such a simple method can work, we trace these gains to a precision-exploration conflict in LLM decoding and show that SSD reshapes token distributions in a context-dependent way, suppressing distractor tails where precision matters while preserving useful diversity where exploration matters. Taken together, SSD offers a complementary post-training direction for improving LLM code generation.