К основному содержимому
#Software

Code World Model: Building World Models for Computation (Рубрика Software)

#Software #Engineering #AI #ML #Whitepaper

Посмотрел интересный доклад Jacob Kahn, исследователя из FAIR (что является частью запрещенной в России компании Meta). В этом докладе Якоб представляет сдвиг парадигмы в обучении моделей для генерации кода: переход от обучения на синтаксисе к обучению на семантике через world modeling. Расширенную версию этого концепта можно почитать в whitepaper, а также потрогать в репо на GitHub. Если же говорить про ключевые идеи выступления, то они такие

1️⃣ Критика текущего подхода Большинство нейронных моделей для кода учатся на самом коде - последовательностях токенов, которые отражают синтаксис, а не вычисления. Это позволяет моделям освоить "форму" кода, но настоящее рассуждение о программах требует понимания исполнения и динамики вычислений.

2️⃣ World modeling для кода CWM (code world model) воплощает подход, где модель обучается не только на статическом коде, но и на данных исполнения программ (observation-action trajectories). Это включает трейсы выполнения Python (где действия - это Python-выражения, а наблюдения - содержимое локальных переменных) и агентные взаимодействия в Docker-окружениях.

3️⃣ Архитектура модели и ее обучение Модель имеет 32 миллиарда параметров с уникальной системой чередующегося внимания (local attention с окном 8192 токена и global attention с окном 131072 токена в соотношении 3:1). Обучение состоит из трёх этапов: pre-training, mid-training на 5 триллионах токенов данных world modeling, и post-training с reinforcement learning через GRPO на ~172 миллиардах токенов.

4️⃣ Новые возможности CWM может служить "нейронным отладчиком" - симулировать исполнение кода шаг за шагом, предсказывать значения переменных без реального запуска, самостоятельно тестировать и исправлять код.

Меня заинтересовала история амбициозного названия про "world model" и оказалось, что это название обусловлено несколькими причинами

  • Название отсылает к классической работе Ha & Schmidhuber (2018) "World Models", которая предложила обучать модели на сжатых пространственных и временных представлениях среды в reinforcement learning. CWM переносит эту идею в область кода - среда теперь это вычислительная система.
  • Доклад и статья позиционируют CWM как "фундамент для будущих исследований и прототипирования в AI-driven software systems". Это заявка на создание новой исследовательской парадигмы, а не просто улучшенной модели.
  • Meta активно продвигает концепцию world models через разные проекты команды - от Chameleon (multimodal early-fusion модели) до Transfusion (комбинация language modeling и diffusion). Причем Jacob Kahn, спикер этого доклада, был соавтором обоих этих проектов:)

Если добавить немного дегтя во все саммари, то пока неясно насколько возможности world modeling capabilities переносятся на языки программирования, что модель не видела, на сложные кодовые базы и на долгосрочную поддержку созданного кода.Необходимость трёхэтапного RL с self-bootstrapping для достижения заявленных результатов поднимает вопрос: это фундаментальное преимущество или просто следствие масштаба и тщательной работы с данными. Но в любом случае это интересная научная работа, которая обладает большим потенциалом и будет интересно следить за развитием этой идеи.

#Engineering #AI #Software #ML #Whitepaper