- Зачем: - нужна практическая оценка нового CPU-профиля на русских встречах. - Что: - зафиксированы скорость, WER, пунктуация, нагрузка и отзывчивость. - добавлены две независимые оценки качества и рекомендации пользователям. - Проверка: - uv run pytest. - реальные прогоны четырёх профилей на трёх записях.
189 lines
14 KiB
Markdown
189 lines
14 KiB
Markdown
# Сравнение OpenVINO large-v3-turbo с CPU-профилями
|
||
|
||
**Дата:** 2026-08-12
|
||
|
||
**Статус:** завершённое сравнение на трёх русскоязычных встречах
|
||
|
||
## Цель
|
||
|
||
Проверить обновление OpenVINO с линии 2026.0 до 2026.3 и определить, даёт ли
|
||
`large-v3-turbo` практическое преимущество перед `medium` и быстрым профилем
|
||
ONNX на CPU. Модель по умолчанию и порядок выбора `--device auto` в рамках
|
||
сравнения не менялись.
|
||
|
||
## Оборудование и условия
|
||
|
||
- ноутбук Lenovo 82JD;
|
||
- Intel Core i7-11800H, 8 ядер / 16 логических процессоров, 2,30 ГГц;
|
||
- 64 ГиБ DDR4-3200, два модуля Kingston по 32 ГиБ;
|
||
- Windows 11 Корпоративная, сборка 26200;
|
||
- схема питания «Сбалансированная»;
|
||
- OpenVINO 2026.3.0, OpenVINO GenAI и Tokenizers 2026.3.0.0;
|
||
- Python 3.13.13;
|
||
- язык во всех командах задан явно: `--language ru`;
|
||
- модели запускались последовательно, без конкурирующих прогонов.
|
||
|
||
Кэш каждой модели предварительно прогревался. Время измерялось от запуска
|
||
команды до её завершения и включает чтение и декодирование локального файла,
|
||
но не скачивание модели. Загрузка процессора и свободная память опрашивались
|
||
раз в две секунды. Минимум свободной памяти характеризует всю систему, а не
|
||
только процесс распознавания.
|
||
|
||
Во время прогонов система оставалась пригодной для обычной интерактивной
|
||
работы. На OpenVINO средняя загрузка составляла 54–62%. ONNX на двух записях
|
||
кратковременно занимал процессор полностью, но наблюдаемого зависания системы
|
||
не было. Это субъективное наблюдение, а не числовой порог приёмки.
|
||
|
||
## Контрольный набор
|
||
|
||
Использованы те же три записи общей длительностью 43:37 и те же внешние
|
||
транскрипты, что в [сравнении GigaAM и Whisper](2026-08-11-gigaam-model-comparison.md).
|
||
Размеры и SHA-256 всех шести локальных файлов совпали с опубликованным там
|
||
манифестом.
|
||
|
||
Внешние транскрипты сами содержат ошибки, редактируют разговорную речь и
|
||
добавляют разделение по говорящим. Поэтому WER служит сравнительным сигналом
|
||
внутри одной записи, а не абсолютной оценкой качества.
|
||
|
||
## Методика
|
||
|
||
Команды OpenVINO имели следующий вид:
|
||
|
||
```powershell
|
||
uv run transcribe <recording.mp4> `
|
||
--device openvino-cpu `
|
||
--model <medium|large-v3-turbo> `
|
||
--compute-type <int8|fp16> `
|
||
--language ru `
|
||
--force
|
||
```
|
||
|
||
Для ONNX использовались `--device onnx`, `--model gigaam-v3-e2e-rnnt` и
|
||
`--compute-type int8`. WER считался после удаления метаданных, таймкодов и
|
||
обозначений говорящих, приведения к нижнему регистру, замены `ё` на `е` и
|
||
удаления пунктуации. Итоговый WER — микроусреднение: сумма замен, удалений и
|
||
вставок делится на общее число слов во внешних текстах. Плотность пунктуации —
|
||
число знаков `.,!?…:;` на 1000 распознанных слов.
|
||
|
||
## Проверка обновления OpenVINO
|
||
|
||
До изменения зависимостей OpenVINO 2026.0 `medium` INT8 был повторно запущен
|
||
на всём наборе с прогретым кэшем. После обновления тот же профиль успешно
|
||
прошёл автоматические проверки и реальный прогон.
|
||
|
||
| Стек и профиль | Суммарное время | RTFx | WER | Пунктуация / 1000 слов | Предупреждения |
|
||
|---|---:|---:|---:|---:|---:|
|
||
| OpenVINO 2026.0 medium INT8 | 417,0 с | 6,28× | 28,9% | 191 | 1 |
|
||
| OpenVINO 2026.3 medium INT8 | 436,7 с | 5,99× | 25,3% | 185 | 0 |
|
||
|
||
На линии 2026.0 RSQM содержал 11 одинаковых последовательных сегментов и
|
||
получил предупреждение о возможной галлюцинации. После обновления повтор не
|
||
воспроизвёлся, а WER этой записи снизился с 34,2% до 23,3%. Суммарное время
|
||
выросло на 4,7%; из-за естественного разброса единичных запусков это не следует
|
||
считать устойчивой регрессией без серии повторов.
|
||
|
||
## Результаты после обновления
|
||
|
||
### Сводка по трём записям
|
||
|
||
| Профиль | Время | RTFx | WER | Пунктуация / 1000 слов | Средний / пиковый CPU | Минимум свободной памяти |
|
||
|---|---:|---:|---:|---:|---:|---:|
|
||
| OpenVINO medium INT8 | 436,7 с | 5,99× | 25,3% | 185 | 54,3% / 85% | 36,25 ГиБ |
|
||
| **OpenVINO large-v3-turbo INT8** | **365,5 с** | **7,16×** | **24,0%** | 96 | 62,0% / 86% | 35,04 ГиБ |
|
||
| OpenVINO large-v3-turbo FP16 | 545,0 с | 4,80× | 24,8% | 103 | 57,1% / 87% | 32,96 ГиБ |
|
||
| ONNX GigaAM v3 E2E RNN-T INT8 | **265,7 с** | **9,85×** | 29,1% | **290** | 70,7% / 100% | 35,52 ГиБ |
|
||
|
||
### По отдельным записям
|
||
|
||
| Запись | Профиль | Время | RTFx | WER | Пунктуация / 1000 слов |
|
||
|---|---|---:|---:|---:|---:|
|
||
| BDMA | medium INT8 | 137,0 с | 6,50× | **23,0%** | 194 |
|
||
| BDMA | turbo INT8 | **118,7 с** | **7,51×** | 24,4% | 79 |
|
||
| BDMA | turbo FP16 | 180,0 с | 4,95× | 26,2% | 60 |
|
||
| BDMA | GigaAM RNN-T INT8 | **87,6 с** | **10,17×** | 29,0% | **326** |
|
||
| RSQM | medium INT8 | 125,7 с | 6,72× | 23,3% | 171 |
|
||
| RSQM | turbo INT8 | 116,9 с | 7,23× | **22,4%** | 4 |
|
||
| RSQM | turbo FP16 | 170,2 с | 4,96× | 23,3% | 31 |
|
||
| RSQM | GigaAM RNN-T INT8 | **92,9 с** | **9,09×** | 27,4% | **286** |
|
||
| DataCat | medium INT8 | 174,0 с | 5,07× | 28,1% | 188 |
|
||
| DataCat | turbo INT8 | **129,9 с** | **6,79×** | **24,7%** | 169 |
|
||
| DataCat | turbo FP16 | 194,7 с | 4,53× | **24,7%** | 181 |
|
||
| DataCat | GigaAM RNN-T INT8 | **85,2 с** | **10,36×** | 30,4% | **265** |
|
||
|
||
## Качественная оценка
|
||
|
||
Два независимых субагента читали полные транскрипты без таблицы численных
|
||
метрик. Один оценивал читаемость и пригодность для конспекта и протокола,
|
||
второй — сохранность содержания и терминов, пропуски, повторы и галлюцинации.
|
||
|
||
### Читаемость и пригодность результата
|
||
|
||
| Профиль | Читаемость | Для конспекта | Для протокола |
|
||
|---|---:|---:|---:|
|
||
| ONNX GigaAM RNN-T INT8 | **4/5** | **4/5** | **3/5** |
|
||
| OpenVINO medium INT8 | 3/5 | 3/5 | **3/5** |
|
||
| OpenVINO turbo INT8 | 2/5 | 3/5 | 2/5 |
|
||
| OpenVINO turbo FP16 | 2/5 | 3/5 | 2/5 |
|
||
|
||
Проверяющий поставил GigaAM на первое место благодаря пунктуации, отделению
|
||
реплик и естественному ритму. Из текста без труда извлекаются решения: собрать
|
||
вопросы для архитектуры и сайзинга, не связываться с «дата-рентгеном» в пилоте,
|
||
уточнить способ доступа к FineBI. При этом протокол требует сверки терминов:
|
||
`XML` превращается в «Максмельная», `Spark` — в «парк», `MPP` — в «MP-шный».
|
||
|
||
Medium в основном сохраняет ход мысли, но нестабилен в названиях: «бутылочка в
|
||
FineBI» вместо учётной записи, `NiFi` как `I5`, `edge cases` как `HKEYS`.
|
||
Оба turbo-профиля иногда лучше узнают отдельные имена и термины, включая
|
||
«Рома Иваницкий», `Open Lineage` и `DBC tables V`, однако длинные блоки почти
|
||
без пунктуации приходится разбирать вручную. Практического преимущества FP16
|
||
над INT8 по читаемости не найдено.
|
||
|
||
### Сохранность содержания
|
||
|
||
| Профиль | Смысл | Термины | Пропуски | Повторы и выдумки |
|
||
|---|---:|---:|---:|---:|
|
||
| ONNX GigaAM RNN-T INT8 | **5/5** | **4/5** | **4/5** | **4/5** |
|
||
| OpenVINO medium INT8 | 4/5 | 3/5 | **4/5** | **4/5** |
|
||
| OpenVINO turbo FP16 | 4/5 | 3/5 | 3/5 | **4/5** |
|
||
| OpenVINO turbo INT8 | 3/5 | 3/5 | 3/5 | **4/5** |
|
||
|
||
Второй проверяющий также поставил GigaAM первым: он лучше удерживает ход
|
||
рассуждения, отрицания и поручения. Среди OpenVINO medium оказался надёжнее
|
||
обоих turbo-профилей по сохранности содержания, несмотря на худший WER.
|
||
|
||
Наиболее опасные искажения:
|
||
|
||
- turbo FP16 в DataCat пропустил оговорку о том, что API-контракт извлечён из
|
||
JAR-файлов, а не документации; предположение выглядит установленным фактом;
|
||
- turbo INT8 почти потерял обсуждение доступа к DBC, риска перегрузить FineBI
|
||
через API и необходимости ограничить частоту запросов;
|
||
- medium превратил поручение посчитать объём и квоту Teradata в плохо читаемое
|
||
«нам требование это продать… конкретный объём в продате квоту»;
|
||
- GigaAM один раз заменил «МТС хочет продать дата-рентген» на «ты хочешь
|
||
продать дата-рентген», хотя соседняя фраза восстанавливает инициатора;
|
||
- ключ поиска `IMSI плюс время` не сохранился точно ни в одном профиле;
|
||
- у medium после фактического окончания RSQM появился одиночный сегмент «В».
|
||
|
||
Длинных повторяющихся или полностью выдуманных фрагментов после обновления
|
||
проверяющие не нашли. Общий недостаток всех профилей — отсутствие надёжного
|
||
разделения по участникам, что ограничивает пригодность для формального протокола.
|
||
|
||
## Вывод
|
||
|
||
- `large-v3-turbo` реально работает с OpenVINO 2026.3 в вариантах INT8 и FP16.
|
||
- Turbo INT8 оказался на 16% быстрее medium INT8 и снизил суммарный WER с
|
||
25,3% до 24,0%. Это лучший OpenVINO-профиль по численным показателям на
|
||
данном CPU, но не по независимой оценке сохранности содержания и читаемости.
|
||
- Turbo FP16 на этом CPU на 49% медленнее turbo INT8 и не дал выигрыша по WER.
|
||
Его стоит оставлять доступным для явного выбора и других устройств, но не
|
||
рекомендовать как основной CPU-профиль.
|
||
- GigaAM RNN-T остаётся самым быстрым и лучше всех расставляет пунктуацию. Он
|
||
уступает turbo по WER и сильнее загружает CPU, но оба независимых проверяющих
|
||
признали его лучшим для чтения и сохранения делового содержания.
|
||
- У turbo INT8 пунктуация нестабильна: на RSQM её почти нет. Для готового
|
||
протокола может потребоваться последующая расстановка пунктуации.
|
||
- Автоматических предупреждений о повторах или потере хвоста после обновления
|
||
не было; ручная проверка нашла у medium одиночный ложный сегмент в конце RSQM.
|
||
- Модель по умолчанию и порядок `--device auto` оставлены без изменений. Решение
|
||
об их изменении требует отдельной продуктовой задачи.
|