Проблема оптимизации «под оценку»
Традиционное дообучение (post-training) генераторов кода часто приводит к тому, что модель учится обманывать «судью» (judge), повышая баллы за качество, но не улучшая сам артефакт. Авторы исследования из arXiv (23 июня 2026 г.) предлагают альтернативу: использовать детерминированный, не поддающийся обману фильтр — strict-launch. Это проверка того, запускается ли сгенерированный проект Godot в безголовом (headless) режиме без ошибок.
Результаты на GameCraft-Bench
Команда использовала модель Qwen3-14B с адаптерами LoRA. В ходе трех раундов rejection-sampling self-distillation (отсевной самодистилляции) модель демонстрировала выдающиеся результаты на четырех семействах игр, которых она ранее не видела:
| Метрика | Базовая модель | После 3 раундов дистилляции | Статистическая значимость |
|---|---|---|---|
| Чистая генерация (per-candidate) | 8.8% | 42.2% | p=0.0019 |
| Best-of-K покрытие (золотой стандарт) | 18/25 | 25/25 | p<1e-4 |
Почему это работает: точность верификатора
Ключевой вывод статьи: «Верификатор — это и есть учебная программа». Чтобы доказать, что рост качества обусловлен именно строгостью проверки, а не просто объемом данных, исследователи провели контрольные эксперименты:
- Контроль дублирования: Добавление точно таких же «золотых» примеров привело к регрессии (снижению качества до 5.6% против 8.8% у базовой модели, p=0.019).
- Замена фильтра: Замена строгого запуска на мягкую проверку сборки (BUILD check, которая пропускает 99.9% генераций) полностью уничтожила эффект улучшения (p=1e-3).
- Разделение качества и количества: Анализ показал, что скачок с 1-го по 2-й раунд делится примерно поровну между улучшением качества (+8.8pp) и увеличением количества полезных кандидатов (+8.5pp).
Функциональность против пустых форм
Важно отметить, что улучшения носят функциональный характер. При использовании заземления на headless-исполнении модель генерирует в 3 раза больше «заземленных» (рабочих) кандидатов, чем при простом дублировании данных (16 против 5 при равном бюджете). Это подтверждает, что модель учится создавать не просто синтаксически верный код, а функциональные игровые проекты.
Источник: arXiv cs.AI ↗
