Как мы ускоряли диффузионный декодер TTS
В пайплайне перевода видео в Яндекс Браузере скорость работы в синтезе речи долго оставалась узким местом: одно видео — это сотни фраз, каждая генерируется отдельно, и любая сэкономленная миллисекунда становится заметной в масштабах сервиса.
Внутри TTS работает каскад из трёх компонентов: языковая модель предсказывает аудиотокены по тексту, диффузионный декодер восстанавливает мел-спектрограмму из латентов, а вокодер превращает её в звуковую волну. Долгое время самой тяжёлой была языковая модель, но после её оптимизации на первый план вышел декодер латентов — его forward pass запускается на каждом шаге семплинга диффузии, а шагов — десятки. Именно его мы и взялись ускорять.
Меня зовут Цырен-Доржо Цыбиков, я ML-инженер команды TTS в Яндексе и ментор проекта Даниила Маслова, студента бакалавриата кафедры АД ФПМИ МФТИ и ШАД. В рамках проектного курса мы запустили отдельную исследовательскую ветку по оптимизации диффузионного декодера латентов в TTS-пайплайне перевода видео.
https://habr.com/ru/companies/yandex/articles/1051334/
Алгоритмы и Структуры данных
Post #4735
592