03. Выбор моделей: распознавание речи и классификация

Версия 1.0 от 2026-10-02. Принцип: финальный выбор — только по бенчмарку на реальных данных заказчика (PoC, см. 05). Публичные метрики на «чистых» датасетах плохо переносятся на телефонное аудио, поэтому здесь даны ориентиры и критерии, а не вердикты.

1. Критерии выбора ASR

  1. Качество на телефонном русском (WER на нашей разметке) — главный критерий.
  2. Коммерчески совместимая лицензия (без NC-ограничений).
  3. Скорость (RTF) на целевом GPU при батчинге → определяет размер кластера и бюджет.
  4. Наличие word-level таймкодов (нативно или через forced alignment).
  5. Self-hosted (объём и ПДн исключают облачные API как основной путь).

2. Кандидаты ASR

Модель Лицензия Качество RU (ориентир) Скорость на GPU (ориентир) Статус в проекте
Whisper large-v3-turbo (809M) MIT WER чуть хуже large-v3 (~+1–3 п.п.), русский — уверенно при батчинге ~50–80× RT на карту класса L40S/A100 Базовый кандидат — баланс качество/скорость
Whisper large-v3 (1.55B) MIT один из лучших мультиязычных; телефония портит WER (ориентир 10–25 % на звонках) ~15–25× RT Кандидат; резерв качества, если turbo не дотянет
GigaAM-v2 (RNNT/CTC), Сбер веса — некоммерческая лицензия; коммерция — по договору со Сбером лучшие публичные результаты на русском (Golos-класс датасетов ~2–5 % WER), обучена в т.ч. на телефонии RNNT заметно быстрее Whisper (~100×+ RT) Участвует в бенчмарке; в прод — только при разрешении лицензии
T-one (Т-Банк) проверить лицензию в PoC сильная модель для русского высокая Второй эшелон кандидатов
Parakeet TDT 0.6B v3 (NVIDIA) CC-BY-4.0 русский поддерживается, но слабее специализированных очень высокая (TDT) Для сравнения скорости/цены в бенчмарке
Vosk (ru) Apache-2.0 заметно уступает современным высокая Отклонён: качество
Облачные API (Yandex SpeechKit и др.) контракт высокое — Только как калибровка/резерв: на 450 тыс. ч дороговато и упирается в ПДн

Ориентиры скорости — по публичным бенчмаркам faster-whisper/WhisperX; для планирования мощности (см. «Поставка и внедрение») принята консервативная 40× реального времени на карту L40S (turbo, батчинг, int8_float16, утилизация 85 %). Реальную цифру фиксируем замером в PoC.

Решение по диаризации

Не требуется: каналы уже разделены. WhisperX-forced-alignment используется только для word-таймкодов.

Пунктуация

Whisper выдаёт пунктуацию из коробки. Если бенчмарк выиграет модель без пунктуации (GigaAM/T-one) — добавляется модель пунктуации для русского (ruBERT-класс, ~CPU/GPU копейки) — учтено в архитектуре.

3. Классификация звонков (контекст)

3.1 Каскад «правила → LLM → человек»

Уровень 0 — аудио/дешёвые признаки (до ASR или сразу после): доля речи по каналам (VAD), длительность, бипы/DTMF, музыка, одна ли сторона говорила. Отсекает очевидные «без ответа», «тишина», короткие сбросы, часть автоответчиков — без затрат LLM.

Уровень 1 — правила по тексту: словари/regex («оставьте сообщение», «перезвоните позднее», самопредставление роботов), стоп-слова, нечёткий поиск обязательных фраз скрипта (rapidfuzz, нормализация текста). Детерминированно, объяснимо, правится бизнесом без релиза.

Уровень 2 — LLM со структурированным выводом (vLLM, JSON-schema): по транскрипту (+признаки уровня 0–1 в промпте) выдаёт строго типизированный вердикт: тип соединения, результат, флаги скрипта, конфликтность, теги, уверенность. Низкая уверенность или противоречие с правилами → уровень 3.

Уровень 3 — очередь ручного контроля: интерфейс разметки; размеченные данные идут в регресс-набор и на периодическую валидацию промптов/правил.

3.2 Выбор LLM

Вариант Плюсы Минусы Статус
Qwen3-14B / 32B локально (vLLM, Apache-2.0) работает на своём GPU; ПДн не покидают контур; structured outputs нужно 1–2 GPU Базовый план
РФ-облако LLM (GigaChat/YandexGPT) не нужно своё GPU для LLM нагрузка на 6+ млн звонков; ПДн вне контура Опция по анкете E
Western API — ПДн, санкционно/юридически Отклонён

Оценка нагрузки LLM: ~2–4 тыс. токенов на звонок; в пике бэклога (~70 тыс. звонков/сут) — ~200 млн токейн-запросов/сутки, одна карта L40S с 14B-AWQ (vLLM, батчинг, ~2–4 тыс. ток/с) покрывает это впритык → в прод-конфигурации заложены 2 карты на LLM (см. «Поставка и внедрение»), в steady-state достаточно одной.

4. Методика оценки качества (PoC)

  1. Эталон ASR: ручная дословная транскрипция 60–90 мин аудио, стратифицированная по типам (обычные, автоответчики, шумные, короткие, «трудные»). Метрики: WER/CER общие и по слоям; сравнение моделей между собой важнее абсолютных чисел.
  2. Эталон классификации: 300–500 звонков, мультилейбл по таксономии v1 (совместно с бизнесом). Метрики: precision/recall/F1 по каждому классу; отдельно бинарная задача «живой разговор vs всё остальное» — она определяет достоверность главных KPI руководства.
  3. Скорость и ёмкость: RTF на целевой карте при реальном батчинге, включая предобработку; сколько часов аудио карта обрабатывает в сутки.
  4. Регресс-набор: зафиксированная выборка (ASR + классификация) остаётся в CI моделей — любой апгрейд модели/промптов проходит по ней перед выкаткой.

5. Вердикты, которые фиксирует PoC