Превращайте перекрывающиеся разговоры в данные с привязкой к спикерам с помощью одной модели с открытыми весами и 100 млн параметров, которая заняла 1-е место в таблице лидеров VoiceArena по диаризации с коэффициентом ошибок диаризации (DER) 14,72%.
Почему важна диаризация спикеров
Каждый разговор несет два уровня информации: что было сказано и кто это сказал. Распознавание речи фиксирует и расшифровывает слова. Диаризация спикеров классифицирует, кто и когда говорил, помогая приложениям соотносить сказанное с нужным участником.
Представьте расшифровку встречи, звонка клиенту или подкаста, в которой каждое предложение верно, но не приписано ни одному из спикеров. Вы можете прочитать слова, но не можете достоверно определить, кто взял на себя обязательство, кто возразил или кто из участников перебил другого. Поиск, резюме, список задач, аналитика разговоров и память голосовых агентов — все это становится менее полезным.
Диаризация спикеров определяет временные интервалы, в течение которых активен каждый спикер, включая интервалы, когда люди говорят одновременно. Эти временные метки спикеров затем можно объединить с автоматическим распознаванием речи (ASR) для создания расшифровки с привязкой к спикерам.
NVIDIA Nemotron 3 Diarization — это модель с открытыми весами и 100 млн параметров, которая занимает 1-е место в таблице лидеров VoiceArena's Diarization-Bench с коэффициентом ошибок диаризации (DER) 14,72%. Поддерживая до восьми спикеров в живых и записанных разговорах, она справляется с перекрывающейся речью, блочной обработкой для записей разной длины и настраиваемой задержкой потоковой передачи.
Рисунок 1. Nemotron 3 Diarization на 1-м месте в таблице лидеров VoiceArena Diarization-Bench.
Более ранние модели, такие как NVIDIA Streaming Sortformer, заложили основу этого подхода для диаризации четырех спикеров, включая контрольную точку потоковой передачи diar_streaming_sortformer_4spk-v2.1, используемую в качестве базовой ниже. Nemotron 3 Diarization расширяет поддержку до восьми спикеров и улучшает точность и пропускную способность, измеренные в следующих оценках.
Как работает Nemotron 3 Diarization
Одна модель для офлайн-разговоров и потоковой передачи
Системы диаризации должны решать две взаимосвязанные задачи. Во-первых, они должны обнаруживать речь и назначать ее правильному спикеру. Во-вторых, они должны сохранять это назначение на протяжении всего разговора, даже после тишины, прерываний или длительных пауз между репликами спикера.
Потоковая передача усложняет вторую задачу. Офлайн-модель может проанализировать всю запись целиком. Потоковая система получает только небольшой фрагмент нового аудио и ограниченный контекст. Без эффективного механизма памяти спикер, назначенный на один выходной канал в текущем фрагменте, может быть назначен на другой канал в следующем.
Nemotron 3 Diarization следует подходу Sortformer, упорядочивая выходных спикеров по времени их первого появления. Первый новый голос становится первым каналом спикера, следующий новый голос — вторым и так далее. Такая сортировка по времени прибытия делает общие метки спикеров модели стабильными и устраняет необходимость решать задачу перестановки спикеров для каждого фрагмента.
Nemotron 3 Diarization была обучена с использованием общедоступных и лицензированных речевых данных, включая реальные разговоры с аннотациями для нескольких спикеров, лицензированные у David AI. Дополнительные лицензированные аудиоматериалы David AI послужили исходным материалом для крупномасштабных симулированных английских и многоязычных смесей, охватывающих 21 язык. Добавление данных David AI к нашему обучению снизило совокупный коэффициент ошибок диаризации (DER) на 0,77 абсолютных процентных пункта, с 11,19% до 10,42%, как в офлайн-режиме, так и в режиме сверхнизкой задержки.
Модель поддерживает до восьми каналов спикеров. Это анонимные метки, а не реальные личности: модель может сообщить, что speaker_2 говорил с одной временной метки до другой, но она не определяет, что speaker_2 — это конкретный человек. Последующие приложения могут сопоставлять эти анонимные идентификаторы каналов с конкретными личностями спикеров, связывая временные метки с метаданными встреч, профилями пользователей или моделями верификации активного спикера.
От аудио к активности спикера
Модель принимает одноканальное аудио с частотой 16 кГц и преобразует его в признаки мел-спектрограммы с шагом кадра 10 мс. Она объединяет эти признаки с коэффициентом восемь, создавая кадры по 80 мс для 31-слойного трансформерного энкодера с вращательными позиционными эмбеддингами (RoPE).
Рисунок 2. Nemotron 3 Diarization преобразует аудио в вероятности активности спикера, упорядоченные по времени прибытия. AOSC и FIFO-контекст поддерживают потоковый вывод.
Над трансформером слой Conv1D повышает разрешение предсказаний до разрешения входных признаков. Выводом по умолчанию является тензор с плавающей запятой [T, 8]: T временных шагов на восемь возможных каналов спикеров. Каждое значение — это вероятность того, что спикер активен в данный момент. Шаг по умолчанию составляет 10 мс и может быть настроен на другое значение, кратное 10 мс.
Это представление естественным образом обрабатывает перекрытие. Если два человека говорят одновременно, два канала могут быть активны в одном и том же кадре. Постобработка преобразует эти вероятности в общие метки спикеров с временными метками начала и конца.
Во время потокового вывода контекст обеспечивают две формы памяти:
- Кэш спикеров по порядку прибытия (AOSC) сохраняет полезную информацию о спикерах, замеченных в предыдущих фрагментах, организованную в соответствии с их каналами, упорядоченными по прибытию.
- Очередь «первым пришел — первым ушел» (FIFO) предоставляет контекст недавних кадров перед текущим фрагментом.
Входной буфер также включает правый контекст, то есть аудио сразу после текущего фрагмента. Больший объем правого контекста может помочь модели интерпретировать переходы между спикерами, в то время как меньший объем сокращает время ожидания перед получением результата. Вместе текущий фрагмент, правый контекст, очередь FIFO и кэш спикеров позволяют одной модели работать с различными уровнями задержки.
Блочный вывод устраняет фиксированную максимальную длительность аудио, накладываемую моделью. Производительность все еще может снижаться при необычно длинных записях или аудио с сильным шумом, реверберацией, удаленным захватом или смещением домена.
Диаризация и ASR с привязкой к спикеру (ASR для нескольких спикеров) — это разные задачи
Автономная диаризация создает активность спикера и временные метки, а не произносимые слова. ASR создает текст, но не обязательно сохраняет привязку к спикеру. Конвейер расшифровки с привязкой к спикеру объединяет оба результата:
Рисунок 3. Сквозной конвейер расшифровки с привязкой к спикеру, объединяющий временные метки диаризации аудио с автоматическим распознаванием речи (ASR) для сопоставления произнесенных слов с конкретными спикерами.
Это разделение важно при проектировании системы. Ошибки диаризации включают пропущенную речь, ложные обнаружения речи, неверные назначения спикеров и ошибки границ. Ошибки ASR влияют на слова. Приложения должны оценивать оба компонента и объединенный конвейер на предназначенном для них аудио.
Баланс между задержкой и точностью
Та же модель поддерживает рекомендуемую задержку входного буфера в 30,4, 1,04, 0,64 и 0,32 секунды. Более короткие буферы позволяют системе реагировать быстрее, в то время как больший контекст обычно повышает точность и пропускную способность. Эти значения измеряют объем аудиоданных, буферизуемых перед выводом; вычисления, работа сети, автоматическое распознавание речи (ASR) и обработка на уровне приложений увеличивают задержку в сквозном режиме. Хотя технически модель может использовать входной буфер размером 80 мс, 0,32 секунды — это минимальная рекомендуемая конфигурация. Таблица конфигураций в разделе «Начало работы» показывает, как выбрать рабочий режим.
Результаты бенчмарка: 1-е место в первом бенчмарке диаризации VoiceArena
По результатам первого бенчмарка диаризации VoiceArena, модель NVIDIA Nemotron 3 Diarization заняла первое место среди 12 систем и 17 общих конфигураций систем, оцененных на 139 англоязычных разговорах общей продолжительностью около 22 часов. С учетом пересекающейся речи, созданного системой определения речевой активности и отсутствия граничных допусков (collar), Nemotron 3 Diarization достигла уровня ошибки диаризации (DER) в 14,72% по сравнению с 19,3% у системы, занявшей второе место — это относительное снижение примерно на 24%. Она также заняла первое место с допусками 100 мс и 250 мс, как для очных, так и для онлайн-записей. Эти первые результаты могут измениться по завершении Voice Arena оценки версии 1 и парного статистического анализа.
Рисунок 4. Результаты бенчмарка диаризации Voice Arena v1 (английский язык, допуск 0 мс, для DER меньшее значение лучше), показывающие, что NVIDIA Nemotron 3 Diarization занимает 1-е место с DER 14,72%.
Измерение точности диаризации
Основной метрикой, используемой для оценки модели, является уровень ошибки диаризации (DER). Он объединяет три типа ошибок:
- Пропущенная речь: эталонный спикер был активен, но система не обнаружила соответствующей речи.
- Ложная тревога: система отметила спикера как активного, хотя в эталоне не было соответствующей речи.
- Путаница спикеров: система обнаружила речь в нужное время, но приписала ее не тому спикеру.
Рисунок 5. DER суммирует пропущенную речь, ложные тревоги и путаницу спикеров, а затем делится на общее время эталонного спикера. Пересекающиеся эталонные спикеры вносят свой вклад в знаменатель.
Настройки бенчмарка могут существенно изменить DER, поэтому протокол оценки является частью результата. Оценка Nemotron 3 включает 901 запись для конкретных условий, охватывающую многоязычную телефонную речь, совещания, микрофоны ближнего и дальнего поля, многомикрофонный захват и сложные акустические среды. Пересекающаяся речь учитывается в каждой оценке.
DIHARD III, AliMeeting, AMI и NOTSOFAR1 используют допуск в ноль секунд, что означает отсутствие исключения граничных допусков из оценки. CALLHOME-Part2 использует допуск 0,25 секунды. Результаты были получены с помощью сценария оценки NeMo e2e_diarize_speech.py.
В приведенном ниже сравнении в качестве базовой линии используется diar_streaming_sortformer_4spk-v2.1, предыдущий четырехспикерный потоковый Sortformer от NVIDIA. В нем используются итоговые значения Nemotron-3-Diarization.
Среднее относительное снижение DER на 40% при задержке 1,04 секунды
Рисунок 6. Полный набор DER для модели и предыдущей базовой линии NVIDIA при задержке входного буфера 1,04 секунды. Меньшее значение лучше.
При задержке входного буфера 1,04 секунды Nemotron 3 Diarization снижает DER по всем восьми перечисленным условиям оценки. Относительное снижение колеблется от 9,0% на CALLHOME-Part2 до 65,2% на NOTSOFAR1 MHM.
Несредневзвешенное среднее значение относительных снижений по восьми датасетам составляет 41,0%. Другими словами, это среднее значение относительных улучшений по условиям оценки; это не объединенный DER, вычисленный путем объединения каждой записи в один результат.
Улучшение также является стабильным для всех рабочих точек. При каждой задержке, общей для обеих моделей (30,4, 1,04 и 0,32 секунды), итоговая модель имеет более низкий полный набор DER на каждом оцениваемом датасете.
Рисунок 7. Полный набор DER для различных настроек задержки входного буфера. Предыдущая базовая линия не имеет конфигурации 0,64 секунды.
Улучшения возрастают в условиях с большим количеством спикеров
Поддержка восьми спикеров делает возможным проведение совещаний и групповых разговоров с участием более четырех человек. Преимущество в бенчмарке также увеличивается в подмножествах DIHARD III, CALLHOME-Part2 и NOTSOFAR1 с большим количеством спикеров.
Рисунок 8. DER при задержке входного буфера 30,4 секунды, разбитый по количеству спикеров. Затененные области содержат более четырех спикеров.
На рисунке также сохраняется важный нюанс: на подмножестве CALLHOME с двумя спикерами финальная модель показывает DER 5,98% по сравнению с 5,68% у предыдущей базовой линии. Однако по всей оценке CALLHOME-Part2 DER улучшается с 10,32% до 9,10%, причем наибольший прирост наблюдается в подмножествах с большим количеством спикеров.
DIHARD III группирует записи с количеством спикеров от пяти до девяти в один результат. Девять спикеров превышают поддерживаемый Nemotron 3 Diarization максимум в восемь человек, поэтому этот агрегат включает аудио, выходящее за рамки указанного лимита количества спикеров.
Точность и пропускная способность
Готовая к развертыванию система диаризации должна соблюдать баланс между точностью и пропускной способностью. В карточке модели указано ускорение коэффициента реального времени (RTFx), рассчитываемое как общая продолжительность аудио, деленная на общее время обработки. Более высокий показатель RTFx означает, что система обрабатывает больше аудио за единицу вычислительного времени.
Рисунок 9. Полный набор DER DIHARD III против скомпилированной пропускной способности для размера батча 32. Результаты используют BF16 с бэкендом NeMo PyTorch на NVIDIA RTX PRO 5000.
В конфигурации 30,4 секунды Nemotron 3 Diarization достигает RTFx 15 113× при размере батча 32 с torch.compile() по сравнению с 2 619× для предыдущей базовой линии, одновременно снижая DER DIHARD III с 19,09% до 12,73%. В конфигурации 1,04 секунды она достигает 865× по сравнению с 136×, снижая DER с 19,60% до 13,18%.
Эти результаты измеряют пакетную пропускную способность на раскрытой тестовой системе. Их не следует интерпретировать как задержку однопоточного приложения в сквозном режиме. Разработчики должны провести бенчмаркинг полного конвейера на своем целевом оборудовании, включая перемещение данных, диаризацию, ASR и последующую обработку.
Посмотрите Nemotron 3 Diarization в действии
Изучите интерактивную демонстрацию модели Nemotron Diarization, чтобы сопоставить временные метки спикеров модели с разговором, за которым вы можете следить. Приложение предлагает синтетические разговоры, режим восьми спикеров, ввод с живого микрофона и стресс-тест сценарии. Мы также добавили живой микрофон для многоязычных моделей ASR, чтобы вы могли выполнять потоковую диаризацию в реальном времени со спикерами, говорящими на разных языках.
Начните с «Разговора» с предзагруженной темой, а затем следите за активностью спикеров и транскрипцией в реальном времени по ходу разговора. Слушайте прерывания и сравнивайте синхронизацию голосов с отображаемой активностью спикеров. Для собственного разговора используйте «Живой микрофон» или «Многоязычный живой микрофон». Наконец, вы можете загрузить предварительно записанный аудиофайл на вкладке «Аудиофайл».
Следующий вымышленный диалог иллюстрирует разницу, которую вносит атрибуция спикеров; это не измеренный результат из демонстрации:
Благодаря меткам дикторов приложение может связать обязательство с тем же участником, который отвечает на последующий вопрос. Временная шкала добавляет информацию, которую невозможно отобразить обычным текстом: два диктора могут быть активны одновременно. Последующий модуль суммаризации может использовать атрибутированную транскрипцию для извлечения задач, сохраняя при этом исходного диктора и временные метки.
Подготовленные сценарии используют синтезированное аудио. Некоторые сценарии с восемью дикторами содержат краткое введение в контекст дикторов перед началом аудиозаписи разговора; они иллюстрируют поведение в этом контексте и не являются эталонным тестом без предварительной подготовки. Имена и роли участников относятся к логике сценария приложения. Nemotron 3 Diarization предоставляет общие каналы дикторов и временные метки, а не проверку личности.
Обеспечьте транскрипцию в реальном времени с распознаванием дикторов на устройстве
Argmax добавила поддержку NVIDIA Nemotron 3 Diarization in Argmax Pro SDK 3, обеспечив атрибуцию дикторов в реальном времени для разговоров с участием до восьми человек, а также представила API для предварительной диаризации транскрипции, который разделяет дикторов до распознавания речи, что призвано улучшить транскрипцию в сложных разговорах с перекрывающейся речью.
Мы провели сравнительный анализ 6 систем диаризации дикторов на 11 наборах данных, представляющих разнообразные и сложные реальные условия, с использованием OpenBench. Nemotron 3 Diarization достигла самого низкого уровня ошибок (DER) среди всех 6 систем. Она также показала лучший результат на 5 из 11 наборов данных, несмотря на ограничение в 8 дикторов. Это огромный скачок в точности по сравнению с предшественником Sortformer v2.1, чей уровень ошибок был на 60% выше. Atila Orhon
Посмотрите демонстрацию работы Nemotron 3 Diarization с использованием Argmax Pro SDK 3.
Рисунок 10. Демонстрационное видео Argmax модели Nemotron 3 Diarization
Начало работы с NVIDIA NeMo Speech
Ниже мы приведем несколько кратких руководств о том, как объединить диаризацию с моделями ASR, потоковой ASR, только диаризацией и офлайн-ASR с помощью библиотеки NVIDIA Nemo Speech.
Установка зависимостей
Установите системные пакеты и зависимости NVIDIA NeMo speech после настройки Python 3.12 или более поздней версии, Cython и актуальной версии PyTorch.
Реализация потоковой диаризации с потоковой ASR (многодикторная ASR) в реальных сценариях
Для оценки производительности ASR и диаризации (многодикторная ASR) обратитесь к краткому руководству по диаризации с потоковой ASR.
Запуск офлайн-диаризации записи
Используйте монофоническую запись с частотой 16 кГц, содержащую двух или более дикторов, и замените /path/to/conversation.wav на путь к ней. В следующем примере загружается контрольная точка и используется рекомендуемая конфигурация офлайн-типа длительностью 30,4 секунды.
Метод diarize() возвращает сегменты с метками дикторов в виде строк в формате start_seconds end_seconds speaker_id. Например, структура вывода может выглядеть так (временные метки иллюстративны, это не измеренный результат модели):
Здесь оба диктора активны в интервале от 1,800 до 2,100 секунд. Диктор может появляться в нескольких сегментах, и интервалы не обязательно должны быть взаимоисключающими. Чтобы также получить базовые тензоры активности дикторов, установите include_tensor_outputs=True.
API принимает путь к аудио, список путей, массивы NumPy или JSON-манифест с разделителями в виде строк. При предоставлении массивов NumPy передавайте правильное целое число sample_rate; частота дискретизации аудио по умолчанию составляет 16 кГц. Nemotron 3 Diarization поддерживает одноканальные аудиофайлы .wav, .flac, .opus и .mp3 с частотой 16 кГц. Модель разработана для систем Linux с поддержкой графических процессоров NVIDIA Ampere, Hopper или Blackwell.
Выбор рабочей точки задержки и качества
Nemotron 3 Diarization предоставляет параметры потоковой передачи в единицах кадров энкодера по 80 мс. Рекомендуемые конфигурации охватывают как офлайн-обработку, так и потоковую передачу со сверхнизкой задержкой.
Значения задержки в этой таблице представляют собой задержку входного буфера, рассчитанную как: (CHUNK_LEN + RIGHT_CONTEXT) × 80 мс
Они не включают вычисления модели, передачу по сети, ASR или обработку приложением. Хотя модель технически может использовать входной буфер длительностью всего 80 мс, 0,32 секунды — это минимальная рекомендуемая конфигурация. Снижение задержки обычно уменьшает как точность, так и пропускную способность, поэтому разработчикам следует выбирать рабочую точку исходя из сквозных требований к продукту, а не только на основе длительности буфера.
Используйте все пять значений параметров из одной строки в примере вывода, затем вызовите _check_streaming_parameters() перед запуском диаризации. Кэш дикторов сохраняет предыдущий контекст дикторов; FIFO управляет недавней историей; фрагмент (chunk) и правый контекст задают задержку входного буфера; период обновления кэша определяет, сколько контекста FIFO используется для обновления кэша.
Объединение диаризации с офлайн-ASR
Запустите ASR и диаризацию на одной и той же записи и временной базе. Например, вы можете использовать Nemotron ASR 3.5 или Parakeet TDT 0.6B v3, которые могут возвращать временные метки слов. Следующий минимальный офлайн-пример повторно использует predicted_segments из примера выше и связывает каждое слово с диктором, активным в его середине:
Это правило середины является простой эвристикой выравнивания. Оно помечает одновременную активность дикторов как неоднозначную и оставляет слова вне обнаруженной речи неназначенными. Оно не разделяет перекрывающиеся голоса и не определяет, какой активный диктор произнес слово ASR. Для создания транскрипции промышленного уровня оцените выравнивание границ слов, обработку перекрытий и ошибки обеих моделей на репрезентативном аудио перед объединением соседних слов в реплики дикторов.
Рекомендации по развертыванию
Модель поддерживает максимум восемь дикторов. Если запись содержит больше, речь может быть пропущена или назначена не на тот канал. Шум, сильная реверберация, запись с дальнего расстояния, смещение домена и длительные разговоры также могут увеличить количество пропущенной речи, ложных срабатываний, ошибок границ или путаницы между дикторами.
Последующие приложения должны сохранять полезную неопределенность, а не относиться к каждому назначению диктора как к безошибочному. Оценивайте всю систему на аудио, репрезентативном для предполагаемой среды, особенно перед использованием атрибуции дикторов в регулируемых, критически важных для безопасности или ответственных рабочих процессах.
Использование модели регулируется OpenMDW License Agreement, version 1.1.
Ресурсы и следующие шаги
- Nemotron 3 Diarization на Hugging Face
- Таблица лидеров VoiceArena
- Argmaxinc Openbench
- NVIDIA NeMo Speech
- Скрипт оценки сквозной диаризации NeMo
- Статья о Sortformer
- Статья о потоковом Sortformer
- Краткое руководство по диаризации с ASR
- Интерактивная демонстрация и пример приложения
- Модель Parakeet ASR и примеры временных меток
Создание с партнерами по экосистеме NVIDIA








