TGViewer
Speech Info Speech Info @speechinfo · 1.37K subscribers
Post #163 918
Ускорили перевод видео в Яндекс Браузере — задистиллировали диффузионный декодер TTS

Сегодня делимся свежей хабростатьёй о том, как ускорили синтез речи при переводе видео в Яндекс Браузере.

С чего стартовали

Внутри TTS — каскад из трёх частей:
🔴языковая модель предсказывает аудиотокены по тексту;
🔴диффузионный декодер восстанавливает мел-спектрограмму из латентов;
🔴вокодер превращает её в звуковую волну.

После того как оптимизировали языковую модель (она долго была самой тяжёлой), узким местом стал декодер латентов: его forward pass запускается на каждом шаге семплинга, а шагов — десятки. Его и взялись ускорять.

Что сделали с аттеншном

Прогнали инференс через torch.profiler и увидели, что время съедают рукописный QKVAttention и пересчёт RelativePositionBias на каждой итерации. Дальше — по нарастающей:
🔴перевели self-attention на SDPA (memory-efficient) и закешировали bias → 2,5× на уровне QKVAttention и почти вдвое меньше GPU-памяти, всё без переобучения;
🔴проверили гипотезу RoPE + FlashAttention — и честно её похоронили, так как на наших размерах тензоров она не обогнала кешированный бейзлайн. Зато получили полезный отрицательный результат;
🔴как более сильную архитектуру посмотрели DiT (на него уже перешли F5-TTS, CosyVoice3): качество выше, латенси сопоставимое.

Главный буст — дистилляция флоуматчинга

Самое интересное — поверх флоуматчинг-декодера навесили две дистилляции:
🔴CFG-distill: вместо двух forward pass'ов на шаг (conditional + unconditional) student воспроизводит guided-предсказание за один проход;
🔴progressive distillation: student учится за один шаг делать то, что teacher делает за два, и число шагов итеративно уменьшается вдвое.

Вместе это срезало число шагов семплинга с ~20 до 3 при паритете качества по SBS (наивное снижение шагов так не умеет — звук заметно проседает). Бонус progressive distillation — почти не пришлось трогать прод-код инференса, поменяли число шагов в конфиге.

Итог

Эти ускорения вместе дали примерно 1,5× ускорения всего TTS-пайплайна целиком. На практике это позволило на четверть сократить использование GPU в TTS-компоненте.

Цырен-Доржо Цыбиков ❣ Специально для Speech Info
  • ❤ 20
  • 🔥 11
  • 👍 6
More from @speechinfo
  1. Sep 23, 2026Compress the Cache, Not the Speech Embedding: KV Compression for Efficient Speech LLMs Инф…
  2. Sep 17, 2026Voice Memory for Agentic Speech Recognition Сегодня разбираем работу от NVIDIA о том, как…
  3. Sep 10, 2026OmniVoice: Towards Omnilingual Zero-Shot Text-to-Speech with Diffusion Language Models Сег…
  4. Sep 2, 2026MOSS-TTS Technical Report Разбираем техрепорт MOSS-TTS. В нём генерацию речи пытаются свес…
  5. Aug 26, 2026Как научить машину слышать «естественно»: GSRM и UniSRM [2/2] В SpeechJudge, которую мы уж…
  6. Aug 19, 2026Как научить машину слышать «естественно»: SpeechJudge [1/2] Сегодня начинаем разбирать три…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →