В последние годы технологии искусственного интеллекта прочно вошли в мир программирования, превращая написание и редактирование кода из рутинной задачи в интерактивный и интеллектуальный процесс. Одним из ключевых факторов, определяющих эффективность подобных систем, является скорость обработки токенов - текстовых единиц, из которых состоит код. Morph, компания работающая над улучшением AI-инструментов для кодинга, недавно объявила о достижении скорости обработки более 10 500 токенов в секунду на вычислительном оборудовании Nvidia B200. Этот показатель представляет собой значительный скачок по сравнению с их предыдущими результатами и конкурентами на рынке, и уже меняет представление о том, как можно ускорить работу с кодом с применением искусственного интеллекта. В данной публикации мы подробно рассмотрим, как была достигнута эта производительность, какие технологии помогли Morph добиться таких результатов, а также почему эта скорость становится важным конкурентным преимуществом в эру AI-программирования.
На пути к выдающимся скоростям Morph столкнулась с проблемой традиционного подхода к редактированию кода - он основан на принципе "поиска и замены". При необходимости внести несколько изменений в файл, каждое из них требует отдельного вызова инструмента, что создает множество сетевых задержек и замедляет конечный результат. Morph отказалась от этого подхода, создав уникальную модель, работающую с исходным кодом и частичными фрагментами кода, которые содержат специальные маркеры для обозначения существующих участков. Это позволяет объединять все изменения за один запрос и применять их одновременно. Концептуально это похоже на слияние изменений в системе контроля версий, но здесь речь идет об AI-генерируемом коде.
Ключевым фактором достижения скорости в 10 500 токенов в секунду стала разработка собственных CUDA-ядер, которые влияют на оптимизацию вычислений на графических процессорах Nvidia. В отличие от стандартных операций, Morph внедрила объединённые ядра для операций внимания и feedforward, устранив три лишних обращения к памяти. Кроме того, была реализована улучшенная версия FlashAttention, адаптированная под иерархическую структуру кода. Это позволило увеличить пропускную способность памяти до 2.1 ТБ/с на GPU H100, что существенно выше стандартных 1.
6 ТБ/с, отметаемых для обычных ядер. Еще одним прорывным решением стало использование спекулятивного выполнения. При работе с текущими токенами модель предсказывает вероятные продолжения и заранее вычисляет до восьми последующих токенов. Такой подход, учитывая предсказуемые шаблоны в программном коде - такие как отступы, скобки и ключевые слова, - достигает точности примерно 70%. При удачном прогнозе достигается трехкратное ускорение, а в случае ошибки накладывается незначительная потеря производительности в размере 5%.
Morph также внесла изменения в архитектуру моделей. Вместо стандартной, более громоздкой модели с 34 миллиардами параметров, использовалась меньшая модель в 7 миллиардов параметров, специализированная на задаче слияния и редактирования кода. Удаление неиспользуемого словаря, например знаков китайского алфавита, также уменьшило нагрузку на вычислительные ресурсы. Дополнительно использована кастомная позиционная кодировка, учитывающая иерархическую структуру программных текстов, что улучшает понимание контекста и повышает качество модели. Влияние данного улучшения на производительность ощутимо - Morph обновил результаты своих моделей и принадлежит к лидерам отрасли в скорости токенов на запрос.
По сравнению с другими популярными решениями, такими как vLLM с Llama 3.1 8B (3200 токенов в секунду) и TensorRT-LLM с CodeLlama 7B (4800 токенов в секунду), Morph демонстрирует впечатляющий прорыв, превышающий вдвое эти показатели. Показатели прошлого поколения морф-моделей, составлявшие 4500 токенов в секунду, теперь уже кажутся неактуальными. Более того, в реальной работе этот прорыв трансформируется в быстродействие, позволяя завершать задачи редактирования кода за 1-3 секунды, что особенно важно в условиях ограниченной сетевой задержки и больших файлов. Morph FastApply, новая функция платформы, демонстрирует 35% ускорение в итоговом времени выполнения задачи по сравнению с традиционными методами "поиска и замены".
Это особенно актуально для таких сценариев, как живое рефакторингирование сложных проектов с несколькими файлами, когда требуется оперативная обратная связь и согласованность правок. Агентские рабочие процессы, предполагающие координацию множества изменений с высокой точностью, также выигрывают от быстродействия этого инструмента. Кроме того, функция спекулятивного редактирования позволяет применять предложения, едва они были сгенерированы моделью, максимально сокращая время ожидания пользователя. Несмотря на многочисленные преимущества, текущий подход Morph имеет свои ограничения. Технология лучше всего применима к структурированным языкам программирования вроде Python, JavaScript и Go.
Языки с активным использованием макросов, такие как C++, пока вызывают трудности. Для корректной работы необходим специальный формат ввода с маркерами, указывающими на существующий код, что требует адаптации процесса командной работы или интеграции. Кроме того, модель поддерживает лишь однозапросный режим и не предназначена для полноценных разговорных сценариев с сохранением контекста. Будущие планы Morph ориентированы на дальнейшее повышение скорости и расширение возможностей. В разработке находятся новые CUDA-ядерные решения Blackwell для B200, которые должны вывести производительность до 15 000 токенов в секунду.
Также рассматривается возможность атомарных операций с правками сразу по всему репозиторию, что значительно увеличит масштабность и удобство использования. Идея переместить вычисления ближе к Пользователю, обеспечив задержку менее 100 миллисекунд, позволит еще больше оптимизировать скорость редактирования и отзывчивость систем. Уникальное сочетание аппаратных и программных решений, примененных Morph, открывает новую страницу в развитии AI для программирования. Для разработчиков это означает повышение эффективности, сокращение времени на рутинные операции и появление возможностей для более креативной работы. Интеграция таких технологий обещает сделать разработку ПО быстрее и комфортнее.
Morph предлагает попробовать их API по адресу https://api.morphllm.com/v1/apply с гибкой ценовой политикой, что делает данное решение доступным для корпоративных и индивидуальных пользователей. В итоге, заслуга Morph в достижении рекордной скорости обработки токенов на Nvidia оборудовании заключается не только в технических инновациях, но и в понимании реальных проблем программистов и стремлении сделать AI-инструменты по-настоящему полезными и быстрыми. Эволюция программирования уже идет, и Morph занимает одно из ключевых мест на этом пути.
.