Enhancement Latency Early exit
Real-time enhancement

Одна speech-enhancement модель на 30 latency-режимов

PESQ 2.82

В real-time speech enhancement обычно приходится выбирать: отдельная модель под видеозвонок, отдельная под hearing-aid latency, отдельная под более тяжелый серверный denoise. Эта статья предлагает one-for-all модель, где двумя ручками управляются сразу оба типа задержки: algorithmic latency через look-ahead frames и computational latency через early-exit depth.

Проблема latency не одна

Algorithmic latency — это сколько будущего аудио модель должна увидеть, прежде чем обработать текущий frame. Computational latency — сколько времени занимает сам inference. В обычной архитектуре эти вещи смешиваются: чтобы улучшить качество, добавляют глубину или look-ahead, и модель сразу становится неподходящей для части приложений. Авторы разделяют эти измерения.

Архитектура

  • Look-ahead контролируется параллельными convolutional branches: вместо неэффективного обучения одной модели на разных padding configurations есть отдельные ветки под разные режимы будущего контекста.
  • Computational budget контролируется early-exit: можно остановить inference на более раннем decoder depth.
  • Двухстадийное обучение сначала формирует shared representation, затем переводит модель к multiple-decoder режиму, чтобы сократить gap между универсальной и специализированными моделями.

Что получилось

На URGENT 2025 authors показывают сетку из 30 latency configurations. Важная деталь: 12-layer вариант имеет computational latency 25 ms при hop size 20 ms, то есть на NVIDIA A100 уже не проходит real-time constraint без ускорения. Early-exit нужен не для красоты, а чтобы реально попадать в разные budget-ы.

На VoiceBank-DEMAND, где большинство сравниваемых моделей не обучались на train split этого датасета, proposed model с exit layer=8 и look-ahead=0 дает PESQ 2.76, ESTOI 0.86 и SI-SDR 18.6 dB при 40 ms algorithmic latency и 2.9M parameters. При look-ahead=1 latency растет до 60 ms, зато качество улучшается до PESQ 2.82, ESTOI 0.86 и SI-SDR 18.8 dB.

Для сравнения: DeepFilterNet3 на той же таблице дает PESQ 2.71, ESTOI 0.84, SI-SDR 17.3 при 40 ms и 2.14M parameters; Stream.FM — PESQ 2.72, ESTOI 0.85, SI-SDR 13.4 при 32 ms, но с 52.5M parameters. То есть универсальность здесь не выглядит как сильная плата качеством.

Практический вывод

Для продакшена это удобная идея: обучить одну модель, а на устройстве выбрать конкретный exit и look-ahead под hardware, battery, network jitter и UX. После выбора режима можно оставить только нужные layers и ветку look-ahead, поэтому deployment footprint становится как у специализированной модели. Особенно полезно для сервисов, где один enhancement backend должен жить в разных режимах: streaming STT, звонки, записи встреч и офлайн-очистка аудио.

Фишка из статьи. Здесь очень удачно разделены две разные задержки: algorithmic latency задается look-ahead кадрами, а computational latency - глубиной early exit. Полная задержка складывается из них, причем algorithmic latency считается как 40 мс + lookahead × 20 мс, а real-time режим требует, чтобы вычисления укладывались в 20-мс hop.

Exit / lookaheadDNSMOSNISQAPESQESTOICAccAlg. latencyCompute
4 / 02.983.412.020.6781.8640 мс10.09 мс
8 / 03.073.622.150.7083.1040 мс18.31 мс
8 / 13.133.742.240.7284.6260 мс18.31 мс
12 / 0-----40 мс25.05 мс

Вывод из таблицы довольно прикладной: exit layer 8 с lookahead 1 остается real-time на A100 и дает заметный прирост качества, а layer 12 уже выходит за 20-мс бюджет. Поэтому вклад статьи не только в MoE/decoder training, но и в управляемую сетку latency/quality для одного и того же enhancement-моделя.

Оригинальная статья на arXiv