Найти в Дзене
SkyNet | Новости ИИ

Meta FAIR выпустила Code World Model (CWM): большая языковая модель для исследований в области генерации кода

Meta FAIR выпустила Code World Model (CWM): большая языковая модель для исследований в области генерации кода Meta FAIR выпустила Code World Model (CWM) — большую языковую модель (LLM) с 32 миллиардами параметров. Она предназначена для исследований в области генерации кода с использованием мировых моделей. Что нового? CWM обучается на двух больших семействах траекторий «наблюдение-действие»: * Трассы интерпретатора Python, которые записывают состояния локальных переменных после каждой выполненной строки. * Агентские взаимодействия внутри докеризированных репозиториев, которые фиксируют правки, командные строки и обратную связь по тестам. Это обучение предназначено для изучения семантики (как развивается состояние), а не только синтаксиса. Модель и контекстное окно CWM — это плотный трансформер (только декодер) с 64 слоями, GQA (48Q/8KV), SwiGLU, RMSNorm и Scaled RoPE. Внимание чередуется между локальными блоками 8k и глобальными блоками 131k, обеспечивая эффективный контекст в 13

Meta FAIR выпустила Code World Model (CWM): большая языковая модель для исследований в области генерации кода

Meta FAIR выпустила Code World Model (CWM) — большую языковую модель (LLM) с 32 миллиардами параметров. Она предназначена для исследований в области генерации кода с использованием мировых моделей.

Что нового?

CWM обучается на двух больших семействах траекторий «наблюдение-действие»:

* Трассы интерпретатора Python, которые записывают состояния локальных переменных после каждой выполненной строки.

* Агентские взаимодействия внутри докеризированных репозиториев, которые фиксируют правки, командные строки и обратную связь по тестам.

Это обучение предназначено для изучения семантики (как развивается состояние), а не только синтаксиса.

Модель и контекстное окно

CWM — это плотный трансформер (только декодер) с 64 слоями, GQA (48Q/8KV), SwiGLU, RMSNorm и Scaled RoPE. Внимание чередуется между локальными блоками 8k и глобальными блоками 131k, обеспечивая эффективный контекст в 131k токенов; при обучении используется маскирование, учитывающее причинно-следственные связи в документах.

Рецепт обучения (предварительное → промежуточное → последующее)

* Общее предварительное обучение: 8T токенов (с большим количеством кода) в контексте 8k.

* Промежуточное обучение: +5T токенов, длинный контекст (131k) с трассами выполнения Python, данными ForagerAgent, изменениями, полученными из PR, IR/компиляторами, ядрами Triton и Lean math.

* Последующее обучение: 100B-token SFT для инструкций + рассуждения, затем многозадачное RL (~172B-token) в средах верифицируемого программирования, математики и многоэтапного SWE с использованием алгоритма в стиле GRPO и минимального набора инструментов (bash/edit/create/submit).

Бенчмарки

Исследовательская группа приводит следующие результаты pass@1 / scores (с масштабированием при тестировании, где это применимо):

* SWE-bench Verified: 65,8% (с масштабированием при тестировании).

* 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 как модель, конкурентоспособную с аналогичными по размеру открытыми базовыми моделями и даже с более крупными или закрытыми моделями в SWE-bench Verified.

Почему моделирование мира важно для кода?

В релизе подчёркиваются две операционные возможности:

* Прогнозирование трасс выполнения: учитывая функцию и начало трассы, CWM предсказывает кадры стека (локальные переменные) и выполненную строку на каждом шаге в структурированном формате — это можно использовать в качестве «нейронного отладчика» для обоснованного рассуждения без выполнения в реальном времени.

* Агентское кодирование: многоэтапные рассуждения с использованием инструментов в реальных репозиториях, проверенные скрытыми тестами и вознаграждениями за сходство патчей; такая настройка обучает модель локализовать ошибки и генерировать комплексные патчи (git diff), а не фрагменты кода.

Некоторые детали, на которые стоит обратить внимание

* Токенизатор: семейство Llama-3 с зарезервированными управляющими токенами; зарезервированные ...

Читать далее