Дистилляция без свидетелей
Новое исследование из Apple на этой неделе взорвало тихую заводь машинного обучения. Инженеры предложили метод self-distillation, который заставляет большие языковые модели учиться... у самих себя. Звучит как какая-то буддистская практика для нейросетей, но результаты — улучшение генерации кода на 20-40% — заставляют присмотреться.
Препринт работы «Self-Distillation for Code Generation» появился на arXiv 28 марта 2026 года. Apple тестировала метод на моделях семейства CodeLlama (последней доступной на тот момент версии CodeLlama-3.2 70B) и своих внутренних разработках.
В чем фокус? Модель становится своим же репетитором
Обычная дистилляция знаний — это когда большая, тяжелая модель (учитель) обучает маленькую, быструю (ученика). Apple вывернула схему наизнанку. Здесь одна и та же модель генерирует несколько вариантов решения задачи, а потом учится на самом удачном из них.
Алгоритм прост до безобразия:
- Даем промпт на написание функции.
- Модель генерирует не один, а N вариантов кода (скажем, 10).
- Автоматически или с помощью легкой проверки выбираем лучший вариант.
- Заново обучаем модель, используя этот улучшенный вариант как эталонный ответ.
Почему это работает для кода? Потому что код — это не текст
С генерацией поэзии или новостей все сложно — там нет однозначного критерия «правильности». А код либо компилируется и проходит тесты, либо нет. Это позволяет автоматически отбирать лучшие варианты без человеческого вмешательства.
Исследователи использовали простые юнит-тесты для верификации. Сгенерировал 10 функций — проверил их — выбрал работающую — использовал для обучения. Цикл повторяется тысячи раз.
| Метрика | Базовая модель | После Self-Distillation | Улучшение |
|---|---|---|---|
| Pass@1 (HumanEval) | 67.3% | 81.1% | +13.8 п.п. |
| Pass@5 (MBPP) | 78.5% | 89.2% | +10.7 п.п. |
| Синтаксических ошибок | 12% | 4% | В 3 раза меньше |
Подвох? Да, и не один
Метод выглядит волшебной таблеткой, но у него есть темная сторона. Self-distillation требует огромных вычислительных ресурсов. Генерировать 10 вариантов вместо одного — это в 10 раз больше токенов. Обучение тоже не бесплатное.
Главный риск — модель может «зациклиться» на одном типе решений. Если в начальной выборке преобладают определенные паттерны (даже не самые эффективные), метод их усиленно законсервирует. Это особенно опасно в свете того, что GitHub давно превратился в свалку мусорного кода.
И еще один момент: метод от Apple пока что лабораторный. Попробуйте применить его к своей локальной модели в LM Studio на Mac M5, и вы рискуете получить не улучшение, а краш системы из-за перегрузки памяти.
Что это значит для нас, обычных смертных?
Если вы качаете готовые модели с Hugging Face — скоро увидите версии с припиской «distilled». Они будут чуть умнее в коде. Если вы обучаете свои модели — метод self-distillation станет обязательным шагом в пайплайне. Дешевый прирост качества без сбора новых данных.
Для энтузиастов локальных LLM это палка о двух концах. С одной стороны, можно взять свою настройку Claude Code на Mac M3 и попробовать улучшить. С другой — ресурсов может не хватить. Здесь на помощь могут прийти инструменты вроде AFM MLX для ускорения или хитрые схемы роутинга, как в Claude Code Router.
Практический совет: не пытайтесь повторить self-distillation на домашней машине для моделей больше 13B параметров. Лучше дождаться, пока сообщество выложит уже дистиллированные веса. Или используйте облачные инстанции с 8x H100 — если бюджет позволяет.
Куда дует ветер? Прогноз на 2027-й
Self-distillation — это не прорыв, а доводка. Сигнал, что эпоха грубого наращивания параметров закончилась. Теперь главное — выжать максимум из того, что есть. Ожидайте волны подобных методов «самооптимизации» для других задач: дебаггинга, рефакторинга, документирования.
Следующий логичный шаг — комбинирование self-distillation с аппаратной оптимизацией, например, через LLM-компиляторы. Модель станет не только умнее, но и быстрее, что критично для кодовых агентов, о которых мы писали в обзоре PocketCoder.
А самый интересный вопрос: если модель может учиться у себя, то когда она начнет скрывать от нас свои лучшие решения? (Шучу. Пока что).