Обновление OpenVINO до 2026.3, large-v3-turbo и ONNX по умолчанию #6

Merged
ddmitry merged 9 commits from feature/4-openvino-2026-3 into master 2026-08-12 12:43:46 +03:00
Owner

Ветка закрывает задачу #4: обновление OpenVINO, поддержка large-v3-turbo и сравнение CPU-профилей. Дополнительно, отдельным решением по итогам сравнения, изменён профиль по умолчанию.

Что сделано

  • OpenVINO, OpenVINO GenAI и Tokenizers согласованно обновлены до линии 2026.3 с верхней границей <2026.4.
  • Добавлена модель large-v3-turbo в вариантах INT8 и FP16; недоступная пара модель + квантизация завершается понятной ошибкой.
  • Проведено сравнение четырёх CPU-профилей на трёх русскоязычных записях, на Intel Core i7-11800H и AMD Ryzen 7 8845H, с двумя слепыми оценками качества. Отчёт: docs/benchmarks/2026-08-12-openvino-large-v3-turbo-comparison.md.
  • --device auto без NVIDIA выбирает ONNX GigaAM v3 E2E RNN-T вместо OpenVINO. Решение принято владельцем отдельно, после анализа результатов.
  • Учтены ограничения нового профиля: языки моделей описаны в каталоге, несовместимый язык вызывает предупреждение до начала распознавания, подсказки называют бэкенд, доступный на текущей платформе.
  • Источник языка в шапке транскрипта переведён на русский; при неизвестном языке служебное значение больше не печатается.
  • Обновлены README, PRD, ADR-003, ADR-006, docs/gpu.md и бэклог.

Ломающие изменения

  • --device auto на машинах без NVIDIA теперь выбирает ONNX. Прежний профиль возвращается явным --device или конфигурацией.
  • В шапке транскрипта detected и forced заменены на «определён автоматически» и «задан явно»; при неизвестном языке строка выглядит как - **Язык**: не определён.

Проверки

  • uv run pytest -q: 243 passed, 1 skipped.
  • uv lock --check, uv sync --locked.
  • ruff check .: 48 замечаний, все унаследованные от master, где их 50.
  • Реальные прогоны: четыре профиля на трёх записях на двух ноутбуках; после последних правок — контрольный запуск на минутном фрагменте, где проверены выбор ONNX в auto, строка языка в шапке и видимость предупреждения о несовместимом языке.

Closes #4

Ветка закрывает задачу #4: обновление OpenVINO, поддержка large-v3-turbo и сравнение CPU-профилей. Дополнительно, отдельным решением по итогам сравнения, изменён профиль по умолчанию. ## Что сделано - OpenVINO, OpenVINO GenAI и Tokenizers согласованно обновлены до линии 2026.3 с верхней границей `<2026.4`. - Добавлена модель `large-v3-turbo` в вариантах INT8 и FP16; недоступная пара модель + квантизация завершается понятной ошибкой. - Проведено сравнение четырёх CPU-профилей на трёх русскоязычных записях, на Intel Core i7-11800H и AMD Ryzen 7 8845H, с двумя слепыми оценками качества. Отчёт: `docs/benchmarks/2026-08-12-openvino-large-v3-turbo-comparison.md`. - `--device auto` без NVIDIA выбирает ONNX GigaAM v3 E2E RNN-T вместо OpenVINO. Решение принято владельцем отдельно, после анализа результатов. - Учтены ограничения нового профиля: языки моделей описаны в каталоге, несовместимый язык вызывает предупреждение до начала распознавания, подсказки называют бэкенд, доступный на текущей платформе. - Источник языка в шапке транскрипта переведён на русский; при неизвестном языке служебное значение больше не печатается. - Обновлены README, PRD, ADR-003, ADR-006, `docs/gpu.md` и бэклог. ## Ломающие изменения - `--device auto` на машинах без NVIDIA теперь выбирает ONNX. Прежний профиль возвращается явным `--device` или конфигурацией. - В шапке транскрипта `detected` и `forced` заменены на «определён автоматически» и «задан явно»; при неизвестном языке строка выглядит как `- **Язык**: не определён`. ## Проверки - `uv run pytest -q`: 243 passed, 1 skipped. - `uv lock --check`, `uv sync --locked`. - `ruff check .`: 48 замечаний, все унаследованные от master, где их 50. - Реальные прогоны: четыре профиля на трёх записях на двух ноутбуках; после последних правок — контрольный запуск на минутном фрагменте, где проверены выбор ONNX в `auto`, строка языка в шапке и видимость предупреждения о несовместимом языке. Closes #4
ddmitry added 9 commits 2026-08-12 12:26:45 +03:00
- Зачем:
  - нужна поддерживаемая линия OpenVINO для новых моделей Whisper.
