Опубликовано

Как один токен сломал целую модель: история ошибки в vLLM

Инженеры AI21 Labs обнаружили странную ошибку в vLLM, которая превращала нормальные ответы модели Jamba в бессмыслицу – и всё из-за одного некорректного токена.

Технический контекст Инфраструктура
Источник события: AI21 Labs Время чтения: 4 – 6 минут

Иногда ошибки в ML-системах выглядят как магия. Модель работает нормально, выдаёт адекватные ответы, а потом вдруг начинает нести полную чушь – и непонятно, что пошло не так. Именно с таким случаем столкнулись инженеры AI21 Labs, когда тестировали свою модель Jamba в популярном фреймворке vLLM.

Что произошло

Команда AI21 Labs обнаружила странное поведение при работе с vLLM – это такой фреймворк для быстрого инференса языковых моделей, который сейчас активно используется в продакшене. Модель Jamba, объединяющая в себе архитектуры Transformer и Mamba, в какой-то момент начинала выдавать полную бессмыслицу вместо нормального текста.

Проблема проявлялась не всегда, а только в определённых ситуациях. Это самый неприятный вид ошибок – когда нельзя просто воспроизвести сбой по щелчку пальцев.

Начало расследования

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

Инженеры начали сужать область поиска. Они запускали модель с разными параметрами, меняли длину контекста, пробовали разные промпты. И постепенно начала вырисовываться закономерность: проблема появлялась, когда модель обрабатывала определённые последовательности токенов.

Что такое Mamba и почему это важно

Чтобы понять суть ошибки, нужно немного разобраться в архитектуре. Jamba использует не только классические блоки Transformer, но и слои Mamba – это более новая архитектура, которая работает как рекуррентная сеть, но обучается эффективнее.

В Mamba есть внутреннее состояние (state), которое обновляется по мере обработки токенов. Это состояние хранит информацию о том, что модель «видела» ранее в тексте. И вот именно с этим состоянием что-то пошло не так.

Момент озарения 💡

Прорыв случился, когда команда начала детально логировать, что происходит с внутренним состоянием Mamba на каждом шаге генерации. Они обнаружили, что в определённый момент состояние вдруг «портилось» – значения становились некорректными, и дальше модель уже не могла нормально работать.

Проблема была в том, как vLLM обрабатывает батчи запросов. Когда несколько запросов обрабатываются параллельно, фреймворк использует разные оптимизации для экономии памяти и ускорения работы. Одна из таких оптимизаций – переиспользование вычислений для одинаковых префиксов в разных запросах.

И вот здесь крылся подвох. В какой-то момент при обработке батча происходила ситуация, когда состояние Mamba от одного запроса «перетекало» в другой запрос. По сути, один токен из чужого контекста попадал не туда, куда нужно, и это ломало всё дальнейшее предсказание.

Технические детали

Если говорить конкретнее, проблема была в механизме кеширования префиксов (prefix caching). vLLM старается не пересчитывать одни и те же токены заново, если они уже встречались. Для моделей Transformer это работает отлично, потому что внимание (attention) – это операция без сохранения состояния (stateless).

Но Mamba – это другая история. У неё есть скрытое состояние, которое зависит от всех предыдущих токенов. И если вы берёте закешированное состояние из одного контекста и применяете его в другом, где последовательность токенов хоть немного отличается, всё ломается.

Представьте, что вы читаете книгу и запоминаете сюжет. Потом кто-то заменяет одну страницу на другую из похожей книги. Вы продолжаете читать дальше, но контекст уже сломан – вы помните что-то, что на самом деле не происходило в этой истории.

Решение

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

Команда AI21 Labs внесла патч в vLLM, который учитывает особенности гибридных архитектур типа Jamba. Теперь фреймворк правильно отслеживает, когда можно безопасно переиспользовать вычисления, а когда нужно пересчитать состояние с нуля.

Что это значит для индустрии

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

Во-вторых, оптимизации – это всегда компромисс. Кеширование префиксов (prefix caching) даёт огромный прирост производительности для обычных моделей, но для архитектур, сохраняющих состояние (stateful), нужны дополнительные проверки.

