Skip to content
Neuronavt
Go back

Nemotron ускорил диаризацию звонков в сто раз

Кейс8/10

Коротко

Автор заменил sherpa-onnx на Nemotron 3 Diarization для разметки собеседников в записях звонков. На его тестах новая модель заметно снизила ошибку и сократила обработку 34,8 часа аудио до 3,5 минуты, но потребовала пересмотреть фильтр эха и усилить проверки.

Контекст

Автор разрабатывает приложение Charoi­te_audio для записи и разбора встреч. Ранее диаризацию выполняла связка sherpa-onnx и собственного второго прохода: размечать канал собеседников в двадцатиминутном звонке занимало около семи минут. 23 сентября NVIDIA выпустила Nemotron 3 Diarization, и автор проверил её в своём рабочем процессе.

Главное

Как сделано

Автор сравнил модели сначала на синтетических фикстурах, затем на двух встречах AMI с эталоном pyannote и, наконец, на собственных записях, где эталона не было. Для личных встреч он использовал результаты облачной ревизии как ориентир, а перед внедрением запускал старый и новый движки параллельно на записях одного дня.

Поскольку приложение подписано, MLX оставили вне бандла: отдельный Python в собственном окружении запускает движок, который возвращает JSON. Перед подключением автор вынес существующую логику порогов, фильтра эха и нумерации голосов из rebuild() и закрепил её тестами. Для нового источника разметки отдельно проверили downstream-фильтры, включая эхо.

Сбой или непригодный ответ Nemotron приводит к запасному запуску sherpa. Условия отказа включают отсутствие интерпретатора или весов, ошибку выполнения, превышение лимита в одну минуту плюс десятую долю длительности записи, а также ответ без отрезков или всего с одним отрезком.

Результаты

На двух встречах AMI DER Nemotron составил около 0,27 против 0,45–0,61 у прежнего прохода, а RTF — 0,003 против 0,35. На 57 собственных встречах обработка 34,8 часа аудио заняла около 3,5 минуты — примерно в сто раз быстрее прежнего процесса. После исправления подсчёта эха доля речи, ошибочно остававшейся в микрофонном канале, составила 17,8% на восьмиминутной записи и 16,1% на двадцатиминутной, близко к показателям sherpa. Изменения вошли в main 28 сентября; флаг автор включил в тот же вечер.

Ограничения

Собственные встречи не имели эталонной разметки, поэтому оценки качества основаны на облачной ревизии, а не на строгом сравнении. Русский язык и очные встречи автор не измерял; результаты AMI относятся к двум английским встречам. На восьми записях модель упёрлась в лимит восьми голосов. Порог в пять секунд для слияния коротких голосовых фрагментов настроен всего по пяти записям и должен быть пересмотрен после недели использования. Окружение движка пока установлено вручную, а автоматическая установка и унификация рецепта чистого окружения ещё не завершены.

Что взять себе

Читать оригинал, если…

Откройте оригинал, если нужны детали интеграции в Charoi­te_audio, таблицы замеров, тестовые сценарии или код проекта на GitHub.