- Дата публикации
Apple показала, как ИИ может сам себя обучать и лучше писать код
Что открыли
Исследователи описали простой способ прокачать генерацию кода у больших языковых моделей без внешних проверяющих, без учителя и без reinforcement learning.
Метод называется Simple Self-Distillation (SSD). Он работает так: модель генерирует собственные решения задач программирования при заданных настройках температуры и обрезки выборки, а затем дообучается на этих же ответах обычным supervised-файнатюнингом.
На флагманской модели Qwen3-30B-Instruct качество на бенчмарке LiveCodeBench v6 выросло с 42,4% до 55,3% по метрике pass@1. Это большой скачок именно для первого ответа без перегенераций.
Рост особенно заметен на более сложных задачах. SSD сработал не только на Qwen3-30B-Instruct: авторы показали улучшения на моделях Qwen и Llama с размером 4B, 8B и 30B, включая и «инструкционные», и «thinking»-варианты.
Авторы объясняют эффект через конфликт между точностью и исследованием при декодировании. SSD перенастраивает распределения токенов по контексту: подавляет «шумные хвосты», когда важна точность, и сохраняет разнообразие там, где нужно исследование вариантов решения.
Как исследовали
Работу провели Ruixiang Zhang, Richard He Bai, Huangjie Zheng, Navdeep Jaitly, Ronan Collobert и Yizhe Zhang. Они взяли уже обученные модели Qwen и Llama разных размеров — 4B, 8B и 30B параметров.
Дальше они запустили простой цикл:
- Задать задачу на программирование.
- Сгенерировать несколько решений с разными настройками температуры и обрезки.
- Собрать эти сырые ответы.
- Дообучить ту же модель на этих примерах стандартным supervised-подходом.
Никаких внешних проверяющих систем, teacher-моделей или сложных схем RLHF они не добавляли.
Качество измеряли на LiveCodeBench v6 по метрике pass@1 — доля задач, где первая же сгенерированная программа проходит тесты. Для Qwen3-30B-Instruct эта метрика выросла с 42,4% до 55,3%.
Что это меняет на практике
Главная новость для индустрии: улучшить кодогенерацию можно дешёвыми и понятными шагами. Не нужно строить сложную инфраструктуру с автотестами, внешними верификаторами и отдельной «учительской» моделью.
SSD даёт:
- рост качества на сложных задачах программирования;
- переносимость между разными семействами моделей (Qwen, Llama) и размерами (4B–30B);
- понятный и воспроизводимый рецепт постобучения.
Для компаний это значит, что внутренние ассистенты разработчика могут стать заметно полезнее, не увеличивая радикально бюджет на обучение. Особенно это важно для команд, которые не могут содержать собственный парк верификаторов и систем RL.
Минусы тоже есть. SSD по-прежнему зависит от исходного качества модели: если она изначально пишет слабый код, дообучение на её же ответах почти не поможет. Кроме того, метод не решает вопросы безопасности и лицензий: мусорный или токсичный код в исходной модели никуда не исчезает.
До реальных продуктов такой подход может доехать довольно быстро: SSD не требует редизайна архитектуры и легко встраивается в существующие пайплайны дообучения.
Что это значит для вас
Если вы уже пользуетесь ИИ-помощниками для кода — GitHub Copilot, Codeium, Replit, кодогенерацией в GPT или локальными Qwen/Llama, — такие техники напрямую влияют на ваш опыт.
Проще говоря, шанс, что первая же подсказка компилируется и проходит тесты, становится выше. Особенно на задачах, где раньше модель «плыла»: сложная логика, нетривиальные структуры данных, аккуратная работа с краевыми случаями.
Для разработчиков и MLOps-команд SSD — понятный шаблон: можно взять свою доменную модель, нагенерировать решения под ваши задачи и дообучить её без тяжёлой инфраструктуры. Это подойдёт компаниям, которые хотят улучшить автодополнение кода или внутренние чат-ассистенты, но не готовы строить собственный RLHF-стек.
Если вы просто пишете код и не планируете обучать модели, эффект почувствуете опосредованно: будущие версии Qwen, Llama и основанных на них инструментов будут реже «галлюцинировать» в коде и чаще выдавать рабочие решения с первого раза.