docs(openvino): добавлены результаты сравнения turbo
- Зачем: - нужна практическая оценка нового CPU-профиля на русских встречах. - Что: - зафиксированы скорость, WER, пунктуация, нагрузка и отзывчивость. - добавлены две независимые оценки качества и рекомендации пользователям. - Проверка: - uv run pytest. - реальные прогоны четырёх профилей на трёх записях.
This commit is contained in:
@@ -0,0 +1,188 @@
|
||||
# Сравнение 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` оставлены без изменений. Решение
|
||||
об их изменении требует отдельной продуктовой задачи.
|
||||
Reference in New Issue
Block a user