Сервис распознавания речи. От моделей до production-решения

Нейронные сети, искусственный интеллект

Доклад принят в программу конференции

Техлид voicekit Tinkoff.

Тезисы

Видео

В докладе расскажем о внутреннем устройстве нашего сервиса распознавания речи (https://voicekit.tinkoff.ru/).
Перед нами стояла задача обрабатывать ~7000 параллельных аудиопотоков для распознавания, а также распознавание не в потоке с RTF (Real Time Factor) < 0.25, при этом используя ограниченные ресурсы GPU.
Расскажем о том, зачем вообще необходимо распознавание речи, дадим обзор основных модулей нашего сервиса, углубимся в технические детали реализации:
- расскажем, какими метриками можно оперировать в потоковых аудиосервисах (SPS, RTF, Head/Tail latency)
- поделимся опытом переписывания бэкенда с Python на Go из-за отсутствия в Python хорошей многопоточности
- предоставим информацию о том, как мы перевели кодовую базу на go-pipelines (https://blog.golang.org/pipelines), чтобы каждый этап обработки аудио проходил асинхронно
- поделимся опытом развертывания deep-learning-моделей в проде при помощи tf-serving, балансировки grpc-запросов через envoy и бесшовной выкатки новых моделей
- Расскажем, как правильно настраивали батчинг моделей, чтобы максимально утилизировать GPU.