# Nemotron 3 Diarization в ONNX: локальная разметка спикеров на CPU без PyTorch

Источник: https://modelium.tech/zhurnal/nemotron-3-diarization-onnx-int8-cpu-offline/

24 сентября 2026 года независимый разработчик Joost Helfers опубликовал ONNX-конверсию NVIDIA Nemotron 3 Diarization: fp32 и int8-графы, Python-обвязку на NumPy и onnxruntime для разметки говорящих в записи на CPU. Это не релиз NVIDIA и не потоковый режим; автор приводит проверку точности на AMI и замеры скорости на одном ноутбучном процессоре.

Nemotron 3 Diarization в ONNX: локальная разметка спикеров на CPU без PyTorch

24 сентября 2026 года разработчик Joost Helfers загрузил на Hugging Face независимую конверсию **NVIDIA Nemotron 3 Diarization** в ONNX. В репозитории есть графы fp32 и int8, препроцессор, код для обработки записи и инструкции запуска через `numpy`, `onnxruntime` и `soundfile`. История коммитов фиксирует публикацию файлов 24 сентября; исходная модель NVIDIA представлена 23 сентября. Это **не официальный ONNX-релиз NVIDIA**. [s1](#src-s1) [s2](#src-s2) [s3](#src-s3)

## Зачем это локальному запуску

Модель отвечает на вопрос «кто и когда говорил» и записывает результат в RTTM; распознавание слов нужно подключать отдельно. Авторская обвязка выполняет **офлайн-диаризацию целой записи на CPU**, без PyTorch в рабочем окружении. Она обрабатывает аудио по шагам, а до восьми голосов отслеживает в порядке первого появления. Граф `model.int8.onnx` используется по умолчанию; `model.onnx` оставлен как fp32-альтернатива. Экспортирован именно офлайн-путь с шагом 30,4 секунды: не следует путать его с низколатентным streaming-режимом исходной модели, которого в этой конверсии пока нет. [s1](#src-s1) [s2](#src-s2)

По манифесту HF, весовой граф int8 занимает **103 726 888 байт**, fp32 — **397 426 956 байт**, граф препроцессора — **135 897 байт**. Это размеры файлов, **не требования к RAM**: автор отдельно измерял пиковую память процесса, и она меняется с длительностью записи. [s1](#src-s1) [s4](#src-s4)

## Как попробовать

Скачайте закреплённую ревизию репозитория, установите зависимости и запустите CLI из его каталога:

hf download joosthel/Nemotron-3-Diarization-ONNX \  --revision 4a911fc3ca821b76a99fffd5ce5135bd1efca540 \  --local-dir ./nemotron-onnxcd ./nemotron-onnxpython -m pip install -r requirements.txtpython diarize.py meeting.wav --out meeting.rttm

Команда взята из инструкции автора и не является результатом тестирования Modelium. По умолчанию загружается int8; для fp32 автор предлагает `--model model.onnx`. Код требует аудио **16 кГц** и отклоняет другую частоту дискретизации: файл нужно предварительно ресемплировать; многоканальную запись обвязка сводит в моно. Выход — разметка спикеров, а не текст расшифровки. Минимальные версии зависимостей указаны в `requirements.txt`. [s1](#src-s1) [s5](#src-s5)

## Что показала проверка автора

Разработчик сравнил модель с PyTorch-эталоном на **16 встречах AMI test**, Mix-Headset, с принудительно выровненной разметкой, нулевым collar, учётом перекрывающихся реплик и порогом 0,5. У него получились DER **9,226%** для PyTorch, **9,225%** для ONNX fp32 и **9,248%** для ONNX int8. Это **авторская проверка**, а не независимый бенчмарк Modelium. Скрипты и подробные результаты включены в репозиторий. [s1](#src-s1) [s6](#src-s6)

Автор измерил скорость на Linux с Intel Core i9-13900HX, когда процессор не занят другой нагрузкой. На встрече ES2004a длительностью 17,5 минуты при четырёх потоках RTF составил **0,018** для fp32 и **0,011** для int8, пиковый RSS — **999 и 568 МБ** соответственно. RTF **не включает загрузку модели**; опубликованные значения времени загрузки сняты при тёплом файловом кеше. Это результаты конкретного оборудования, а не обещание такой же скорости на другом CPU. Для более длинных файлов автор прямо предупреждает о росте памяти. [s1](#src-s1) [s6](#src-s6)

## Ограничения и лицензия

Предел модели — **восемь отслеживаемых говорящих**. На записях, где реальных голосов больше, качество может падать, а int8 и fp32 могут расходиться по отдельным назначениям спикеров. В отчёте автора исходный критерий совпадения int8 с fp32 **не прошёл** на одном файле VoxConverse с 13 говорящими; после этого автор пересмотрел критерий и сравнил оба варианта с разметкой. Два рассмотренных файла сверх лимита не доказывают, что int8 в общем случае точнее fp32. Для критичных сценариев нужна собственная проверка на своём аудио. [s1](#src-s1) [s6](#src-s6)

Исходный чекпойнт NVIDIA и этот пакет помечены лицензией **OpenMDW 1.1**, а не Apache 2.0. Текст разрешает использование, изменение и распространение, в том числе коммерческое, при соблюдении условий: при распространении материалов нужно сохранить копию лицензии и применимые уведомления о происхождении; есть также условие прекращения прав при определённых исках об интеллектуальной собственности. Автор приложил `LICENSE` и `NOTICE`, указал исходную ревизию NVIDIA. Открытые веса, открытый исходный код, бесплатный доступ и коммерческое разрешение — разные свойства; условия проверяйте в лицензии перед внедрением. [s2](#src-s2) [s7](#src-s7) [s8](#src-s8)

**Контекст:** об исходной модели NVIDIA и её потоковом режиме мы [писали отдельно](/zhurnal/nemotron-3-diarization-local-speakers-streaming/). Здесь новость именно о самостоятельной ONNX-конверсии и CPU-режиме; один материал не заменяет другой.

## Источники

1. [Joost Helfers — Nemotron-3-Diarization-ONNX, карточка и инструкция](https://huggingface.co/joosthel/Nemotron-3-Diarization-ONNX/blob/4a911fc3ca821b76a99fffd5ce5135bd1efca540/README.md) — получено 2026-09-24
2. [NVIDIA — Nemotron 3 Diarization, карточка исходной модели](https://huggingface.co/nvidia/Nemotron-3-Diarization/blob/f667ed73aee57d40cc39428eb768b4fd87a0a29e/README.md) — получено 2026-09-24
3. [История коммитов конверсии на Hugging Face](https://huggingface.co/joosthel/Nemotron-3-Diarization-ONNX/commits/main) — получено 2026-09-24
4. [Дерево файлов ONNX-конверсии, закреплённая ревизия](https://huggingface.co/joosthel/Nemotron-3-Diarization-ONNX/tree/4a911fc3ca821b76a99fffd5ce5135bd1efca540) — получено 2026-09-24
5. [Зависимости ONNX-конверсии](https://huggingface.co/joosthel/Nemotron-3-Diarization-ONNX/blob/4a911fc3ca821b76a99fffd5ce5135bd1efca540/requirements.txt) — получено 2026-09-24
6. [Авторский отчёт о точности и скорости ONNX-конверсии](https://huggingface.co/joosthel/Nemotron-3-Diarization-ONNX/blob/4a911fc3ca821b76a99fffd5ce5135bd1efca540/docs/RESULTS.md) — получено 2026-09-24
7. [Лицензия OpenMDW 1.1, приложенная к конверсии](https://huggingface.co/joosthel/Nemotron-3-Diarization-ONNX/blob/4a911fc3ca821b76a99fffd5ce5135bd1efca540/LICENSE) — получено 2026-09-24
8. [NOTICE: происхождение чекпойнта и статус конверсии](https://huggingface.co/joosthel/Nemotron-3-Diarization-ONNX/blob/4a911fc3ca821b76a99fffd5ce5135bd1efca540/NOTICE) — получено 2026-09-24
