# ADR-005: NVIDIA Parakeet TDT — оценено, отклонено для дефолтного use case **Статус**: Отклонено (оставлено в экспериментальной ветке) **Дата**: 2026-04-19 ## Контекст ADR-003 и ADR-004 зафиксировали стратегию: CTranslate2 на CPU (качество) + OpenVINO (скорость на x86). Оба бэкенда — Whisper. Возникла гипотеза, что **NVIDIA Parakeet TDT 0.6B v3** может выйти за пределы этого trade-off: модель заявлена multilingual (25 языков включая русский), имеет ONNX-порт [istupakov/parakeet-tdt-0.6b-v3-onnx](https://huggingface.co/istupakov/parakeet-tdt-0.6b-v3-onnx), работает через `onnx-asr` + Silero VAD. Есть позитивные отзывы (напр. приложение Handy использует Parakeet для dictation в реальном времени). Основное применение проекта — транскрипция русскоязычных ИТ-встреч (ментор ↔ менти, ~15–60 мин, ноутбучный микрофон). Если Parakeet обойдёт Whisper medium int8 по скорости при сравнимом качестве, или по качеству при сравнимой скорости — это основание поменять дефолт. ## Эксперимент Реализован полный бэкенд в ветке `feature/parakeet-backend` (ONNX Runtime CPU EP, Silero VAD, cache-first model loading). Прогнан автоматический бенчмарк на двух 15-минутных отрывках реальных установочных встреч (`scripts/quality_bench.py` в ветке), CPU Intel i7-11800H. Качество оценивал агент-судья по шкале 1–5 по критериям completeness / term accuracy / fluency / summary utility — на пригодность транскрипта для построения конспекта без возврата к аудио. ### Скорость и ресурсы | Отрывок | Бэкенд | Wall | RTFx | Peak RSS | |---|---|---|---|---| | artur-intro (15 мин) | **parakeet-int8** | 129.5s | **6.92x** | 2.21 GB | | artur-intro (15 мин) | openvino-medium-int8 | 354.2s | 2.54x | 3.50 GB | | mar15-mid (15 мин) | **parakeet-int8** | 159.6s | **5.64x** | 2.65 GB | | mar15-mid (15 мин) | openvino-medium-int8 | 428.4s | 2.10x | 3.52 GB | **Parakeet в 2.7x быстрее и использует на ~35% меньше RAM.** ### Качество (Summary utility, 1–5) | Отрывок | Parakeet int8 | Whisper medium int8 | |---|---|---| | artur-intro | **2** | **4** | | mar15-mid | **3** | **4** | Систематические проблемы Parakeet на русской речи с низкой громкостью: 1. **Редукция коротких реплик менти до `Mm-hmm`/`Yeah`** — теряется значительная часть диалога (низкий уровень микрофона менти). 2. **Вставки кусков польского/испанского/немецкого** посреди русской речи (`Miejsce w sześć zajmie`, `Que salviosa`, `Genial positions`). 3. **Сильное искажение ИТ-терминов и бытовых выражений** — `Pretty subs` вместо «пройти собес», `Состем основ` вместо «система контроля версий», `І на глуп Джой` вместо `inner loop join`. Whisper medium int8 даёт связный русский текст с нормальной пунктуацией; искажения присутствуют (`капка` вместо Kafka, одна галлюцинация «Добро пожаловать в наш канал!» на паузе), но не критичны для конспекта. ### Попытка тюнинга — Silero VAD threshold Гипотеза: дефолтный `threshold=0.5` обрезает тихие реплики менти. Проверено на 0.5/0.3/0.2 — снижение порога **уменьшает** объём транскрипта (Parakeet хуже декодирует длинные склеенные сегменты с разреженной речью) и **не снижает** частоту `Mm-hmm`-редукций. Проблема inherent для модели на тихом русском диалоге, не артефакт VAD. ## Решение **Parakeet TDT 0.6B v3 не принимается как дефолтный или опциональный бэкенд для целевого use case.** Whisper medium int8 остаётся предпочтительным — несмотря на 2.7x проигрыш по скорости, он даёт транскрипт, из которого можно сделать конспект без возврата к аудио. Для русской речи с варьирующейся громкостью микрофона Parakeet v3 недостаточно устойчив. Код бэкенда **не мержится в master**. Экспериментальная ветка `feature/parakeet-backend` сохраняется как reference для будущих экспериментов. ## Последствия - Архитектура pluggable backends (ADR-003) подтвердила ценность: интегрировать и оценить новый бэкенд оказалось недорого. - Surface area master не растёт: нет `--device parakeet-cpu`, нет зависимости `onnx-asr`, нет новой ветки в CLI. - Если в будущем появится интерес — ветка `feature/parakeet-backend` содержит готовый бэкенд (13 задач, ~19 тестов), скрипты бенчмарка и VAD-тюнинга. ## Когда стоит пересмотреть решение 1. **Англоязычный контент** — Parakeet обучался преимущественно на английском, для native English встреч выигрыш в скорости может окупить качество. 2. **Live-captioning / dictation** (как в Handy) — другой use case, близкий микрофон + короткие фразы, проблемы редукции неактуальны. 3. **Русские specialized-модели через ту же обвязку** `onnx-asr`: `gigaam-v3-rnnt` (SberDevices), `nemo-fastconformer-ru-rnnt` (NVIDIA), `t-one-ctc` (T-Bank). Это отдельная ветка экспериментов, не Parakeet. 4. **Слабые машины с ограниченной RAM** — Parakeet 2.2 GB vs Whisper 3.5 GB на 15-мин аудио. Если важна RAM-экономия и английский контент.