NVIDIA выпустила Nemotron 3 Diarization — открытую модель с весами (OpenMDW License 1.1), предназначенную для решения задачи диаризации (разделения говорящих). В отличие от стандартного ASR, который транскрибирует текст, эта модель отвечает на вопрос «кто и когда говорил». Модель весит всего 100M параметров, поддерживает до 8 одновременных спикеров и работает как в офлайн-режиме, так и в реальном времени (streaming) через фреймворк NVIDIA NeMo.
01Архитектура и работа с аудио
Модель принимает моно-аудио 16 кГц (форматы .wav, .flac, .opus, .mp3). Внутренняя обработка происходит через Mel-спектрограммы с шагом 10 мс. Ключевая особенность — стектинг (stacking) с коэффициентом 8, что создает фреймы энкодера длительностью 80 мс. Обработка идет через 31-слойный Transformer с позиционными вложениями RoPE, после чего слой Conv1D возвращает предсказания к исходному разрешению 10 мс.
Выходная тензорная форма: [T, 8], где T — временные шаги, а 8 — максимальное число спикеров. Если говорят двое одновременно, активируются два канала в одном фрейме. Для стабильности меток в потоке используется подход Sortformer: новые голоса получают каналы по порядку появления (первый голос — канал 1, второй — канал 2), что исключает необходимость перемаппинга ID между чанками.
02Производительность и задержки (Latency)
Задержка буфера рассчитывается как (chunk + right context) × 80 мс. NVIDIA предлагает четыре конфигурации, балансируя между точностью (DER — Diarization Error Rate) и скоростью (RTFx — реальное время обработки). Тесты проводились на NVIDIA RTX PRO 5000 с использованием torch.compile() и BF16.
| Конфигурация | Буферная задержка | DIHARD III DER | RTFx (batch 32) |
|---|---|---|---|
| Offline style | 30.4 s | 12.73% | 15,113× |
| Low latency | 1.04 s | 13.18% | 865× |
| Very low latency | 0.64 s | 13.28% | 579× |
| Ultra-low latency | 0.32 s | 13.55% | 292× |
Обратите внимание: указанные задержки не включают время вычислений, сети и работы ASR. Минимальная рекомендуемая задержка — 0.32 с, хотя технически возможен буфер 80 мс.
03Бенчмарки: Nemotron 3 vs Streaming Sortformer
В первоначальных тестах Voice Arena Diarization-Bench модель заняла 1-е место среди 12 систем. На наборе из 139 английских разговоров (22 часа) она показала 14.72% DER, что на ~24% лучше следующей по рейтингу системы (19.3%).
При сравнении с предыдущей моделью NVIDIA (Streaming Sortformer, 4 спикера, задержка 1.04 с) Nemotron 3 демонстрирует значительный прирост:
- Среднее относительное снижение DER по 8 условиям: 41.0%.
- Пропускная способность выросла с 2,619× до 15,113× RTFx в офлайн-режиме.
- На датасете NOTSOFAR1 MHM снижение DER достигло 65.2%.
04Данные для обучения
Модель обучалась на ~10 000 часах реальных разговоров и 82 611 часах симулированных мультитолковых смесей. Ключевым улучшением стало добавление лицензированных данных от David AI (21 язык). Это позволило снизить compound DER с 11.19% до 10.42%.
05Установка и запуск
Модель работает на GPU архитектур Ampere, Ada Lovelace, Hopper и Blackwell. Требуется Python 3.12+ и фреймворк NeMo.
Установка через uv:
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=32
)
# Вывод: start end speaker_id
for seg in segments:
print(seg)Для получения полного транскрипта с именами спикеров модель нужно связать с ASR-моделью, например, Parakeet TDT 0.6B v3, следуя руководству по интеграции ASR.
06Кому подойдёт / что запустится
- Разработчики голосовых агентов: Для привязки ответов LLM к конкретному пользователю в многопользовательских сессиях.
- Аналитика звонков: Автоматическое определение, кто из сотрудников или клиентов принял решение.
- Железо: Требуется GPU NVIDIA. Модель легкая (100M), но для высоких батчей и низкой задержки рекомендуется RTX 4090/5000 или выше. На CPU запуск возможен, но производительность будет непригодна для real-time.
- Лицензия: OpenMDW 1.1 разрешает коммерческое использование.
Источник: MarkTechPost ↗