В-третьих, отладка ML-систем – это отдельное искусство. Проблема была не в модели и не в данных, а в тонком взаимодействии между архитектурой модели и инфраструктурой инференса. Такие ошибки сложно поймать автоматическими тестами, потому что они проявляются только в специфических сценариях.

Уроки для разработчиков

Если вы работаете с языковыми моделями в продакшене, из этой истории можно вынести несколько практических выводов:

  • Всегда тестируйте модели на реальных сценариях использования, а не только на синтетических бенчмарках.
  • Обращайте внимание на граничные случаи – когда модель работает в батче с другими запросами, при разной длине контекста, с разными параметрами генерации.
  • Логирование промежуточных состояний может быть дорогим в продакшене, но незаменимым при отладке.
  • Новые архитектуры могут требовать модификаций инфраструктуры – не стоит предполагать, что всё будет работать «из коробки».

Хорошая новость в том, что vLLM – это проект с открытым исходным кодом (open-source) с активным сообществом. Ошибка была найдена, исправлена, и теперь другие разработчики, которые работают с гибридными моделями, не столкнутся с той же проблемой.

Проще говоря, один неправильный токен действительно может испортить всё – но только если система не учитывает особенности архитектуры. Теперь учитывает.

Ссылка на публикацию: https://www.ai21.com/blog/vllm-debugging-mamba-bug/
Оригинальное название: One token to corrupt them all: a vLLM debugging tale
Дата публикации: 29 янв 2026
AI21 Labswww.ai21.com Израильская компания, создающая большие языковые модели и инструменты для работы с текстом.
Предыдущая статья YouTube разрешил создавать Shorts с помощью AI-аватаров Следующая статья OpenHands Index: новый способ сравнения AI-агентов в реальных задачах

От источника к разбору

Как создавался этот текст

Этот материал не является прямым пересказом исходной публикации. Сначала была отобрана сама новость – как событие, важное для понимания развития ИИ. Затем мы задали рамку обработки: что в тексте важно прояснить, какой контекст добавить и на чём сделать акцент. Это позволило превратить отдельный анонс или обновление в связный и осмысленный разбор.

Нейросети, участвовавшие в работе

Мы открыто показываем, какие модели использовались на разных этапах обработки. Каждая из них выполняла свою роль – анализ источника, переписывание, проверка и визуальная интерпретация. Такой подход позволяет сохранить прозрачность процесса и ясно показать, как именно технологии участвовали в создании материала.

1.
Claude Sonnet 4.5 Anthropic Анализ исходной публикации и написание текста Нейросеть изучает оригинальный материал и формирует связный текст

1. Анализ исходной публикации и написание текста

Нейросеть изучает оригинальный материал и формирует связный текст

Claude Sonnet 4.5 Anthropic
2.
Gemini 2.5 Flash Google DeepMind Проверка и правка текста Исправление ошибок, неточностей и спорных формулировок

2. Проверка и правка текста

Исправление ошибок, неточностей и спорных формулировок

Gemini 2.5 Flash Google DeepMind
3.
DeepSeek-V3.2 DeepSeek Подготовка описания для иллюстрации Генерация текстового промпта для визуальной модели

3. Подготовка описания для иллюстрации

Генерация текстового промпта для визуальной модели

DeepSeek-V3.2 DeepSeek
4.
FLUX.2 Pro Black Forest Labs Создание иллюстрации Генерация изображения по подготовленному промпту

4. Создание иллюстрации

Генерация изображения по подготовленному промпту

FLUX.2 Pro Black Forest Labs

ИИ: События

Вам может быть интересно

Перейти ко всем событиям

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

Hugging Face запустил Community Evals – платформу, на которой разработчики могут самостоятельно тестировать языковые модели и делиться результатами, не полагаясь на закрытые рейтинги.

Команда Perplexity AI продемонстрировала, как технология прямой передачи данных между серверами помогает языковым моделям работать быстрее и эффективнее, устраняя «узкие места» в сетевой инфраструктуре.

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

Не пропустите ни одного эксперимента!

Подпишитесь на Telegram-канал –
там мы регулярно публикуем анонсы новых книг, статей и интервью.

Подписаться