Распознавание речи через frozen discrete-diffusion LM
Статья проверяет непривычную идею для распознавания речи: не генерировать транскрипт слева направо, а уточнять весь текст параллельно через discrete diffusion. Авторы берут frozen DiffusionGemma 26B, добавляют frozen Whisper-энкодер, небольшой projector и LoRA-адаптеры, не обучая новый декодер с нуля. Интерес не в победе над Whisper, а в демонстрации, что большой текстовый diffusion-декодер можно «заземлить» в аудио и получить стоимость вывода, зависящую от числа denoising steps, а не от длины фразы.
Метод. Whisper-small кодирует 30-секундное окно в 1500 акустических кадров, projector с тремя сверточными слоями сжимает их до 188 audio tokens, примерно 6.25 токена в секунду. Эти токены подаются в encoder prompt DiffusionGemma, а decoder за несколько параллельных шагов очищает canvas длиной 192 токена. Обучаются только projector и LoRA rank 16 в attention-слоях encoder/decoder, всего 42.3M параметров, то есть 0.16% от 26B backbone. Важная деталь: обычные diffusion и autoregressive losses не заземляли audio pathway, поэтому авторы добавили CTC loss напрямую через frozen output head, чтобы projector получил градиент без ожидания, что attention уже научился слушать аудио.
Результаты. На LibriSpeech test-clean модель получает WER 6.6% на 100 примерах. Многоязычный adapter, обученный на английском, немецком, французском, испанском, Hindi и Mandarin, дает FLEURS English WER 15.7%, VoxPopuli English WER 18.5%, Hindi CER 15.8% и Mandarin CER 29.6%. По качеству это хуже autoregressive Whisper: авторы приводят ориентиры около 3.4% WER для Whisper-small и около 2.0% для Whisper large-v3 на LibriSpeech clean. Зато step sweep показывает почти плоскую кривую: 8 steps дают FLEURS-en WER 15.7% при 14.9x real time, 32 steps дают 15.2%, но уже 6.5x.
Ограничения. Модель пока не конкурент Whisper как готовый распознаватель: она видела около 219 часов аудио, на всех проверенных наборах отстает от Whisper, а сравнения с baselines частично взяты из опубликованных диапазонов, а не из единого rerun. Whisper-энкодер фиксирует 30-секундное окно, поэтому настоящего streaming режима нет; длинное аудио режется по тишине. Также остаются повторения в коротких utterances, которые убираются post-processing, а не самой моделью.
Фишка из статьи. Самый показательный результат - sweep числа denoising steps. Он отделяет стоимость распознавания от длины транскрипта: больше шагов почти не улучшает WER, зато заметно снижает скорость.
| Steps | FLEURS-en WER | Скорость |
|---|---|---|
| 8 | 15.7% | 14.9x real time |
| 16 | 15.6% | 10.3x real time |
| 32 | 15.2% | 6.5x real time |
| 48 | 15.6% | 4.7x real time |
Как это читать: качество уже почти насыщается на 8 параллельных шагах. Это пока не делает систему точнее Whisper, но показывает другой режим вывода: transcript length больше не задает число последовательных decoder passes.