AlphaCode 2 Technical Report
Технический отчет Google DeepMind (6 декабря 2023) описывает AlphaCode 2 — систему для олимпиадного программирования на базе Gemini и специально построенного поиска/перерангирования решений. На Codeforces AlphaCode 2 решает 43% задач (до 10 попыток отправки) и по оценке находится на уровне 85‑го перцентиля, то есть лучше 85% участников.
Методология и данные
1 блокGemini Pro + два раунда fine-tuning (GOLD) на CodeContests v2 (≈15 тыс. задач, ~30 млн код-сэмплов) и более качественном наборе; massive sampling до 1 млн C++ решений на задачу; фильтрация на публичных I/O тестах и компиляции (~95% отсев); кластеризация по поведенческим подписям на сгенерированных тестах; scoring model (Gemini Pro) оценивает вероятность корректности и выбирает лучший кандидат из 10 кластеров для отправки на Codeforces.
Ключевые результаты
4 блокаМетодология и устройство системы
Фрагмент из раздела отчета
AlphaCode 2 комбинирует семейство дообученных языковых моделей кода и «обвязку» для поиска по пространству программ: массовую генерацию, фильтрацию, кластеризацию и rerank.
Оценка на Codeforces
Фрагмент из раздела отчета
Оценивание проведено на той же платформе, что и у AlphaCode (2022), но на более широком наборе соревнований.
Эффективность по числу сэмплов
Фрагмент из раздела отчета
Авторы отмечают, что качество растет примерно лог‑линейно с ростом числа сэмплов. При этом AlphaCode 2 достигает уровня AlphaCode (с 1 млн сэмплов) примерно уже на ~100 сэмплах — то есть становится >10 000× более sample‑efficient.
Ограничения
Фрагмент из раздела отчета
- Это домен олимпиадного программирования: он требует сильного рассуждения, но не равен промышленной разработке (архитектура, интеграции, долгие итерации).
- Высокая точность достигается комбинацией модели и поиска (массовая генерация + фильтрация + rerank), что может быть вычислительно дорогим.
Подробности из отчетаПоказатьСкрыть
Технический отчет Google DeepMind (6 декабря 2023) описывает AlphaCode 2 — систему для олимпиадного программирования на базе Gemini и специально построенного поиска/перерангирования решений. На Codeforces AlphaCode 2 решает 43% задач (до 10 попыток отправки) и по оценке находится на уровне 85‑го перцентиля, то есть лучше 85% участников.
Методология и устройство системы
AlphaCode 2 комбинирует семейство дообученных языковых моделей кода и «обвязку» для поиска по пространству программ: массовую генерацию, фильтрацию, кластеризацию и rerank.
- Foundation model: Gemini Pro, дальше — несколько раундов fine‑tuning (цель GOLD).
- Данные: обновленный CodeContests (v2) — около 15 тыс. задач и ~30 млн человеческих код‑сэмплов, плюс дополнительный набор более высокого качества.
- Семейство policy‑моделей: используется несколько вариантов дообучения, чтобы увеличить разнообразие решений.
- Massive sampling: до 1 000 000 программ на задачу (в AlphaCode 2 — только C++) с рандомизацией temperature и метаданных промпта (сложность, теги).
- Filtering: запуск на публичном input/output тесте; отбрасываются некомпилируемые и дающие неверный вывод — в среднем фильтрация убирает ~95% сэмплов.
- Clustering: кластеризация по поведенческим «подписям» (выходы на сгенерированных дополнительных тестах) и сохранение 10 крупнейших кластеров, чтобы не отправлять дубликаты.
- Scoring model: отдельная дообученная модель (Gemini Pro) предсказывает «correctness score» (0–1); из каждого кластера выбирается лучший кандидат — итогом становится список из 10 сабмитов.
Оценка на Codeforces
Оценивание проведено на той же платформе, что и у AlphaCode (2022), но на более широком наборе соревнований.
- 12 недавних контестов Codeforces с 8 000+ участниками (Div.2 и Div.1+2), всего 77 задач.
- Для каждой задачи генерировалось 1 000 000 кандидатов и отправлялось до 10 решений, пока не найдено корректное или не исчерпаны попытки.
- AlphaCode 2 решает 43% задач против 25% у AlphaCode (≈1,7× больше).
- Оценка по рангу: в среднем 85‑й перцентиль, то есть уровень между категориями Expert и Candidate Master на Codeforces.
- В двух лучших контестах система обгоняла >99,5% участников.
Эффективность по числу сэмплов
Авторы отмечают, что качество растет примерно лог‑линейно с ростом числа сэмплов. При этом AlphaCode 2 достигает уровня AlphaCode (с 1 млн сэмплов) примерно уже на ~100 сэмплах — то есть становится >10 000× более sample‑efficient.
Ограничения
- Это домен олимпиадного программирования: он требует сильного рассуждения, но не равен промышленной разработке (архитектура, интеграции, долгие итерации).
- Высокая точность достигается комбинацией модели и поиска (массовая генерация + фильтрация + rerank), что может быть вычислительно дорогим.