- Зачем: - документация обещала large-v3-turbo на NVIDIA, где он недоступен, и умалчивала, что модель по умолчанию без CUDA понимает только русскую речь. - Что: - large-v3-turbo перенесён из таблицы faster-whisper в раздел OpenVINO с измеренными размерами моделей. - языковое ограничение авто-профиля и предупреждение CLI описаны в README, gpu.md и ADR-006. - в backlog добавлен пункт про turbo для faster-whisper, в gpu.md снято расхождение по скорости openvino-cpu. - Проверка: - вычитка diff, проверка якорной ссылки на docs/gpu.md.
15 KiB
ADR-006: GigaAM RNN-T как модель по умолчанию для ONNX-пути
Статус: Принято Дата: 2026-04-25 Обновлено: 2026-08-12
Контекст
Целевая аудитория local-transcriber — пользователи с Intel iGPU / CPU, без дискретного NVIDIA GPU.
Существующие CPU-бэкенды (faster-whisper, OpenVINO) дают 0.5-6x RTF для средних моделей — транскрипция часовой записи занимает 10-120 минут.
onnx-asr — легковесная обёртка (onnxruntime + numpy) над ONNX-моделями Parakeet, GigaAM, FastConformer и Canary. Заявляет 30-90x RTF на CPU при сравнимом с Whisper качестве для русского языка.
ADR-005 ранее отклонил Parakeet TDT 0.6B v3 для целевого use case на двух 15-минутных файлах с тихим микрофоном менти и плотной IT-терминологией. ADR-006 повторяет эксперимент на новом наборе файлов (22-81 мин, разной громкости), добавляет GigaAM v3 как кандидата для русской речи и проверяет три класса проблем Parakeet из ADR-005 на актуальном материале.
Эксперимент
Три реальных русскоязычных записи установочных встреч (формат ментор↔менти, mp4, 22-81 мин), ноутбук с Intel i7-11800H (CPU-only). Сравнивались три CPU-бэкенда:
- gigaam-v3 (onnx-asr GigaAM v3 CTC, int8, monolingual ru, без пунктуации)
- parakeet-v3 (onnx-asr Parakeet TDT 0.6B v3, int8, multilingual)
- ov-medium (OpenVINO Whisper medium int8) — baseline
Качественная оценка проведена независимым agent-judge'ем по методологии ADR-005 (4 критерия: completeness / term accuracy / fluency / summary utility, шкала 1-5). Транскрипты сохранены в /mnt/c/ddmitry/Videos/OBS/<basename>.{onnx-gigaam,parakeet-v3,ov-medium}.md и доступны для верификации.
Скорость
| Файл | Длит. | gigaam-v3 | parakeet-v3 --ru | OpenVINO medium |
|---|---|---|---|---|
| 10-59-59 | 22:26 | 81с (16.6×) | 116с (11.6×) | 265с (5.1×) |
| Vasya | 45:51 | 95с (29×) | 138с (20×) | 455с (6×) |
| 12-02-37 | 1:20:44 | 170с (28.5×) | 251с (19.3×) | 779с (6.2×) |
GigaAM в 3-5× быстрее OpenVINO medium, Parakeet в 2.5-3.5× быстрее.
Качество (agent-judge, 1-5)
| Файл | Backend | Completeness | Term accuracy | Fluency | Summary utility |
|---|---|---|---|---|---|
| 10-59-59 | gigaam | 5 | 4 | 4 | 4 |
| 10-59-59 | parakeet | 4 | 2 | 2 | 2 |
| 10-59-59 | ov-medium | 3 | 4 | 4 | 2 |
| Vasya | gigaam | 3 | 4 | 4 | 4 |
| Vasya | parakeet | 2 | 2 | 2 | 2 |
| Vasya | ov-medium | 2 | 3 | 2 | 2 |
| 12-02-37 | gigaam | 4 | 3 | 3 | 4 |
| 12-02-37 | parakeet | 3 | 2 | 1 | 1 |
| 12-02-37 | ov-medium | 2 | 3 | 2 | 1 |
GigaAM — единственный backend, дающий summary utility 4/5 на всех трёх файлах. Parakeet и ov-medium систематически уступают по разным причинам (см. ниже).
Класс ошибок: Parakeet — три проблемы из ADR-005 воспроизведены
Все три класса систематических ошибок Parakeet, описанные в ADR-005, воспроизводятся на новом наборе файлов:
1. Mm-hmm/Yeah-редукция тихих реплик менти. Массово на всех трёх файлах:
- Vasya
[04:56-09:33]блок из ~10 реплик:Mm-hmm. Mm-hmm. Mm. That's nice. Mm-hmm. Mm-hmm.— полностью утеряны ответы менти на вопросы ментора. - 10-59-59
[19:03]Yeah. Иногда лучше дышали в облаке. - 12-02-37
[00:00:01]I mean.вместо «не пони…».
2. Вставки иностранных языков посреди русского. На этом наборе ещё агрессивнее, чем в ADR-005 (там был только польский):
- 10-59-59
[00:08]Secondo, Alice. The mutual microphone.— итальянский+английский для «секунду, Алиса, замьючен микрофон». - 10-59-59
[22:02]Ah si va sur. Well.— испано-французская смесь в финальном прощании. - Vasya
[27:31]Mas o żegnienie.— польский в полностью русской встрече. - 12-02-37
[10:38]Запроси к Każdemu Actually, таблица классная— русско-польско-английский в одной фразе. - 12-02-37
[01:03:23]No już je wsie.— польский («ну уже всё»).
3. Искажение IT-терминов и имён компаний:
- 10-59-59
[02:21]не Аринадата и не Терринте игравместо «Аренадата и Тере-Интегра» (имена работодателей). - 10-59-59
[01:23]Запромбанке(с unk-токенами) вместо «Газпромбанк». - 12-02-37
[02:35]Basic space clear causeвместо «база данных кликхаус». - 12-02-37
[06:12]Поскре это не колочный, чтобы это греплан. Ловочная.— Postgres/Greenplum/«колоночная» искажены до неразборчивости. - 12-02-37
[16:53]своеобрестьвместо «Wildberries» — целевой работодатель в задаче, имя потеряно.
Класс ошибок: Whisper medium — галлюцинации на длинных файлах с тихими фрагментами
Не описано в ADR-005 (там были 15-минутные отрывки) — обнаружено только на длинных файлах:
- 12-02-37
[01:03:43-01:20:14]— 17 минут хвоста встречи забиты галлюцинированными повторами:«Вместе с вами мы решим, как мы будем работать с вами»,«Это не то, чтобы не было»,«Выбор? Нет. Выбор? Нет.». Бытовая часть встречи целиком потеряна. - 12-02-37
[19:54-20:49]— 11 повторов«И вот, как я вам рассказываю, это очень интересно»вместо реального решения SQL-задачи. - Vasya
[10:08-11:59]— ~6 повторов«Но если вы хотите, чтобы мы не разговаривали, то вы можете.»(~2 минуты галлюцинации). - Vasya
[36:00-36:30]— 14 повторов«Ага. Ага.»(loop). - Vasya
[45:51]—«Субтитры сделаны с помощью СМС, аппарата — Лариса.»— классический Whisper-артефакт «титров». - 10-59-59
[10:56-11:40]— строка из ~1000 символов«ааааа…»— галлюцинация на тихом фрагменте, проглатывает 30 секунд аудио. - 12-02-37
[01:18:47]— приписан несуществующий человек«Валерий Сюткин».
Это критичный класс ошибок: текст выглядит правдоподобно, и читатель конспекта не отличит галлюцинацию от реального содержания без возврата к аудио. Хуже потери — потому что вводит в заблуждение.
Класс ошибок: GigaAM — локальные искажения латиницы и имён
GigaAM monolingual ru, латиницу не выдаёт. На транскрипте:
«эскель»/«эсквель»вместоSQL(везде кириллицей).«гитам ардауна»вместоgit и markdown(Vasya[14:14]).«арендата»/«арендат»/«арендода»для «Аренадата» (10-59-59[02:21]) — три разных варианта одного имени.«дв один»вместоDEV1(12-02-37[00:50:56]).«яндекс тим под яндекс тим»для «Яндекс ТимКод» (12-02-37[00:14:15]).
Mm-hmm-редукция и иностранные вставки не обнаружены: monolingual архитектура исключает language-confusion, тихие реплики менти остаются как русские «угу/да/ну».
Эти ошибки локальны, предсказуемы и легко чинятся LLM-этапом нормализации без знания исходного аудио (восстановить SQL, Greenplum, ClickHouse, имена компаний из контекста).
Решение
Принять onnx-asr как CPU-бэкенд автоматического профиля. GigaAM v3 E2E RNN-T — модель по умолчанию на машинах без CUDA.
Порядок --device auto: CUDA при наличии nvidia-smi, иначе ONNX. OpenVINO и
FasterWhisper CPU остаются доступными через явный CLI-аргумент или конфиг.
GigaAM понимает только русскую речь, поэтому для остальных языков автоматический профиль не годится — нужен явный Whisper. Несовместимый язык работу не останавливает: CLI предупреждает о нём до начала распознавания и называет подходящий профиль.
Модели:
gigaam-v3-e2e-rnnt— модель по умолчанию: практически равна обычному GigaAM по скорости, немного уступает по WER, но выдаёт готовую пунктуацию для пользователей, которые читают транскрипт напрямую.gigaam-v3— явный профиль для последующей машинной обработки. 17-29× RTF, summary utility 4/5 на всех протестированных файлах. Без пунктуации и латиницы; ошибки локальны, чинятся LLM-нормализацией.parakeet-v3— multilingual (25 языков), формально доступен. Не рекомендуется для русских встреч: Mm-hmm-редукция и иноязычные вставки воспроизводятся систематически (см. выше). Уместен только для англоязычного контента.
Все перечисленные модели доступны в int8-квантизации.
Последствия
- Пользователи CPU-only с русскоязычным контентом получают 3-5× ускорение по сравнению с OpenVINO medium при превосходящем качестве (4/5 vs 1-2/5 summary utility на длинных файлах).
- Пользователи ONNX без явного
--modelполучают пунктуацию и нормализацию RNN-T; более точный сырой CTC остаётся доступен как--model gigaam-v3. - Whisper medium (
--device openvino-cpu) остаётся допустимым явным профилем для коротких (≤30 мин) встреч с равномерной громкостью; на длинных файлах с тихими участками он может галлюцинировать целыми блоками. - Parakeet-v3 формально доступен, но в README рекомендуется только для англоязычного контента — для русского явно не годится.
- GPU faster-whisper large-v3 остаётся эталоном по качеству (для пользователей с NVIDIA GPU).
- Пост-процессинг GigaAM-транскрипта LLM-этапом нормализации (восстановление латинских терминов и имён компаний) — рекомендуемая практика для финального конспекта.
Открытые вопросы / следующие шаги
- Галлюцинации Whisper medium на длинных файлах — отдельный продуктовый риск, требующий собственного исследования. Возможно, имеет смысл ограничить максимальную длину чанка для openvino-medium, или дать предупреждение пользователю.
- Canary (
nemo-canary-1b-v2) — тяжелее, но multilingual + пунктуация. Кандидат на «лучшее качество за разумную скорость» для тех, кому важна пунктуация. - Проверить качество на других языках и при необходимости дополнить многоязычные рекомендации. Сама автоматическая политика от языка не зависит: она предупреждает о несовместимости, но профиль за пользователя не меняет.
Отклонённые альтернативы
| Альтернатива | Почему отклонена |
|---|---|
| NeMo Parakeet напрямую (без onnx-asr) | Требует PyTorch + CUDA, Python ≥ 3.12, ~2 GB зависимостей — слишком тяжело для CLI |
| Замена faster-whisper на onnx-asr | faster-whisper поддерживает 99+ языков и пунктуацию, остаётся лучшим GPU-бэкендом |
| Parakeet-v3 как multilingual default | Воспроизведённые проблемы из ADR-005 (Mm-hmm-редукция, иноязычные вставки) делают его непригодным для русского; для других языков не валидировано в этом эксперименте |