docs(benchmark): расширено сравнение моделей на русских встречах
- Зачем: - выбор CPU-модели должен опираться на несколько реальных записей, а не на единичный прогон. - Что: - добавлены скорость, WER и качественное сравнение пяти моделей на трёх встречах. - обновлены рекомендации README и открытый вопрос ADR-006 для E2E RNN-T. - Проверка: - git diff --cached --check.
This commit is contained in:
@@ -286,14 +286,14 @@ language = "en"
|
|||||||
| `parakeet-v3` | ~600 MB | 12-20× | 25 языков | ✅ |
|
| `parakeet-v3` | ~600 MB | 12-20× | 25 языков | ✅ |
|
||||||
|
|
||||||
\* Наблюдение на AMD Ryzen 7 8845H, Windows, `int8`, запись 14:51. Это не
|
\* Наблюдение на AMD Ryzen 7 8845H, Windows, `int8`, запись 14:51. Это не
|
||||||
приёмочный замер для целевого Intel Core i5.
|
приёмочный замер для целевого Intel Core i5. Методика и качественное сравнение:
|
||||||
|
[benchmark GigaAM и Whisper](docs/benchmarks/2026-08-11-gigaam-model-comparison.md).
|
||||||
|
|
||||||
> **Рекомендация**: для русского по-прежнему используйте проверенный `gigaam-v3`
|
> **Рекомендация**: для готового читаемого русского текста
|
||||||
> (см. [ADR-006](docs/adr/006-onnx-asr-backend.md)). E2E-модели добавляют
|
> используйте `gigaam-v3-e2e-rnnt`, для последующей машинной обработки — более
|
||||||
> пунктуацию и нормализацию, но их скорость на слабых CPU не измерялась;
|
> точный по словам `gigaam-v3` без пунктуации. Вывод проверен на трёх реальных
|
||||||
> `gigaam-v3-e2e-rnnt` декодирует последовательно и особенно медленна на длинных
|
> записях общей длительностью 43:37. `parakeet-v3` на русском воспроизводит
|
||||||
> записях. `parakeet-v3` на русском воспроизводит проблемы из
|
> проблемы из [ADR-005](docs/adr/005-parakeet-evaluation.md).
|
||||||
> [ADR-005](docs/adr/005-parakeet-evaluation.md).
|
|
||||||
|
|
||||||
GigaAM Multilingual сама распознаёт русский, английский, казахский, кыргызский и
|
GigaAM Multilingual сама распознаёт русский, английский, казахский, кыргызский и
|
||||||
узбекский внутри одной записи. `onnx-asr` не передаёт этой модели подсказку
|
узбекский внутри одной записи. `onnx-asr` не передаёт этой модели подсказку
|
||||||
|
|||||||
@@ -121,7 +121,10 @@ Mm-hmm-редукция и иностранные вставки **не обна
|
|||||||
## Открытые вопросы / следующие шаги
|
## Открытые вопросы / следующие шаги
|
||||||
|
|
||||||
- **Galлюцинации Whisper medium на длинных файлах** — отдельный продуктовый риск, требующий собственного исследования. Возможно, имеет смысл ограничить максимальную длину чанка для openvino-medium, или дать предупреждение пользователю.
|
- **Galлюцинации Whisper medium на длинных файлах** — отдельный продуктовый риск, требующий собственного исследования. Возможно, имеет смысл ограничить максимальную длину чанка для openvino-medium, или дать предупреждение пользователю.
|
||||||
- **GigaAM v3 RNN-T** (вариант `gigaam-v3-rnnt` вместо `gigaam-v3-ctc`) — заявлен как немного качественнее CTC, не тестировался. Может закрыть часть GigaAM-ошибок на латинице.
|
- **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 + пунктуация. Кандидат на «лучшее качество за разумную скорость» для тех, кому важна пунктуация.
|
- **Canary** (`nemo-canary-1b-v2`) — тяжелее, но multilingual + пунктуация. Кандидат на «лучшее качество за разумную скорость» для тех, кому важна пунктуация.
|
||||||
- **Auto-detect onnx**: после стабилизации в production-использовании (несколько недель) — рассмотреть включение в auto-detect как первый CPU-бэкенд (ниже CUDA, выше OpenVINO).
|
- **Auto-detect onnx**: после стабилизации в production-использовании (несколько недель) — рассмотреть включение в auto-detect как первый CPU-бэкенд (ниже CUDA, выше OpenVINO).
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,156 @@
|
|||||||
|
# Сравнение GigaAM v3, E2E и Whisper на русских встречах
|
||||||
|
|
||||||
|
**Дата:** 2026-08-11
|
||||||
|
|
||||||
|
**Статус:** завершённый benchmark на трёх записях
|
||||||
|
|
||||||
|
**Машина:** AMD Ryzen 7 8845H, Windows, CPU
|
||||||
|
**Квантизация ONNX:** int8
|
||||||
|
|
||||||
|
## Цель
|
||||||
|
|
||||||
|
Выбрать практический CPU-профиль на случай, когда OpenVINO недоступен или
|
||||||
|
нестабилен. Сравниваются скорость, близость к внешнему транскрипту, сохранность
|
||||||
|
смысла и терминов, пунктуация и пригодность результата для чтения.
|
||||||
|
|
||||||
|
Внешний транскрипт используется как неточный ориентир, а не ground truth: он
|
||||||
|
сам содержит ошибки, редактирует разговорную речь и добавляет диаризацию.
|
||||||
|
Поэтому WER — сравнительный сигнал внутри одного файла, а не абсолютная оценка.
|
||||||
|
|
||||||
|
## Набор данных
|
||||||
|
|
||||||
|
Три реальные записи общей длительностью 43:37:
|
||||||
|
|
||||||
|
| Запись | Длительность | Характер речи | Ориентир |
|
||||||
|
|---|---:|---|---|
|
||||||
|
| Уточнение задачи BDMA | 14:51 | 2 говорящих, русский с IT-терминами | внешний транскрипт |
|
||||||
|
| RSQM, внутренний дейлик | 14:04 | 5 говорящих, короткие реплики и задачи | внешний транскрипт с диаризацией |
|
||||||
|
| DataCat, обсуждение архитектуры | 14:42 | 3 говорящих, высокая плотность английских терминов | внешний транскрипт с диаризацией |
|
||||||
|
|
||||||
|
Сырые записи и внешние транскрипты не коммитятся в репозиторий.
|
||||||
|
|
||||||
|
## Запись 1: уточнение задачи BDMA
|
||||||
|
|
||||||
|
Файл `2026-07-29 T2 BDMA уточнение задачи от Ильи.mp4`, длительность 14:51,
|
||||||
|
преимущественно русская речь с IT- и продуктовыми терминами.
|
||||||
|
|
||||||
|
| Модель | Время | RTFx | WER к внешнему тексту | Пунктуация / 1000 слов |
|
||||||
|
|---|---:|---:|---:|---:|
|
||||||
|
| FasterWhisper medium CPU | 1133,9 с* | 0,79×* | **20,8%** | 313 |
|
||||||
|
| OpenVINO medium | 190,6 с | 4,67× | **23,9%** | 187 |
|
||||||
|
| GigaAM v3 | **72,6 с** | **12,27×** | 26,5% | 0 |
|
||||||
|
| GigaAM Multilingual CTC | 84,8 с | 10,51× | 27,9% | 0 |
|
||||||
|
| GigaAM v3 E2E RNN-T | 76,1 с | 11,71× | 29,0% | 326 |
|
||||||
|
| GigaAM v3 E2E CTC | **72,6 с** | **12,27×** | 31,8% | 338 |
|
||||||
|
|
||||||
|
\* FasterWhisper включает около 263 секунд первой загрузки модели. Оценка
|
||||||
|
самого распознавания — около 871 секунды, то есть 1,02× RTFx. Нужен отдельный
|
||||||
|
cached-прогон для точного замера.
|
||||||
|
|
||||||
|
Все модели дошли до конца записи без предупреждений о потере хвоста.
|
||||||
|
|
||||||
|
## Расширенный прогон
|
||||||
|
|
||||||
|
| Запись | Модель | Время | RTFx | WER |
|
||||||
|
|---|---|---:|---:|---:|
|
||||||
|
| RSQM | GigaAM v3 | 75,1 с | 11,25× | **23,1%** |
|
||||||
|
| RSQM | Multilingual CTC | 82,7 с | 10,21× | 24,4% |
|
||||||
|
| RSQM | E2E RNN-T | 72,8 с | 11,60× | 25,4% |
|
||||||
|
| RSQM | E2E CTC | **71,1 с** | **11,88×** | 28,0% |
|
||||||
|
| RSQM | FasterWhisper medium | 686,1 с | 1,23× | **19,7%** |
|
||||||
|
| DataCat | GigaAM v3 | **74,8 с** | **11,79×** | 27,5% |
|
||||||
|
| DataCat | Multilingual CTC | 94,2 с | 9,36× | 27,9% |
|
||||||
|
| DataCat | E2E RNN-T | 78,0 с | 11,31× | **26,4%** |
|
||||||
|
| DataCat | E2E CTC | 76,0 с | 11,60× | 28,3% |
|
||||||
|
| DataCat | FasterWhisper medium | 954,5 с | 0,92× | **21,9%** |
|
||||||
|
|
||||||
|
Все модели обработали записи до конца. Разрыв между длительностью файла и
|
||||||
|
последним сегментом составил 0,3–5,9 секунды, предупреждений о потере хвоста или
|
||||||
|
повторах не было.
|
||||||
|
|
||||||
|
### Сводка по трём записям
|
||||||
|
|
||||||
|
WER ниже посчитан как micro-average: сумма ошибок по трём файлам делится на
|
||||||
|
суммарное число слов во внешних транскриптах.
|
||||||
|
|
||||||
|
| Модель | Суммарное время | RTFx | WER | Пунктуация / 1000 слов |
|
||||||
|
|---|---:|---:|---:|---:|
|
||||||
|
| FasterWhisper medium CPU | 2511,6 с* | 1,04× | **20,9%** | 269 |
|
||||||
|
| GigaAM v3 | 222,5 с | 11,76× | **26,0%** | 0 |
|
||||||
|
| GigaAM v3 E2E RNN-T | 226,9 с | 11,54× | 26,9% | 290 |
|
||||||
|
| GigaAM Multilingual CTC | 261,7 с | 10,00× | 26,9% | 0 |
|
||||||
|
| GigaAM v3 E2E CTC | **219,7 с** | **11,91×** | 29,3% | 305 |
|
||||||
|
|
||||||
|
\* Для BDMA использована оценка 871 секунд чистого inference: первый запуск
|
||||||
|
FasterWhisper включал ещё около 263 секунд загрузки. RSQM и DataCat измерены на
|
||||||
|
прогретом кеше — 686,1 и 954,5 секунды соответственно.
|
||||||
|
|
||||||
|
RNN-T оказалась лишь на 2% медленнее обычного GigaAM по суммарному времени.
|
||||||
|
Multilingual медленнее обычного GigaAM на 18%, а выигрыш E2E CTC относительно
|
||||||
|
RNN-T составляет только 3% и не компенсирует ухудшение текста.
|
||||||
|
|
||||||
|
## Качественное чтение
|
||||||
|
|
||||||
|
Независимый reviewer сначала прочитал полные тексты без таблицы метрик, затем
|
||||||
|
сверил вывод с WER:
|
||||||
|
|
||||||
|
- FasterWhisper лучше сохраняет логику разговора и техническую лексику:
|
||||||
|
`Teradata`, `ClickHouse`, `ETL`, `legacy`, `MPP`, `SAP/BW/HANA`, `GUI`,
|
||||||
|
`Apex`. Значимых пропусков целых смысловых фрагментов не обнаружено.
|
||||||
|
- OpenVINO близок к FasterWhisper, но чаще склеивает слова и иногда локально
|
||||||
|
меняет смысл: около 00:59 «расчёт маржинальности называется» превращается в
|
||||||
|
«расчёт маржинальности не бывает».
|
||||||
|
- Обычный GigaAM v3 сохраняет почти весь смысл, числа и структуру обсуждения,
|
||||||
|
но фонетические ошибки и отсутствие пунктуации ухудшают чтение и поиск.
|
||||||
|
- E2E RNN-T читается лучше обычного GigaAM и устойчивее E2E CTC, но агрессивно
|
||||||
|
дробит живую речь. На DataCat она лучше обычного GigaAM по WER, однако на
|
||||||
|
BDMA и RSQM хуже на 2,3–2,5 процентного пункта.
|
||||||
|
- E2E CTC даёт больше обрывков, ложных границ и смешанных артефактов:
|
||||||
|
`иnженter`, `мetднные`, `оrкl`, `линейдgами`.
|
||||||
|
- Multilingual CTC не улучшила даже терминологически насыщенный DataCat и
|
||||||
|
оказалась на 15–26% медленнее обычного GigaAM на новых записях.
|
||||||
|
|
||||||
|
Длинных автономных галлюцинаций не найдено. Есть локальные потенциально
|
||||||
|
опасные искажения имён и терминов: `Иришка`, `Lutriness`, «расчёт
|
||||||
|
маржинальности не бывает», «расчёты по губам», «понюхаю дело».
|
||||||
|
|
||||||
|
На RSQM FasterWhisper сохраняет `edge-кейсы`, `Confluence` и `Backlog`; GigaAM
|
||||||
|
передаёт их фонетически и нестабильно (`еджкейсы`, `ичкейсы`). На DataCat
|
||||||
|
FasterWhisper лучше сохраняет `API`, `ETL`, `Open Platform`; обычный GigaAM
|
||||||
|
хорошо удерживает сам смысл архитектурного обсуждения и большинство названий
|
||||||
|
фонетически. RNN-T делает текст визуально аккуратнее, но название одного и того
|
||||||
|
же продукта может плавать между `Fine BI`, `Fine Bia`, `FNB`, а `API` — между
|
||||||
|
`API`, `AP`, `пи`.
|
||||||
|
|
||||||
|
## Рекомендация
|
||||||
|
|
||||||
|
- Для чтения человеком без дополнительного постпроцессинга —
|
||||||
|
`gigaam-v3-e2e-rnnt`: по трём записям всего на 2% медленнее обычного GigaAM,
|
||||||
|
но уже содержит пунктуацию и нормализацию. Это выбор цена/качество, а не
|
||||||
|
максимум дословной точности.
|
||||||
|
- Для последующей машинной обработки, поиска или собственной расстановки
|
||||||
|
пунктуации — `gigaam-v3`: лучший совокупный WER среди быстрых ONNX-вариантов
|
||||||
|
и более стабильный сырой текст.
|
||||||
|
- `gigaam-v3-e2e-ctc` и `gigaam-multilingual-ctc` на этой записи преимуществ
|
||||||
|
не показали.
|
||||||
|
- FasterWhisper medium остаётся выбором для важных записей с плотной
|
||||||
|
терминологией, если допустима обработка около realtime. По трём файлам она в
|
||||||
|
11 раз медленнее GigaAM ради снижения WER примерно на 5–6 процентных пунктов.
|
||||||
|
На CUDA соотношение необходимо измерять отдельно.
|
||||||
|
|
||||||
|
Три записи подтверждают RNN-T как практический профиль для готового текста, но
|
||||||
|
не дают оснований молча менять общий default: существующие пользователи могут
|
||||||
|
предпочитать более точный сырой `gigaam-v3`, а пунктуация RNN-T заметно дробит
|
||||||
|
живую речь. Лучше выразить выбор явными профилями CLI или конфигурации.
|
||||||
|
|
||||||
|
## Воспроизводимость
|
||||||
|
|
||||||
|
Для каждого ONNX-профиля использовалась команда вида:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
uv run transcribe <recording.mp4> --device onnx --model <model> --compute-type int8
|
||||||
|
```
|
||||||
|
|
||||||
|
Время измерялось на прогретом кеше модели. WER считался после удаления
|
||||||
|
метаданных и таймкодов, приведения к нижнему регистру, замены `ё` на `е` и
|
||||||
|
удаления пунктуации.
|
||||||
Reference in New Issue
Block a user