Главная/Блог/Обзор/NVIDIA Nemotron 3 Diarization: 8…
Обзор3 мин чтения · 24 сентября 2026 г.

NVIDIA Nemotron 3 Diarization: 8 голосов, 0.32s задержка и бенчмарки

Открытая модель NVIDIA на 100M параметров для диаризации до 8 спикеров. Разбор архитектуры, задержек, производительности на RTX 5000 и инструкция по запуску через NeMo.

NVIDIA Nemotron 3 Diarization: 8 голосов, 0.32s задержка и бенчмарки

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 между чанками.

💡
Важно для стриминга. Модель использует два механизма памяти: AOSC (кэш информации о спикерах из предыдущих чанков) и FIFO-очередь для контекста последних кадров. Это позволяет сохранять идентичность спикера при разрезании аудио на части.

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%.
⚠️
Ограничения точности. На коротких диалогах (2 спикера, CALLHOME) при высокой задержке (30.4 с) DER незначительно вырос с 5.68% до 5.98%. Также модель может ошибаться при сильном шуме, эхо или захвате голоса с большого расстояния (far-field).

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:

terminalbash
uv pip install 'nemo-toolkit[asr]'

Пример кода для диаризации файла:

terminalpython
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 ↗