Meta FAIR представила CWM — 32B LLM с открытыми весами, обученную предсказывать выполнение кода
Что такое CWM и почему это важно
Meta FAIR выпустила Code World Model (CWM) — плотный (dense) трансформер с 32 миллиардами параметров и декодерной архитектурой, который вводит моделирование мира в задачу генерации кода. Вместо обучения только на статическом исходном тексте CWM проходит промежуточное обучение на трассах выполнения и длительных агентных взаимодействиях, чтобы понять, как меняется состояние программы во время исполнения.
Чем отличается подход CWM
Во время mid-training модель работает с двумя семействами наблюдений и действий. Первое — трассы интерпретатора Python, где фиксируются локальные переменные после каждой выполненной строки, что помогает выучить семантику переходов состояния. Второе — агентные взаимодействия внутри контейнеризированных репозиториев, включающие правки, shell-команды и обратную связь от тестов, что тренирует многошаговый инструментальный разум и работу с репозиториями.
Сбор данных и ForagerAgent
Для масштабирования набора данных команда собрала исполняемые образы репозиториев из тысяч GitHub-проектов и использовала программного агента ForagerAgent для поиска многошаговых траекторий. В релизе указано примерно 3 миллиона траекторий по ~10 тысячам образов и 3.15 тысячам репозиториев, включая варианты mutate-fix и issue-fix, отражающие реальные рабочие сценарии разработки.
Архитектура модели и окно контекста
CWM — плотный трансформер с 64 слоями, GQA (48Q/8KV), активацией SwiGLU, RMSNorm и масштабируемым RoPE. Внимание чередует локальные блоки по 8k токенов и глобальные скользящие окна по 131k токенов, что обеспечивает эффективный контекст до 131k токенов. Обучение использует document-causal masking для поддержки долгого контекста.
Рецепт обучения: pre → mid → post
- Предобучение: 8 триллионов токенов с акцентом на код при контексте 8k.
- Mid-training: дополнительно ~5 триллионов токенов в длинном контексте (131k) с Python-трассами, данными ForagerAgent, диффами из PR, IR/компиляторами, Triton-ядрами и данными Lean.
- Post-training: 100B токенов SFT для инструкций и рассуждений, затем многотасковое RL (~172B токенов) по верифицируемому кодингу, математике и многопроходным средам SWE с использованием алгоритма в стиле GRPO и минимального набора инструментов (bash/edit/create/submit).
Квантованное инференс-решение помещается на одном H100 с 80 GB памяти, что облегчает исследовательскую оценку.
Бенчмарки и результаты
Команда приводит конкурентные результаты CWM на нескольких наборах задач: SWE-bench Verified (65.8% pass@1 с масштабированием во время теста), LiveCodeBench-v5 (68.6%), LCB-v6 (63.5%), Math-500 (96.6%), AIME-24 (76.0%), AIME-25 (68.2%) и CruxEval-Output (94.3%). По позиционированию CWM сопоставим с аналогичными моделями с открытыми весами и в ряде случаев конкурирует с более крупными или закрытыми моделями в задачах инженерии ПО.
Зачем моделирование мира нужно для кода
Два ключевых операционных преимущества выделены в релизе:
- Предсказание трасс выполнения: зная функцию и начало трассы, CWM предсказывает фреймы стека и выполняемую строку на каждом шаге в структурированном формате, что можно использовать как нейронный отладчик для обоснованных рассуждений без живого исполнения.
- Агентное кодирование: многошаговое рассуждение с использованием инструментов против реальных репозиториев, проверяемое скрытыми тестами и вознаграждением за схожесть патча; модель учат локализовать ошибки и генерировать полные патчи (git diff), а не отрывочные фрагменты.
Практические замечания и лицензия
Токенайзер основан на семействе Llama-3 с зарезервированными управляющими токенами для разделения сегментов трасс и рассуждений при SFT. Слой внимания применяет 3:1 чередование локальных и глобальных блоков по всей глубине. Параметры обучения и расписания масштаба рассчитывались с учетом внутренних исследований законов масштабирования для задач длинного контекста. Meta FAIR выпустила промежуточные и пост-тренированные чекпоинты под лицензией FAIR Non-Commercial Research License, предоставляя платформу для воспроизводимых экспериментов по моделированию выполнения и длинного контекста.
Для полного ознакомления обращайтесь к статье, странице GitHub и модели на Hugging Face, указанным в официальном релизе.