Технологии

«Кто говорил когда»: NVIDIA открыла Nemotron 3 Diarization — модель диаризации на восемь спикеров

23 сентября 2026 года NVIDIA опубликовала в блоге Hugging Face разбор открытой модели диаризации Nemotron 3 Diarization: 100 млн параметров, до восьми спикеров, работа и на записи, и в потоке. В Diarization-Bench агентства Voice Arena модель заняла первое место с DER 14,72% против 19,3% у следующей системы. Партнёр по запуску Argmax добавил поддержку модели в Argmax Pro SDK 3 в день релиза и поднял лимит спикеров с четырёх до восьми.

«Кто говорил когда»: NVIDIA открыла Nemotron 3 Diarization — модель диаризации на восемь спикеров

Что вышло

NVIDIA Nemotron 3 Diarization — открытая модель на 100 млн параметров, которая размечает, кто говорил когда. Она поддерживает до восьми спикеров в живых и записанных разговорах, работает с перекрывающейся речью, обрабатывает аудио чанками без жёсткого ограничения длительности записи и позволяет настраивать задержку потокового режима.

В первичных результатах Diarization-Bench агентства Voice Arena модель заняла первое место с показателем диаризационной ошибки (DER) 14,72%. Предыдущая модель того же класса, NVIDIA Streaming Sortformer, умела четыре спикера; её чекпойнт `diar_streaming_sortformer_4spk-v2.1` авторы используют как базовую линию для сравнения. Карточка этой модели на Hugging Face описывает её как потоковый диаризатор на четырёх спикеров, построенный на Arrival-Order Speaker Cache.

Веса опубликованы на Hugging Face под лицензией OpenMDW License Agreement версии 1.1 — текст лицензии разрешает использование материалов модели без ограничений при сохранении копии соглашения и уведомлений об авторских правах при распространении.

Зачем вообще размечать спикеров

В любом разговоре два слоя информации: что сказано и кто это сказал. Распознавание речи фиксирует слова, а диаризация определяет, кто говорил когда, и связывает сказанное с нужным участником.

Если расшифровка верна по словам, но не атрибутирована, читать её можно, а понять — нет: нельзя надёжно сказать, кто взял обязательство, кто возразил и кто кого перебил. Поиск, пересказы, списки задач, аналитика разговоров и память голосового агента в таком транскрипте теряют ценность.

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

Как устроена модель

Nemotron 3 Diarization продолжает подход Sortformer: выходные каналы спикеров упорядочены по времени первого появления голоса — первый новый голос становится первым каналом, следующий новый голос — вторым каналом, и так далее. Такая сортировка по времени появления делает метки стабильными и снимает необходимость заново решать задачу перестановки спикеров на каждом чанке.

На вход модель принимает одноканальное аудио 16 кГц, переводит его в мел-спектрограмму с шагом 10 мс, складывает признаки с коэффициентом восемь и получает кадры по 80 мс для 31-слойного Transformer с ротационными позиционными эмбеддингами (RoPE). Над Transformer слой Conv1D поднимает предсказания до разрешения входных признаков, а выход по умолчанию — тензор `[T, 8]`: T шагов времени на восемь возможных каналов спикеров, где каждое значение — вероятность активности.

Перекрытия эта схема обрабатывает естественно: если двое говорят одновременно, в одном кадре активны два канала. В потоковом режиме контекст держат два вида памяти — Arrival-Order Speaker Cache (AOSC) с информацией о ранее наблюдавшихся спикерах и очередь FIFO с недавними кадрами; к текущему чанку добавляется правый контекст, то есть аудио сразу после чанка. Чем больше правого контекста, тем лучше модель разбирает смену говорящего, но тем дольше она ждёт перед выдачей результата.

Обучение шло на публичных и лицензированных речевых данных, включая размеченные многоголосные реальные разговоры от David AI. Дополнительное аудио от того же поставщика дало материал для крупномасштабных синтетических смесей на 21 языке. По оценке авторов, добавление данных David AI снизило составную диаризационную ошибку на 0,77 абсолютного пункта — с 11,19% до 10,42% одновременно на offline-режиме и на точке со сверхнизкой задержкой.

