Голосовые системы

Исправление ASR Compare — 09.11.2026

Front: MR !73, commit 15143456, main 2d8fa113. Пять checks успешны; pipeline 5875, build 30969, preflight 30972, refresh 30998 успешны. Подтверждён image digest 676a2703298f28f2c7a740469c5d57e4196a7dc3060c38381d867af5528421e8.

Production browser: синтетический источник из двух опубликованных записей, физический микрофон не использовался. 30-секундная запись с двумя фразами и тишиной достигла штатного лимита. Подготовка после записи 0.862 с, от нажатия до последнего текста 1.442 с, завершение 2.122 с. Объединённый результат: «Включи слой WMS. Открой трек в GPX.». Две исходные фразы и границы доступны в раскрытии; проверены светлая и тёмная темы. Это короткий замер, не p95 и не повтор исходной пользовательской записи (после перезагрузки она отсутствует).

Декодирование Whisper

96 адресных декодирований: 32 CPU/int8, 32 GPU/FP16 на исходном PCM, 32 GPU/FP16 на двух точных входах после Opus и намеренном повторе. CPU служил предварительной проверкой; его времена не являются production latency.

Для воспроизведения использован неизменный профиль maps (23 термина, 104 токена). Хеши float32 входа после штатного Opus→PCM48k→PCM16k совпали с прошлым отчётом: - 01-5: 76ae462c23eaa556fe8bc1027effc7943482be65d657f42d132f501959abeaa4 - 01-0: 83d456454183922df828b8e77d3565ed78c2448636f166bf9035bbfa754a268e

Russian 01-5: greedy 1739.8 мс, compression 13.57, цикл «Киевская область»; beam=5 241.4 мс, compression 0.69, «для числой WMS.». Turbo 01-0: greedy 380.9 мс, compression 21.46, цикл «Киев»; beam=5 157.1 мс, compression 0.67, «Which is Roy WMS».

Устранение цикла не равно правильному распознаванию сильного шума. repetition_penalty=1.1 и no_repeat_ngram_size=16 не выбраны: они сохраняли ошибочный текст/вариации циклов. Beam=5 сохраняет два намеренных повтора в Turbo; Russian сворачивает этот повтор и до, и после изменения. На чистом WMS Russian beam=5 иногда пишет «W, M, S»: это ограничение подсказки, не гарантированный рост WER.

Исправление ASR: MR !15, cfa4d6e9. Только вызовы с hotwords получают beam_size=5; режим без подсказок остаётся beam_size=1. 12 адресных unit tests успешны. Поставка и runtime-проверка приведены ниже.

Файлы: decoder-evidence.json — все измерения, production-ui-check.json — фактический JSON Compare.

CI ASR 5876: первая build job 31000 прошла сканирование всех образов, но итоговая проверка TrivyRunner.verify_images не нашла теги, которые существовали перед сканированием. Публикация не началась. Один адресный повтор той же build job — 31002; общий deploy не запускался.

Повтор 31002 успешно завершился: тесты, все Trivy-сканы, финальная проверка тегов и публикация. MR !15 merged; main 92ca4e63a2c7df77b12f08d79fbf8355c80bb3fc. Автоматический общий deploy не запускался. Отдельный main pipeline 5878 (build 31003, scoped LinTO preflight 31004), CI_BUILD_TARGET=deploy, публикует кандидатов в latest-deploy без активации listener.

Поставка 10.11.2026

Main ASR pipeline 5878: build 31003 и preflight 31004 успешны. Опубликованы и сверены в Registry Explorer кандидаты с revision 92ca4e63a2c7df77b12f08d79fbf8355c80bb3fc: - worker: sha256:9023c73e2d905d654a16db761d4f588a266d7183999e02b2281b6c8d7a153642; - LinTO: sha256:cf9fc60fb2a21f1f7b9265d6321ecbdebdaa33f1b9cbd5601bce8a0e0f175cd2.

Штатная загрузка через GitLab image-preload: 5879/31006 worker, 5880/31008 LinTO — success, точные digest и revision подтверждены на H100. Drain 30983 — success. Адресная ASR-композиция rag-stack 5881/31009 — success; общий pipeline стеков и prune не выполнялись.

09.11 22:09 UTC: worker 3.3.411, контейнер 1cb9bfe2c3746, 1/1 running, новый digest подтверждён Insight. /healthz: ready=true, active_phrases=0, native_active=0, все семь backend доступны, Nemotron resident. LinTO refresh 5882/31011 успешно завершён: точные revision и digest, health, установленные зависимости, сохранность соседних сервисов подтверждены штатным helper; Insight показывает 3.3.411 и 1/1 running.

Объём изменений: Front 5 файлов +126/−65 (включая тесты); ASR 4 файла +9/−1. Изменения CI, весов, модели по умолчанию и установленного расширения отсутствуют.

Resume 30984 успешен; Gateway и Audio Ingress: draining=false, asr_ready=true. После поставки выполнены 6 реальных прогонов Compare: Turbo, Russian и LinTO × без/с hotwords. Для каждого — те же два диапазона и ровно 2 вызова модели; Opus-кодирование переиспользовано. UI подтвердил совпадение входов A/B по хешам; параметры всех 6 JSON подтверждают beam=1 без hotwords и beam=5 с hotwords. Все прогоны завершены, циклических повторов нет. Объединённый текст двух фраз показан отдельным абзацем; исходные фразы доступны в раскрытии. Подготовка записи выполнена один раз (862 мс), запуск каждого прогона 572–613 мс. Это малый контрольный набор, не гарантия качества на всех шумах и не замер p95.

Модель Режим Чистое распознавание двух фраз, мс От нажатия до текста, мс До освобождения ресурсов, мс
turbo off 297.9 1332.9 1993.8
turbo hotwords 372.5 1397.4 1970
russian off 456.9 1484.5 1999
russian hotwords 512.6 1496 1961.1
linto off 319.2 1548 1961.6
linto hotwords 347.9 1567.9 1979.1

JSON: production-turbo-pair.json, production-russian-pair.json, production-linto-pair.json. Сводка: production-pairs-summary.json. Снимок: compare-fixed-production.png.

Исходник

Скачать Markdown · К материалам исследования