Генеративный искусственный интеллект и его задачи в авторегрессионной генерации кода
Область генеративного искусственного интеллекта существенно повлияла на разработку программного обеспечения, автоматизировав различные задачи кодирования — от простых автозавершений до сложных программных решений. Однако традиционные языковые модели преимущественно используют авторегрессивные методы, предсказывая по одному токену за раз, что приводит к внутренним узким местам и проблемам с задержками.
Особенно в приложениях для кодирования медленная последовательная генерация ограничивает эффективность, создавая проблемы во взаимодействующих средах в реальном времени или в сценариях, требующих немедленных ответов. Хотя существующие оптимизированные по скорости модели, такие как GPT-4o и Claude 3.5 Haiku, показали несколько улучшенные характеристики, фундаментальное ограничение генерации по токенам сохраняется, что требует перехода к альтернативным подходам моделирования, способным к параллельной генерации и существенному сокращению задержек.
Текущее состояние помощников по кодированию на основе ИИ и их ограничения по скорости
В настоящее время основные помощники по кодированию на основе ИИ в значительной степени полагаются на авторегрессионные трансформерные архитектуры. Примечательные модели в этой области, такие как GPT-4o Mini, Claude 3.5 Haiku, Gemini 2.0 Flash Lite и Codestral, демонстрируют впечатляющие результаты в стандартных тестах по кодированию. Однако их последовательная природа остаётся ограничивающим фактором с точки зрения скорости.
Авторегрессионные модели обычно достигают пропускной способности около 50–200 токенов в секунду на современном оборудовании с графическими процессорами (GPU). Эти модели, хотя и высокоточные, сталкиваются со значительными ограничениями при обработке интерактивных задач с высокими требованиями или задач, чувствительных к задержкам.
Введение в Mercury: большая языковая модель на основе диффузии для высокопроизводительного кодирования
Исследователи из Inception Labs представили Mercury — новаторское семейство больших языковых моделей (LLM) на основе диффузии, специально оптимизированное для приложений кодирования. Mercury Coder, первая модель в этом семействе, включает два отдельных варианта: Mercury Coder Mini и Mercury Coder Small.
Эти диффузионные модели уникально сочетают трансформерные архитектуры с параллельной генерацией токенов, значительно повышая вычислительную эффективность и общую пропускную способность. Согласно независимым оценкам, проведённым Artificial Analysis, модели Mercury Coder достигли исключительных показателей производительности. Mercury Coder Mini достиг пропускной способности 1109 токенов в секунду, что намного быстрее, чем у базовых авторегрессионных моделей. Mercury Coder Small продемонстрировал впечатляющую пропускную способность в 737 токенов в секунду, предлагая отличный баланс между скоростью и точностью кодирования.
Механизм диффузии, лежащий в основе параллельной генерации токенов Mercury
Модели Mercury используют диффузионные процессы, в которых выходные данные итеративно преобразуются из начального случайного шума в согласованные данные. В отличие от традиционных моделей, которые последовательно предсказывают токены, модели Mercury одновременно уточняют несколько токенов на каждой итерации, значительно оптимизируя использование GPU.
Во время обучения модели Mercury использовали наборы данных, содержащие триллионы токенов, полученных из обширного веб-скрапинга, синтетических данных и проприетарных репозиториев. Протокол диффузионного обучения включает прямой процесс постепенного добавления шума к чистым данным и обратный процесс, который итеративно удаляет шум из этих зашумлённых данных.
Точность тестов: модели Mercury превосходят стандартные задачи кодирования
В тестовых испытаниях Mercury Coder Small достиг точности 90,0% в тесте HumanEval, стандартном тесте по кодированию на Python, и 76,2% в MultiPL-E, многоязыковом тесте, охватывающем такие языки, как C++, Java, JavaScript, PHP, Bash и TypeScript. Mercury Coder Mini также продемонстрировал надёжную производительность: 88,0% в HumanEval и 74,1% в MultiPL-E.
Примечательно, что в задачах заполнения середины, важных для автозавершения и интерактивного кодирования, Mercury Coder Small превзошёл известные модели со средней точностью 84,8%, превзойдя даже специализированные оптимизированные по скорости модели, такие как Codestral 2501, которая достигла 82,5%.
Более того, в реальных человеческих оценках, проведённых через платформу Copilot Arena, Mercury Coder Mini занял второе место по общему рейтингу предпочтений пользователей, опередив такие известные модели, как GPT-4o Mini и Gemini 1.5 Flash, и показал наименьшую среднюю задержку — всего 25 миллисекунд.
Ключевые выводы: высокая пропускная способность, точность и совместимость с рабочим процессом
* Модель Mercury Coder значительно превосходит традиционные авторегрессионные языковые модели, используя трансформерную архитектуру на основе диффузии, которая генерирует несколько токенов одновременно.
* Независимые оценки подтверждают, что Mercury Coder Mini достигает чрезвычайной пропускной способности — более 1100 токенов в секунду, что в десять раз быстрее, чем у обычных авторегрессионных моделей.
* Mercury Coder Small обеспечивает баланс между скоростью и точностью, достигая пропускной способности примерно 737 токенов в секунду, при этом стабильно демонстрируя высокие результаты в различных тестах по кодированию.
* Модели Mercury особенно эффективны в интерактивном кодировании и сценариях в реальном времени благодаря механизму параллельной генерации, что значительно сокращает задержки.
* Человеческие оценки демонстрируют высокую удовлетворённость пользователей, ставя модели Mercury в число лучших помощников по кодированию в практических условиях, таких как Copilot Arena.
* Диффузионный подход Mercury поддерживает совместимость с установленными методами подсказок, обеспечивая плавную интеграцию в существующие рабочие процессы разработчиков.
1. Какие проблемы существуют у традиционных языковых моделей в контексте генерации кода, и как модель Mercury решает эти проблемы?
Традиционные языковые модели используют авторегрессивные методы, предсказывая по одному токену за раз, что приводит к внутренним узким местам и проблемам с задержками. Модель Mercury использует диффузионные процессы, в которых выходные данные итеративно преобразуются из начального случайного шума в согласованные данные. Это позволяет одновременно уточнять несколько токенов на каждой итерации, значительно оптимизируя использование GPU и сокращая задержки.
2. Какие показатели производительности демонстрируют модели Mercury Coder Mini и Mercury Coder Small в сравнении с другими моделями?
Mercury Coder Mini достиг пропускной способности 1109 токенов в секунду, что намного быстрее, чем у базовых авторегрессионных моделей. Mercury Coder Small продемонстрировал впечатляющую пропускную способность в 737 токенов в секунду. В тестовых испытаниях Mercury Coder Small достиг точности 90,0% в тесте HumanEval и 76,2% в MultiPL-E, а Mercury Coder Mini — 88,0% в HumanEval и 74,1% в MultiPL-E.
3. Какие преимущества даёт использование диффузионного подхода в модели Mercury по сравнению с традиционными методами генерации кода?
Диффузионный подход Mercury позволяет одновременно уточнять несколько токенов на каждой итерации, что значительно оптимизирует использование GPU и сокращает задержки. Это особенно эффективно в интерактивном кодировании и сценариях в реальном времени, где требуется высокая скорость и точность. Кроме того, диффузионный подход поддерживает совместимость с установленными методами подсказок, обеспечивая плавную интеграцию в существующие рабочие процессы разработчиков.
4. Какие результаты показали модели Mercury в реальных человеческих оценках, проведённых через платформу Copilot Arena?
В реальных человеческих оценках, проведённых через платформу Copilot Arena, Mercury Coder Mini занял второе место по общему рейтингу предпочтений пользователей, опередив такие известные модели, как GPT-4o Mini и Gemini 1.5 Flash, и показал наименьшую среднюю задержку — всего 25 миллисекунд.
5. Какие выводы можно сделать о ключевых преимуществах модели Mercury Coder на основе представленного текста?
Ключевые выводы:
* Модель Mercury Coder значительно превосходит традиционные авторегрессионные языковые модели.
* Mercury Coder Mini достигает чрезвычайной пропускной способности — более 1100 токенов в секунду.
* Mercury Coder Small обеспечивает баланс между скоростью и точностью.
* Модели Mercury особенно эффективны в интерактивном кодировании и сценариях в реальном времени.
* Человеческие оценки демонстрируют высокую удовлетворённость пользователей, ставя модели Mercury в число лучших помощников по кодированию в практических условиях.