Восемь спикеров — и где становится сложнее

Модель поддерживает до восьми каналов спикеров, и это анонимные метки, а не реальные личности: модель может сообщить, что `speaker_2` говорил с одного момента до другого, но не определяет, что `speaker_2` — конкретный человек. Сопоставить каналы с людьми приложение может само, опираясь на метаданные встречи, профили пользователей или отдельные модели верификации по голосу.

Преимущество над предыдущей моделью растёт там, где спикеров больше: в подвыборках DIHARD III, CALLHOME-Part2 и NOTSOFAR1 с большим числом участников разрыв увеличивается. При этом авторы прямо фиксируют и обратный случай: на двухспикеровой подвыборке CALLHOME новая модель даёт 5,98% DER против 5,68% у предыдущей, тогда как по всему набору CALLHOME-Part2 ошибка улучшается с 10,32% до 9,10%.

Отдельная оговорка касается агрегации: DIHARD III объединяет записи с пятью-девятью спикерами, а девять превышают поддержанный максимум модели, поэтому в этот агрегат попадает аудио за пределами заявленной спецификации.

Точки задержки

Одна и та же модель работает на нескольких рекомендованных задержках входного буфера: 30,4, 1,04, 0,64 и 0,32 секунды. Эти значения считаются как (CHUNK_LEN + RIGHT_CONTEXT) × 80 мс и измеряют только буферизованное аудио — вычисления, сеть, ASR и обработку в приложении к ним прибавлять нужно отдельно. Технически буфер может быть и 80 мс, но 0,32 секунды авторы называют минимальной рекомендуемой конфигурацией.

Стриминговые параметры задаются в единицах 80-мс кадров энкодера: `spkcache_len`, `fifo_len`, `chunk_len`, `chunk_right_context` и `spkcache_update_period`. Использовать нужно все пять значений из одной строки конфигурационной таблицы, а перед прогоном вызывать `_check_streaming_parameters()`.

Результаты бенчмарков

В первичных результатах Voice Arena Diarization-Bench модель Nemotron 3 Diarization заняла первое место среди 12 систем и 17 конфигураций, оцененных на 139 англоязычных разговорах общей длительностью около 22 часов. Оценка шла с учётом перекрывающейся речи, с детекцией речевой активности самой системой и без так называемого ошейника на границах сегментов: итоговый DER 14,72% против 19,3% у следующей системы, то есть примерно на 24% относительно лучше. Первое место сохранилось и с допусками 100 и 250 мс, и на записях в комнате, и на онлайн-записях. Авторы оговаривают, что это первичные результаты и они могут измениться, когда Voice Arena завершит оценку версии 1 со статистическим анализом.

Сравнение с предыдущей четырёхспикеровой моделью на задержке 1,04 секунды: DER снижается на всех восьми условиях оценки, относительные улучшения — от 9,0% на CALLHOME-Part2 до 65,2% на NOTSOFAR1 MHM, невзвешенное среднее по восьми наборам составляет 41,0%. Авторы подчёркивают, что это среднее относительных улучшений по условиям, а не объединённый DER по всем записям сразу.

Протокол оценки важно читать вместе с цифрами: в оценке участвует 901 запись по условиям — телефонная многоязычная речь, встречи, ближние и дальние микрофоны, многомикрофонная запись и сложная акустика, а перекрытия оцениваются везде. Наборы DIHARD III, AliMeeting, AMI и NOTSOFAR1 считались с нулевым допуском на границах сегментов, CALLHOME-Part2 — с допуском 0,25 секунды; результаты получены скриптом NeMo `e2e_diarize_speech.py`. Сам DER складывается из пропущенной речи, ложных срабатываний и путаницы спикеров, а затем делится на общее время референсной речи.

Скорость и пропускная способность

На конфигурации 30,4 секунды модель показывает 15 113× RTFx при размере батча 32 с `torch.compile()`, тогда как предыдущая база — 2 619×, и одновременно снижает DER на DIHARD III с 19,09% до 12,73%. На конфигурации 1,04 секунды разрыв такой же по смыслу: 865× против 136× при снижении ошибки с 19,60% до 13,18%.

