распознавание речи · speech-to-text · транскрибация · T-one · GigaAM · Vosk · Deepgram · open source17 октября в 13:02 · 3 мин

Открытые модели против облака: почему старый процессор убивает живые субтитры быстрее, чем нехватка памяти

Переход с облачных API на собственные серверы для живых субтитров — это не вопрос выбора между моделями, а проверка «железа» на совместимость. Исследование показывает, что отсутствие инструкции AVX2 на процессорах может снижать производительность в пять раз, делая популярные локальные решения непригодными для реального времени. Автор ставит на одну доску T-one от Т-Банка, GigaAM от Сбера и облачный Deepgram, выявляя скрытые трата и грабли оптимизации.

# Открытые модели против облака: T-one, GigaAM или Deepgram

Задача по созданию сервисов для онлайн-встреч требует живых субтитров в реальном времени. Многие разработчики ищут способ уйти от облачных решений, чтобы сохранить конфиденциальность данных, но часто упускают из виду главное ограничение: архитектуру процессора. Автор статьи провёл сравнительный тест T-one, GigaAM и Vosk на обычном CPU без видеокарт, чтобы понять, сколько дорожек действительно потянет бюджетный сервер.

Железо важнее модели

Главный вывод исследования сводится к простому факту: количество виртуальных ядер (vCPU) в тарифе хостера не гарантирует производительность. Разница в оборудовании может исчисляться в разы, независимо от используемого программного обеспечения. На машине с современным процессором Xeon (AVX2) один чанк акустической модели обходился в 44 миллисекунды на ядре. На старом Xeon 2013 года (без AVX2, только AVX) это время выросло до 109–117 миллисекунд.

Разница в 2,5 раза на одном ядре при полном использовании всех потоков наnxruntime достигала пяти раз. В пересчёте на количество поддерживаемых дорожек это означает падение с 32 до 5 встреч одновременно. Окупаемость собственного сервера считать на основе количества ядер в рекламе хостера бессмысленно — необходимо использовать специализированный зонд для замера скорости одного чанка на конкретном тарифе.

Тестирование моделей и задержки

Для сравнения были выбраны четыре решения: облачный Deepgram, T-one от Т-Банка, пакетный GigaAM от Сбера и Vosk. Тестирование проводилось на двух типах оборудования. На более мощной машине (AVX2) можно было поддерживать до 32 дорожек с двойным запасом. На слабом оборудовании (без AVX2) возможности упали до 4–5 дорожек, что соответствует двум звонкам один на один.

Результаты показали, что режим «одна дорожка — один поток» оказался эффективнее батчинга (обработки группы заявок одновременно) на слабых CPU. Кроме того, использование языковой модели KenLM почти не нагружало процессор, но увеличивало потребление памяти с 0,6 ГБ до 5,5 ГБ.

Качество распознавания (WER) также варьировалось в зависимости от оборудования. На коротком образце телефонных разговоров T-one показал результат 11,8% ошибок, уступая облачному Deepgram и GigaAM. На длинной живой сессии задержки фраз составляли 1,1–1,2 секунды (p95), что удовлетворяет требованию «не позже чем через 2 секунды». Однако Vosk на широком спектре частот развалился, показав множество пропусков.

Экономический расчёт и выводы

Расчёт окупаемости собственного сервера зависит от тарифа. На мощности, эквивалентной машине A, сервер T-one окупается примерно с 57 часов встреч в месяц по промо-цене. На мощности уровня машины B эти же деньги обеспечат только две одновременные встречи, что в восемь раз меньше и делает проект экономически невыгодным без предварительных замеров зондом.

Главный совет: перед развёртыванием собственного ASR-сервера обязательно проверьте поддержку расширений AVX2 и FMA. Их отсутствие может превратить современный сервер в медленное устройство, которое не справится с нагрузкой живых субтитров, несмотря на заявленное количество ядер.

*Авторский штрих:* Иногда кажется, что мы выбираем между умным алгоритмом и быстрым сервером, но на деле выбор часто лежит между новым процессором и старым, даже если разница в спецификациях кажется незначительной.*

Первоисточники

Habr AI ↗
← Вернуться в эфир