Salesforce AI Research выпускает CoDA-1.7B: модель кода на основе дискретной диффузии с двунаправленной параллельной генерацией токенов

Исследователи из Salesforce AI Research выпустили CoDA-1.7B — языковую модель для кода на основе диффузии, которая генерирует целые последовательности с учётом двунаправленного контекста, обновляя несколько токенов параллельно, а не последовательно, как при предсказании следующего токена слева направо.

Команда исследователей опубликовала контрольные точки Base и Instruct, а также комплексный стек для обучения, оценки и обслуживания.

Понимание архитектуры и обучения

CoDA адаптирует базовую модель с 1,7 миллиарда параметров для дискретной диффузии текста: замаскированные последовательности итеративно очищаются с помощью внимания ко всей последовательности, что позволяет выполнять нативное заполнение и неавторегрессионное декодирование.

В карточке модели описан трёхэтапный конвейер (предварительное обучение с двунаправленным маскированием, последующее обучение под контролем и прогрессивное шумоподавление при выводе) плюс воспроизводимые скрипты для предварительного обучения на TPU, тонкой настройки на GPU и оценки.

Ключевые особенности:
* Двунаправленный контекст через диффузионное шумоподавление (без фиксированного порядка генерации).
* Выборка на основе уверенности (декодирование в стиле энтропии) для компромисса между качеством и скоростью.
* Открытый конвейер обучения с развёртываемыми скриптами и интерфейсом командной строки.

Как они работают на бенчмарках?

В стандартных наборах для генерации кода CoDA-1.7B-Instruct сообщает:
* HumanEval — 54,3%;
* HumanEval+ — 47,6%;
* MBPP — 47,2%;
* MBPP+ — 63,2%;
* Aggregate EvalPlus — 55,4% (pass@1).

Для сравнения, модель сравнивается с базовыми показателями диффузии, включая Dream-7B-Instruct (57,9% HumanEval), что указывает на то, что CoDA с 1,7 миллиарда параметров конкурентоспособен с некоторыми моделями диффузии на 7 миллиардов параметров по нескольким показателям, используя при этом меньшее количество параметров.

Поведение при выводе

Стоимость генерации определяется количеством шагов диффузии; CoDA предоставляет такие параметры, как STEPS, ALG=»entropy», ALG_TEMP и длина блока, для настройки компромисса между задержкой и качеством.

Поскольку токены обновляются параллельно при полном внимании, CoDA обеспечивает более низкую задержку по настенным часам в малом масштабе по сравнению с более крупными моделями диффузии при сопоставимых бюджетах шагов.

Развёртывание и лицензирование

Репозиторий предоставляет сервер FastAPI с API, совместимыми с OpenAI, и интерактивный интерфейс командной строки для локального вывода; инструкции включают настройку среды и средство запуска start_server.sh.

Модели и Hugging Face collection централизуют артефакты. Контрольные точки опубликованы под лицензией CC BY-NC 4.0 на Hugging Face.

Наши комментарии

CoDA-1.7B представляет собой чистую справочную реализацию для дискретной диффузионной генерации кода в малом масштабе: 1,7 миллиарда параметров, двунаправленное шумоподавление с параллельным обновлением токенов и воспроизводимый конвейер от предварительного обучения до SFT и обслуживания.

Отчётные результаты pass@1 (HumanEval 54,3, HumanEval+ 47,6, MBPP 47,2, MBPP+ 63,2, Aggregate EvalPlus 55,4) ставят его в один ряд с некоторыми базовыми показателями диффузии на 7 миллиардов параметров (например, Dream-7B HumanEval 57,9), используя при этом меньшее количество параметров.

Задержка при выводе явно регулируется количеством шагов и параметрами декодирования (STEPS, энтропийное руководство), что практически полезно для настройки пропускной способности и качества.

В выпуске представлены веса на Hugging Face и сервер FastAPI/CLI для локального развёртывания.

Ознакомьтесь с [статьёй](https://huggingface.co/Salesforce/CoDA-v0-Instruct), [GitHub репозиторием](https://huggingface.co/Salesforce/CoDA-v0-Instruct) и [моделью на Hugging Face](https://huggingface.co/Salesforce/CoDA-v0-Instruct). Не стесняйтесь заглядывать на нашу [страницу GitHub](https://huggingface.co/Salesforce/CoDA-v0-Instruct) за учебными пособиями, кодами и ноутбуками. Также подписывайтесь на нас в [Twitter](https://twitter.com) и присоединяйтесь к нашему [ML SubReddit](https://www.reddit.com/r/MachineLearning/). Не забудьте подписаться на наш [Newsletter](https://www.salesforce.com/news/). А если вы в Telegram, присоединяйтесь к нам и там!

1. Какие ключевые особенности отличают модель CoDA-1.7B от других языковых моделей для кода?

CoDA-1.7B отличается использованием двунаправленного контекста через диффузионное шумоподавление (без фиксированного порядка генерации), выборкой на основе уверенности (декодирование в стиле энтропии) для компромисса между качеством и скоростью и открытым конвейером обучения с развёртываемыми скриптами и интерфейсом командной строки.

2. Какие результаты показывает CoDA-1.7B на стандартных бенчмарках для генерации кода?

CoDA-1.7B-Instruct показывает следующие результаты на стандартных наборах для генерации кода: HumanEval — 54,3%; HumanEval+ — 47,6%; MBPP — 47,2%; MBPP+ — 63,2%; Aggregate EvalPlus — 55,4% (pass@1). Для сравнения, модель сравнивается с базовыми показателями диффузии, включая Dream-7B-Instruct (57,9% HumanEval).

3. Как регулируется стоимость генерации в модели CoDA-1.7B?

Стоимость генерации в CoDA-1.7B определяется количеством шагов диффузии. Модель предоставляет такие параметры, как STEPS, ALG=»entropy», ALG_TEMP и длина блока, для настройки компромисса между задержкой и качеством.

4. Какие инструменты и ресурсы предоставляются для развёртывания модели CoDA-1.7B?

Репозиторий предоставляет сервер FastAPI с API, совместимыми с OpenAI, и интерактивный интерфейс командной строки для локального вывода. Инструкции включают настройку среды и средство запуска start_server.sh. Модели и Hugging Face collection централизуют артефакты. Контрольные точки опубликованы под лицензией CC BY-NC 4.0 на Hugging Face.

5. Какие параметры можно настроить для оптимизации задержки и качества при выводе в модели CoDA-1.7B?

Параметры, которые можно настроить для оптимизации задержки и качества при выводе в CoDA-1.7B, включают количество шагов диффузии (STEPS), параметры декодирования (ALG=»entropy», ALG_TEMP), длину блока и другие параметры, влияющие на компромисс между задержкой и качеством.

Источник