Files
local-transcriber/docs/benchmarks/2026-08-11-gigaam-model-comparison.md
T
Dmitriy Dementiev f0d7d06f93 docs(benchmark): расширено сравнение моделей на русских встречах
- Зачем:
  - выбор CPU-модели должен опираться на несколько реальных записей, а не на единичный прогон.
- Что:
  - добавлены скорость, WER и качественное сравнение пяти моделей на трёх встречах.
  - обновлены рекомендации README и открытый вопрос ADR-006 для E2E RNN-T.
- Проверка:
  - git diff --cached --check.
2026-08-11 15:45:28 +03:00

157 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Сравнение 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 считался после удаления
метаданных и таймкодов, приведения к нижнему регистру, замены `ё` на `е` и
удаления пунктуации.