Детальное сравнение medium/large-v3 × OpenVINO/CTranslate2/Whisper.ai на записи совещания 14:41, русский язык, AMD Ryzen 7 8845H. Рабочий документ для разработки AMD-ускорения. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
7.4 KiB
Бенчмарк: качество и скорость транскрипции
Дата: 2026-03-23
Цель
Сравнить качество распознавания нашего приложения (local-transcriber) с облачным сервисом Whisper.ai, подобрать оптимальную конфигурацию бэкенд/модель/compute_type.
Тестовый стенд
- CPU: AMD Ryzen 7 8845H w/ Radeon 780M (3.80 GHz), 8 ядер
- GPU: нет NVIDIA (нет CUDA), есть встроенный Radeon 780M iGPU + Ryzen AI NPU (XDNA)
- ОС: Windows 11 Enterprise
- Запись: совещание 3 участников, 14:41, русский язык, микрофон ноутбука
Конфигурации
| # | Модель | Бэкенд | compute_type | Устройство |
|---|---|---|---|---|
| 1 | medium | OpenVINO | fp16 | CPU |
| 2 | large-v3 | OpenVINO | fp16 | CPU |
| 3 | medium | CTranslate2 (faster-whisper) | float32 | CPU |
| 4 | medium | CTranslate2 (faster-whisper) | int8_float32 | CPU |
| 5 | — | Whisper.ai (облако) | — | — |
Результаты: скорость
| # | Конфигурация | Время, с | Коэфф. к реалтайму (14:41 = 881с) |
|---|---|---|---|
| 1 | medium, OpenVINO fp16 | ~240 | 0.27x |
| 2 | large-v3, OpenVINO fp16 | ~503 | 0.57x |
| 4 | medium, CT2 int8_float32 | ~599 | 0.68x |
| 3 | medium, CT2 float32 | ~881 | 1.0x |
Результаты: качество
Для оценки выбраны маркерные фразы — технические термины, сложная разговорная речь, имена собственные. Каждый маркер проверен вручную по контексту записи.
Техтермины (английские в русской речи)
| Термин | #1 OV fp16 | #2 large OV | #3 CT2 f32 | #4 CT2 int8f32 | #5 Whisper.ai |
|---|---|---|---|---|---|
| DWH | ✅ DWH | ❌ ДВХ | ⚠️ ДВХ | ✅ DWH | ⚠️ dvh |
| Teradata | ✅ TeraData | ⚠️ тирадат | ⚠️ Тирадату | ✅ Teradata | ⚠️ тирадата |
| NiFi | ✅ NiFi | ❌ "на файл" | ⚠️ Найфай | ✅ NiFi | ⚠️ фай |
| FineBI | ✅ fineBI | ❌ "фанбой" | ✅ FNBI | ✅ finebi/FNBI | ⚠️ FineBI/NBI |
| Alation | ❌ "лэйшене" | ❌ "валаши" | ✅ Allation | ✅ Allation | ✅ Allation |
| ETL | ❌ ETA | ❌ "и ты или" | ✅ ETL | ✅ ETL | ✅ ETL |
| DBC Tables V | ✅ | ❌ "деби си" | ✅ | ✅ | ✅ |
| OpenLineage | ⚠️ OpenLinage | ⚠️ "open lineage и о" | ✅ OpenLinage.io | ✅ OpenLinage.io | ✅ Open Lineage.io |
Русская разговорная речь
| Фраза (правильно) | #1 OV fp16 | #2 large OV | #3 CT2 f32 | #4 CT2 int8f32 | #5 Whisper.ai |
|---|---|---|---|---|---|
| "на другую мониторочку" | ❌ "другом не торчка" | ❌ "другому и" | ✅ "мониторчику" | ⚠️ "мою точку" | ✅ "мониторочку" |
| "верхнеуровневое" | ⚠️ "верхверх верхне..." | ✅ | ✅ | ✅ | ✅ |
| "датарентген" | ❌ "госпиталин ген" | ❌ "господа тренды" | ✅ "даторентген" | ✅ "даторентген" | ✅ "датарентген" |
| "девовские схемы" | ✅ | ❌ "девушки схемы" | ✅ | ✅ | ✅ |
| "с накиданными правами" | ✅ | ❌ "накиданных бровами" | ✅ | ✅ | ✅ |
| "Вьюхи" | ❌ "в юхе" | — | ✅ "Вьюхи" | ⚠️ "Yuhi" | ❌ "в юхе" |
Структура и пунктуация
| Аспект | #1 OV fp16 | #2 large OV | #3 CT2 f32 | #4 CT2 int8f32 | #5 Whisper.ai |
|---|---|---|---|---|---|
| Пунктуация | слабая | слабая | хорошая | хорошая | средняя |
| Длина сегментов | ~1 мин | ~1 мин | ~1 мин | ~1 мин | 2–30 сек |
| Диаризация | нет | нет | нет | нет | есть (условная) |
Ключевые выводы
1. OpenVINO fp16 ухудшает качество medium
OpenVINO даёт 3.7x ускорение, но fp16-квантизация на CPU вносит заметные ошибки в распознавание нечёткой русской речи ("госпиталин ген", "ETA"). При этом английские техтермины (DWH, NiFi, FineBI) распознаются хорошо — видимо, они более «чёткие» акустически.
2. large-v3 через OpenVINO — хуже medium
Удивительный результат: large-v3 с OpenVINO fp16 деградировал по всем параметрам. FineBI → "фанбой", NiFi → "на файл", девовские → "девушки". Гипотеза: fp16 на CPU бьёт сильнее по большим моделям из-за накопления ошибок округления.
3. CTranslate2 float32 — лучшее качество
Сравнимо с облачным Whisper.ai, а на некоторых маркерах лучше (Вьюхи, DWH). Но 3.7x медленнее OpenVINO — неприемлемо для длинных записей.
4. int8_float32 — оптимальный баланс
Mixed precision (int8 матрицы, float32 аккумулятор) даёт:
- 1.5x ускорение vs float32 (599с vs 881с)
- Качество практически идентичное float32
- Техтермины DWH/Teradata/NiFi даже лучше, чем у float32
5. Whisper.ai — диаризация как преимущество
Единственное значимое преимущество облачного сервиса — диаризация спикеров. По качеству распознавания наше приложение с CT2 int8_float32 на уровне или лучше.
Рекомендации
Краткосрочно
- Дефолт для CPU без CUDA: рассмотреть
int8_float32вместоfloat32— 1.5x быстрее при сопоставимом качестве. - OpenVINO fp16 оставить как быстрый вариант — для случаев, когда скорость важнее точности (превью, черновые транскрипты).
Среднесрочно
- DirectML бэкенд для AMD Radeon iGPU — через onnxruntime-directml можно задействовать Radeon 780M. Float16 на GPU (в отличие от CPU-квантизации) не должен терять качество. Потенциально 3–5x ускорение при сохранении качества float32.
Долгосрочно
- Ryzen AI NPU (XDNA) — AMD развивает поддержку, но tooling пока сырой.
- Диаризация — добавить идентификацию спикеров (pyannote-audio или аналоги).