# Бенчмарк: качество и скорость транскрипции **Дата**: 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 или аналоги).