Обзор статей с ICASSP 25. Часть 3: LLM для улучшения в ASR

Две статьи от Meta* с ICASSP 2025 показывают, как сократить число вызовов декодера в ASR: в одной модель сразу предсказывает несколько токенов, в другой — принимает только те, у которых логиты выше порога. Разбираем, как устроены эти методы и как они влияют на скорость и WER.

Efficient Streaming LLM for Speech Recognition

Статья о стриминговой ASR-модели SpeechLLM-XL. Её архитектура состоит из двух компонентов: аудиоэнкодера и LLM-декодера. На вход декодеру одновременно подаются выходы аудиоэнкодера (как в обычной ASR) и токены, которые декодер уже успел предсказать.

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

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

Особенность SpeechLLM-XL — в устройстве генерации: в каждый момент LLM-декодер видит и текущий аудиочанк, и собственные предыдущие предсказания. Это позволяет ему лучше моделировать зависимость между звучанием и текстом, особенно в условиях ограниченного контекста.

Авторы сравнивают свою модель с другими стриминговыми ASR-решениями. По качеству SpeechLLM-XL обходит все перечисленные в работе бейзлайны на dev-наборах LibriSpeech. Например, на clean-части она показывает WER 2,5% против 2,9% у Transducer и 2,7% у ReaLLM при схожем размере чанка и lookahead — хотя сложно не заметить, что в целом скоры у бейзлайнов великоваты.

Faster Speech-LLaMA with Multi-token Prediction

Авторы пытаются ускорить LLM-декодер в ASR. Идея в том, что вместо генерации одного токена за раз, как в обычной LLM, они учат декодер предсказывать сразу несколько токенов. Чтобы не вызывать LLM отдельно для каждого из них, добавляют в декодер несколько «голов» — по числу токенов, которые нужно предсказать. Эти головы работают параллельно: каждая предсказывает свой токен, зная предыдущие.

Получается схема из трёх шагов:

1) Predict: модель сразу предсказывает K токенов.
2) Verify: среди них ищем самую длинную префикс-последовательность, которую можно подтвердить более строгим one-step-декодером.
3) Accept: принимаем только подтверждённые токены и продолжаем с новой гипотезой.

Это позволяет сократить число вызовов декодера без сильной потери качества. На графике видно, как число вызовов на слово (ось Y) падает, особенно при 4–6 головах, а качество (WER по оси X) остаётся на уровне. Лучший компромисс — 4 головы: ускорение ×2, при этом WER почти не растёт.

Верификацию авторы реализуют двумя способами:

— по порогу вероятности;
— по позиции гипотезы в top-N (например, если гипотеза оказалась в топ-5, то её можно принять).

Интересно, что при увеличении числа голов качество даже немного улучшалось. Хотя авторы отмечают это только на LibriSpeech, а на других датасетах наблюдается небольшая просадка.

По сути, это доработка идеи DeepSeek: там тоже пробовали multi-token prediction, но здесь её применили именно в ASR.

Алексей Рак Специально для Speech Info

* Компания Meta признана экстремистской; её деятельность в России запрещена.