NVIDIA выпустила Nemotron 3 Diarization: модель с открытыми весами и 100 млн параметров, отслеживающая 8 говорящих в реальном времени
NVIDIA выпустила Nemotron 3 Diarization — модель диаризации говорящих с открытыми весами на Hugging Face. Она отвечает на один вопрос о любом разговоре: кто и когда говорил. Модель со 100 млн параметров отслеживает до 8 говорящих, в том числе при наложении голосов. Одна контрольная точка поддерживает как офлайн-записи, так и потоковую обработку в реальном времени.
Можно ли её развернуть? Да. Веса выпущены по лицензии OpenMDW License 1.1, которая разрешает коммерческое использование. Модель работает в Linux через NVIDIA NeMo и использует GPU Ampere, Ada Lovelace, Hopper или Blackwell.
Зачем нужна диаризация говорящих?
Автоматическое распознавание речи (ASR) предоставляет текст. Но оно не сообщает, кто именно его произнёс. Без атрибуции система суммаризации не может определить, кто взял на себя обязательство или кто высказал возражение.
Диаризация выдаёт временные интервалы, в течение которых активен каждый говорящий. Эти временные метки объединяются с результатами ASR для создания транскрипции с указанием говорящих. Инструменты для встреч, аналитика звонков, конвейеры обработки подкастов и память голосовых агентов — всё это зависит от данного этапа.
Что изменилось по сравнению со Streaming Sortformer
Предыдущая контрольная точка NVIDIA Streaming Sortformer, diar_streaming_sortformer_4spk-v2.1, поддерживала 4 говорящих. Nemotron 3 Diarization увеличивает этот предел вдвое — до 8. Согласно анонсу NVIDIA, модель ориентирована на сложные многопользовательские аудиозаписи, где люди говорят одновременно.
Как работает архитектура
Модель принимает одноканальное аудио с частотой 16 кГц в форматах .wav, .flac, .opus или .mp3. Она преобразует аудио в мел-спектрограммные признаки с шагом 10 мс. Затем признаки объединяются с коэффициентом 8, что формирует кадры энкодера длительностью 80 мс.
Эти кадры обрабатывает 31-слойный Transformer-энкодер с вращающимися позиционными эмбеддингами (RoPE). Затем слой Conv1D повышает частоту дискретизации прогнозов до разрешения 10 мс. На выходе получается тензор [T, 8] с вероятностями активности для каждого говорящего.
Такая архитектура напрямую обрабатывает наложение речи. Если одновременно говорят 2 человека, в одном кадре активируются 2 канала.
Модель использует подход Sortformer, при котором говорящие упорядочиваются по времени появления. Первый новый голос получает канал 1, следующий — канал 2 и так далее. Это сохраняет стабильность меток в потоковых фрагментах, поэтому модели не приходится заново сопоставлять говорящих с каналами для каждого фрагмента.
Потоковая обработка использует 2 механизма памяти. Кэш говорящих в порядке появления (Arrival-Order Speaker Cache, AOSC) сохраняет информацию о говорящих из предыдущих фрагментов. Очередь FIFO предоставляет контекст недавних кадров. Метки являются анонимными, а их сопоставление с реальными личностями возлагается на последующие приложения.
4 режима работы с разной задержкой
Задержка буфера входных данных равна (размер фрагмента + правый контекст) × 80 мс. В таблице используются DER на полном наборе DIHARD III и производительность, скомпилированная для batch-32, из карточки модели.
| Конфигурация | Задержка буфера | DER DIHARD III | RTFx (batch 32, скомпилировано) |
|---|---|---|---|
| Офлайн-режим | 30.4 с | 12.73% | 15,113× |
| Низкая задержка | 1.04 с | 13.18% | 865× |
| Очень низкая задержка | 0.64 с | 13.28% | 579× |
| Сверхнизкая задержка | 0.32 с | 13.55% | 292× |
Эта задержка не включает время вычислений, работы сети и ASR. Технически модель может работать с буфером 80 мс, однако минимальной рекомендуемой настройкой является 0.32 с.
Результаты тестирования
В первых результатах Diarization-Bench от Voice Arena модель заняла первое место среди 12 систем и 17 конфигураций. Тестирование охватило 139 разговоров на английском языке общей продолжительностью около 22 часов. Модель показала DER 14.72% против 19.3% у системы, занявшей второе место, что соответствует примерно 24%-ному относительному снижению. NVIDIA отмечает, что эти результаты могут измениться после завершения Voice Arena оценки версии 1.
По сравнению с базовой моделью для 4 говорящих при задержке 1.04 с DER снизился во всех 8 условиях оценки. Относительное снижение составило от 9.0% на CALLHOME-Part2 до 65.2% на NOTSOFAR1 MHM. Среднее без взвешивания по 8 условиям составило 41.0%.
Есть одно ухудшение. В двухговорящем CALLHOME при задержке 30.4 с DER вырос с 5.68% до 5.98%. Однако на полном наборе CALLHOME-Part2 показатель улучшился с 10.32% до 9.10%.
Производительность также значительно выросла. При задержке 30.4 с модель достигла 15,113× RTFx против 2,619× у базовой модели. Тесты проводились в BF16 на NVIDIA RTX PRO 5000 с использованием torch.compile(). Это показатели пакетной обработки, а не задержка приложения для одного потока.
Данные для обучения
Для обучения использовалось около 10 000 часов реальных разговоров и 82 611 часов смоделированных смесей с несколькими говорящими. В набор вошли реальные многоговорящие аудиозаписи, лицензированные у David AI. Добавление данных David AI снизило составной DER с 11.19% до 10.42%. Лицензированные исходные аудиозаписи для смоделированных смесей охватывают 21 язык.
Начало работы
Установите NVIDIA NeMo Speech с Python 3.12 или более поздней версии:
uv pip install 'nemo-toolkit[asr]'from nemo.collections.asr.models import SortformerEncLabelModel
diar_model = SortformerEncLabelModel.from_pretrained("nvidia/Nemotron-3-Diarization")
diar_model.eval()
segments = diar_model.diarize(audio=["conversation.wav"], batch_size=1)Выходные сегменты имеют формат start end speaker_id. Чтобы получить также слова, объедините модель с Parakeet TDT 0.6B v3, используя руководство по интеграции ASR.
Демонстрационное пространство в реальном времени предлагает синтетические разговоры, живой микрофон, многоязычный живой микрофон и загрузку аудио. Для промышленного использования NVIDIA указывает Baseten и DigitalOcean. Поддержка устройств доступна через Argmax Pro SDK 3. Модель пока недоступна через провайдеров инференса Hugging Face.
У модели есть ограничения. Записи, в которых участвует более 8 говорящих, могут привести к пропускам или неверному назначению речи. Сильный шум, реверберация и запись с большого расстояния также могут повысить частоту ошибок.
Интерактивное объяснение
Ключевые выводы
- Модель со 100 млн параметров и открытыми весами отслеживает до 8 говорящих, включая перекрывающиеся реплики.
- Одна контрольная точка охватывает всё: от офлайн-режима (30.4 с) до потоковой обработки со сверхнизкой задержкой 0.32 с.
- Заняла первое место в первоначальном Diarization-Bench от Voice Arena с DER 14.72%.
- В среднем обеспечивает относительное снижение DER на 41.0% по сравнению со Streaming Sortformer при задержке 1.04 с.
- Лицензия OpenMDW-1.1 разрешает коммерческое использование; модель работает на GPU NVIDIA через NeMo.
Ознакомьтесь с весами модели, техническим блогом и демонстрацией. Все заслуги принадлежат исследователю этого проекта. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту по машинному обучению с более чем 150 тыс. участников и подписаться на нашу рассылку. Постойте! Вы есть в Telegram? теперь к нам можно присоединиться и в Telegram.
Хотите стать нашим партнёром для продвижения своего репозитория GitHub, страницы Hugging Face, выпуска продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.