Apple представила странную, но любопытную ИИ-модель для программирования

Она создаёт код быстрее и гибче, чем обычные языковые модели — и делает это нестандартным способом

3 мин.
Apple представила странную, но любопытную ИИ-модель для программирования

Apple без особого шума выложила на платформу Hugging Face новую модель искусственного интеллекта, которая сразу привлекла внимание специалистов. В отличие от традиционных языковых моделей, генерирующих код построчно и по порядку, эта способна писать фрагменты кода вразнобой и дорабатывать сразу несколько участков одновременно. Такой подход делает генерацию кода быстрее — и, судя по результатам, модель не уступает лучшим опенсорсным аналогам.

Чтобы разобраться в сути, стоит сначала коротко пройтись по ключевым концепциям, на которых основана технология.

Авторегрессия

Большинство языковых моделей работают по принципу авторегрессии: они анализируют весь запрос, затем предсказывают первый токен ответа, снова обрабатывают запрос уже с учётом первого токена, предсказывают второй — и так далее. Такой способ генерации похож на то, как мы читаем текст — слева направо, сверху вниз.

Температура

Температура — это параметр, управляющий степенью случайности в ответе модели. Чем ниже температура, тем выше вероятность, что модель выберет самый предсказуемый вариант. Высокая температура позволяет ей делать менее очевидный выбор — и, возможно, находить более интересные или гибкие решения.

Диффузия

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

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

Что выпустила Apple

Модель получила название DiffuCode-7B-cpGRPO и основана на научной работе DiffuCoder: Understanding and Improving Masked Diffusion Models for Code Generation, опубликованной в прошлом месяце. Главное её отличие — способность работать не строго по порядку, а «свободно», особенно при повышении температуры генерации.

Авторы статьи объясняют, что при температуре 0.2 модель ведёт себя почти как обычная LLM: последовательно предсказывает токены. Но при увеличении температуры до 1.2 она начинает выходить за рамки линейного порядка — и это позволяет ей быть гибче в генерации и дорабатывать код в разных местах одновременно.

Дополнительная особенность — специальная обучающая процедура под названием coupled-GRPO. Благодаря ей модель способна генерировать качественный код за меньшее количество проходов. В результате получается более цельная структура и выше скорость генерации, без потери качества.

Основа от Alibaba

Любопытно, что Apple не начинала с нуля. За основу была взята Qwen2.5‑7B, опенсорсная модель от китайской компании Alibaba. Сначала сама Alibaba адаптировала её для генерации кода (под названием Qwen2.5‑Coder‑7B), а затем Apple доработала её, добавив диффузионный декодер и улучшив способность следовать инструкциям. В финальном этапе модель прошла обучение на 20 000 тщательно отобранных примеров кода.

Эта работа дала свои плоды. Обновлённая версия — DiffuCoder-7B-cpGRPO — показала прирост в 4,4% по одному из популярных бенчмарков для оценки кода. При этом она сохранила возможность гибкой генерации — не только слева направо, но и с учётом всей структуры программы.

Конечно, есть и ограничения. Хотя модель опережает большинство других диффузионных моделей, она всё ещё уступает решениям вроде GPT-4 или Gemini Diffusion. Кроме того, объём в 7 миллиардов параметров — это не предел, и структура генерации всё же остаётся в какой-то мере последовательной.

Зачем это нужно Apple

Хотя пока неясно, как именно Apple собирается использовать DiffuCoder в продуктах, этот проект ясно показывает: компания постепенно выстраивает фундамент для серьёзных инициатив в области генеративного ИИ. И делает это не копируя подходы конкурентов, а развивая собственные, местами довольно смелые идеи.

Когда — и если — эти технологии доберутся до реальных инструментов для пользователей и разработчиков, покажет время. Но первые шаги уже сделаны — и они весьма нестандартны.


Ещё по теме:

Мы в Telegram, на Дзен, в Google News и YouTube