Измерения сделаны на конкретной тестовой системе — BF16, бэкенд NeMo PyTorch, NVIDIA RTX PRO 5000, — и описывают пакетную пропускную способность, а не сквозную задержку приложения: разработчикам советуют мерить весь конвейер на своём железе, включая передачу данных, диаризацию, ASR и последующую обработку.

Как запустить

Готовый путь — NVIDIA NeMo Speech: после установки Python 3.12 или новее, Cython и свежего PyTorch нужно поставить системные пакеты `libsndfile1` и `ffmpeg`, затем `Cython` с `packaging` и пакет `nemo-toolkit[asr]`.

Минимальный офлайн-пример загружает чекпойнт `nvidia/Nemotron-3-Diarization` классом `SortformerEncLabelModel` и вызывает `diarize()`, который возвращает сегменты строками вида `start_seconds end_seconds speaker_id`. Спикер может появляться в нескольких сегментах, а интервалы не обязаны быть взаимоисключающими; чтобы получить ещё и тензоры активности, нужен параметр `include_tensor_outputs=True`.

API принимает путь к файлу, список путей, массивы NumPy или построчный JSON-манифест; поддерживаются одноканальные файлы 16 кГц в форматах `.wav`, `.flac`, `.opus` и `.mp3`, а рассчитана модель на Linux с GPU NVIDIA поколений Ampere, Hopper или Blackwell.

Для транскрипта с атрибуцией авторы предлагают прогонять ASR и диаризацию по одной записи и одной шкале времени, например с `Nemotron ASR 3.5` или `parakeet-tdt-0.6b-v3`, возвращающими временные метки слов. Простая эвристика по середине слова приписывает слово спикеру, активному в этот момент, помечает одновременную речь как неоднозначную и оставляет слова вне найденной речи неприсвоенными; наложенные голоса она не разделяет, поэтому для продакшена авторы советуют оценивать выравнивание по границам слов, работу с перекрытиями и ошибки обеих моделей на своём аудио.

Партнёры и демо

Argmax в день релиза добавил поддержку Nemotron 3 Diarization в Argmax Pro SDK 3: в компании называют себя партнёром по запуску и отмечают, что максимальное число спикеров поднято с четырёх до восьми. Там же описан новый API предварительной диаризации — спикеры разделяются до распознавания речи, а не приписываются к уже готовым словам, что, по заявлению компании, даёт более качественные транскрипты в разговорах с перекрытиями; этот API сделан специально под Nemotron.

Для продакшена в посте NVIDIA указаны Baseten и Digital Ocean, а посмотреть модель в работе можно в демо-приложении на Hugging Face Space `nvidia/nemotron-diarization`: там есть синтетические разговоры, режим на восемь спикеров, живой микрофон и загрузка собственного аудиофайла.

Оговорки и границы применимости

Максимум — восемь спикеров: если в записи их больше, речь может пропадать или уходить не в тот канал. Плохие условия тоже бьют по качеству — шум, сильная реверберация, дальний микрофон, смена домена и очень длинные разговоры увеличивают пропуски речи, ложные срабатывания, ошибки границ и путаницу спикеров.

Метки каналов не являются верификацией личности и не должны трактоваться как безошибочное назначение говорящего, особенно в регулируемых, чувствительных или ответственных сценариях, где авторы советуют сохранять честную неопределённость и проверять всю систему на аудио, похожем на целевые условия.

Два ограничения касаются самих цифр: результаты Voice Arena названы первичными, а пропускная способность измерена на одной тестовой конфигурации, поэтому переносить их на свой контур без собственных замеров нельзя. Использование модели регулируется лицензией OpenMDW версии 1.1.

Первоисточники

  1. Hugging Face — Know Who Spoke When: Build Real-Time, Multi-Speaker AI with NVIDIA Nemotron 3 Diarization (23 сентября 2026)
  2. Argmax — Argmax Pro SDK 3 (23 сентября 2026)
  3. OpenMDW — OpenMDW License Agreement, version 1.1 (OpenMDW-1.1)
  4. Hugging Face — nvidia/diar_streaming_sortformer_4spk-v2.1, карточка предыдущей четырёхспикеровой модели