- Что:
  - OpenVINO, GenAI и Tokenizers согласованно обновлены до 2026.3.
  - автоматический переход на следующую линию ограничен версией 2026.4.
- Проверка:
  - uv run pytest.
  - реальный прогон medium INT8 на трёх русскоязычных записях.
- Зачем:
  - нужен быстрый качественный профиль Whisper для локального распознавания.
- Что:
  - добавлены официальные варианты large-v3-turbo INT8 и FP16.
  - покрыты каталог, выбор квантизации, ошибка и создание модели.
- Проверка:
  - uv run pytest.
- Зачем:
  - нужна практическая оценка нового CPU-профиля на русских встречах.
- Что:
  - зафиксированы скорость, WER, пунктуация, нагрузка и отзывчивость.
  - добавлены две независимые оценки качества и рекомендации пользователям.
- Проверка:
  - uv run pytest.
  - реальные прогоны четырёх профилей на трёх записях.
- Зачем:
  - требуется подтвердить сравнение OpenVINO и ONNX на втором CPU и повторно проверить дубли medium.
- Что:
  - добавлены метрики четырёх профилей на Ryzen 7 8845H.
  - зафиксированы четыре одинаковых прогона RSQM без повторов и результаты двух слепых ревью.
  - описаны аргументы для будущего выбора backend по умолчанию.
- Проверка:
  - git diff --cached --check.
- Зачем:
  - пользователям без NVIDIA нужен самый быстрый и читаемый CPU-профиль без дополнительных параметров.
- Что:
  - auto-политика изменена на CUDA при наличии nvidia-smi, иначе ONNX GigaAM RNN-T int8.
  - сохранён приоритет явных значений CLI и конфигурации для OpenVINO и FasterWhisper CPU.
  - обновлены тесты, README, PRD, ADR, GPU-документация и вывод benchmark.
- Проверка:
  - uv run pytest -q: 232 passed, 1 skipped.
  - uv lock --check и git diff --cached --check.
- Зачем:
  - после смены auto-профиля пользователю нужны явные предупреждения о языковых ограничениях и рабочие пути выбора Whisper-бэкенда.

- Что:
  - в MODEL_CATALOG добавлены поддерживаемые языки ONNX-моделей и предупреждение о несовместимом языке.
  - для Whisper-имён добавлены подсказки с совместимыми парами backend/model.
  - вывод языка различает детекцию, язык моноязычной модели и отсутствие детекции.
  - усилены тесты implicit compute type и turbo-каталога, удалены дубли auto-тестов.

- Проверка:
  - uv run pytest -q: 241 passed, 1 skipped.
  - uv lock --check, compileall и git diff --check.

BREAKING CHANGE: --device auto без NVIDIA теперь выбирает ONNX GigaAM RNN-T; прежний профиль возвращается явным --device или конфигурацией.
- Зачем:
  - в одной строке шапки смешивались английские и русские значения, а при неизвестном языке в неё попадало служебное «unknown (не определён)».
- Что:
  - формулировки источника языка вынесены константами в formatter и переведены на русский.
  - оба бэкенда используют общий признак UNKNOWN_LANGUAGE вместо «auto» и «unknown».
  - неизвестный язык печатается одной строкой, без служебного значения.
- Проверка:
  - uv run pytest -q: 242 passed, 1 skipped.
  - ruff check .: 48 замечаний, столько же, сколько до правки.

BREAKING CHANGE: в шапке транскрипта значения detected и forced заменены на «определён автоматически» и «задан явно»; при неизвестном языке строка выглядит как «- **Язык**: не определён».
- Зачем:
  - документация обещала large-v3-turbo на NVIDIA, где он недоступен, и умалчивала, что модель по умолчанию без CUDA понимает только русскую речь.
- Что:
  - large-v3-turbo перенесён из таблицы faster-whisper в раздел OpenVINO с измеренными размерами моделей.
  - языковое ограничение авто-профиля и предупреждение CLI описаны в README, gpu.md и ADR-006.
  - в backlog добавлен пункт про turbo для faster-whisper, в gpu.md снято расхождение по скорости openvino-cpu.
- Проверка:
  - вычитка diff, проверка якорной ссылки на docs/gpu.md.
- Зачем:
  - подсказки в ошибке и предупреждении называли только OpenVINO и CUDA, которых нет на macOS и ARM, поэтому пользователю там предлагались заведомо нерабочие команды.
- Что:
  - в оба сообщения добавлен вариант --device cpu, работающий на любой платформе.
  - для large-v3-turbo подсказки по cpu и cuda подставляют medium, так как faster-whisper turbo не поддерживает.
- Проверка:
  - uv run pytest -q: 243 passed, 1 skipped.
ddmitry merged commit 668faf57e2 into master 2026-08-12 12:43:46 +03:00
ddmitry deleted branch feature/4-openvino-2026-3 2026-08-12 12:43:47 +03:00
Sign in to join this conversation.