feat(onnx): изменена модель по умолчанию на GigaAM RNN-T

- Зачем:
  - пользователям нужен читаемый транскрипт без обязательной LLM-обработки.
- Что:
  - моделью ONNX по умолчанию выбрана `gigaam-v3-e2e-rnnt`.
  - сохранён явный профиль `gigaam-v3` для более точного сырого текста.
  - обновлены тест, README, спецификация, ADR и benchmark.
- Проверка:
  - `uv run pytest -q` — 226 passed, 1 skipped.
  - `git diff --check`.
This commit is contained in:
Dmitriy Dementiev
2026-08-11 16:47:09 +03:00
parent a06dbe63a3
commit 7f58a56913
6 changed files with 53 additions and 24 deletions
+13 -8
View File
@@ -1,7 +1,8 @@
# ADR-006: onnx-asr бэкенд — GigaAM v3 как CPU-default для русских встреч
# ADR-006: GigaAM RNN-T как модель по умолчанию для ONNX-пути
**Статус**: Принято
**Дата**: 2026-04-25
**Обновлено**: 2026-08-11
## Контекст
@@ -100,19 +101,27 @@ Mm-hmm-редукция и иностранные вставки **не обна
## Решение
**Принять onnx-asr как экспериментальный бэкенд с явным `--device onnx`. GigaAM v3 — рекомендуемая модель для русских встреч на CPU.**
**Принять onnx-asr как экспериментальный бэкенд с явным `--device onnx`.
GigaAM v3 E2E RNN-T — модель по умолчанию для русских встреч на CPU.**
Бэкенд **не в auto-detect** — только при явном указании пользователем (политика experimental backend, как для openvino).
Модели:
- **`gigaam-v3`** — рекомендуемая для русских встреч на CPU. 17-29× RTF, summary utility 4/5 на всех протестированных файлах. Без пунктуации, без латиницы; ошибки локальны, чинятся LLM-нормализацией.
- **`gigaam-v3-e2e-rnnt`** — модель по умолчанию: практически равна обычному
GigaAM по скорости, немного уступает по WER, но выдаёт готовую пунктуацию для
пользователей, которые читают транскрипт напрямую.
- **`gigaam-v3`** — явный профиль для последующей машинной обработки. 17-29×
RTF, summary utility 4/5 на всех протестированных файлах. Без пунктуации и
латиницы; ошибки локальны, чинятся LLM-нормализацией.
- **`parakeet-v3`** — multilingual (25 языков), формально доступен. **Не рекомендуется для русских встреч**: Mm-hmm-редукция и иноязычные вставки воспроизводятся систематически (см. выше). Уместен только для англоязычного контента.
Обе модели в int8-квантизации (~300 MB).
Все перечисленные модели доступны в 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 мин) встреч с равномерной громкостью; на длинных файлах с тихими участками он галлюцинирует целыми блоками — этот риск зафиксирован, но решение не выводит OpenVINO из списка дефолтов (часть пользователей всё ещё нуждается в пунктуации, и для коротких файлов галлюцинации не воспроизводятся).
- Parakeet-v3 формально доступен, но в README рекомендуется только для англоязычного контента — для русского явно не годится.
- GPU faster-whisper large-v3 остаётся эталоном по качеству (для пользователей с NVIDIA GPU).
@@ -121,10 +130,6 @@ Mm-hmm-редукция и иностранные вставки **не обна
## Открытые вопросы / следующие шаги
- **Galлюцинации Whisper medium на длинных файлах** — отдельный продуктовый риск, требующий собственного исследования. Возможно, имеет смысл ограничить максимальную длину чанка для openvino-medium, или дать предупреждение пользователю.
- **GigaAM v3 E2E RNN-T** протестирована позднее на трёх 14–15-минутных
записях: она практически равна обычному GigaAM по скорости и даёт готовую
пунктуацию, но немного уступает по совокупному WER. Результаты и обновлённая
рекомендация: [benchmark 2026-08-11](../benchmarks/2026-08-11-gigaam-model-comparison.md).
- **Canary** (`nemo-canary-1b-v2`) — тяжелее, но multilingual + пунктуация. Кандидат на «лучшее качество за разумную скорость» для тех, кому важна пунктуация.
- **Auto-detect onnx**: после стабилизации в production-использовании (несколько недель) — рассмотреть включение в auto-detect как первый CPU-бэкенд (ниже CUDA, выше OpenVINO).