Революция в архитектуре: от каскада к единому потоку
Классические голосовые ассистенты страдают от высокой задержки из-за последовательной обработки: ASR (распознавание речи) → LLM (генерация текста) → TTS (синтез речи). NVIDIA Nemotron Labs VoiceChat (11B параметров) устраняет этот разрыв, объединяя понимание и генерацию речи в единой архитектуре. Модель работает в режиме полного дуплекса (full duplex), что позволяет пользователю перебивать ассистента в любой момент, а агенту — мгновенно реагировать, не дожидаясь окончания реплики.
Технически это достигается за счет быстрого модуля Conformer для кодирования аудио, который передает токены в базовую модель Nemotron Nano V2 9B LLM. Язык программирования для вызова инструментов (tool calling) выделен в отдельный канал вывода, что сохраняет естественность потока речи даже во время выполнения внешних запросов.
Ключевые характеристики и требования
Модель позиционируется как компромисс между интеллектом и задержкой в сегменте open-source голосовых агентов. Важно отметить, что текущая версия использует фиксированный голос и не поддерживает клонирование голоса. Для развертывания требуется серьезное аппаратное обеспечение.
| Параметр | Значение / Описание |
|---|---|
| Размер модели | 11B (на базе ядра 9B) |
| Режим работы | Real-time Full Duplex (полный дуплекс) |
| Аппаратные требования | NVIDIA GPU с минимум 80 GB VRAM |
| Поддержка инструментов | Да (Function Calling) с "on-hold" сообщениями |
| Клонирование голоса | Не поддерживается (фиксированный голос) |
| Версия PyTorch | 2.10.0 (специфичная сборка для mamba-ssm) |
Функция вызова инструментов (Function Calling)
Nemotron VoiceChat — первая открытая модель полного дуплекса, поддерживающая вызов инструментов без прерывания естественного хода беседы. При генерации текста, триггерящего вызов API, агент произносит заранее определенное сообщение «на удержании» (on-hold message), пока выполняется запрос. Это создает иллюзию непрерывного диалога.
Для корректной работы системные промпты и ответы инструментов должны быть строго в формате ASCII. Использование Unicode-символов (эмодзи, тире, знаки градусов) может нарушить работу TTS-декодера.
Как запустить модель
Развертывание доступно двумя основными путями:
- Оффлайн-инференс: Загрузка чекпоинта из Hugging Face (nvidia/NVIDIA-NemotronLabs-VoiceChat-11B) и запуск скриптов в среде conda. Требует установки специфичных версий библиотек (torch 2.10.0, mamba-ssm 2.3.2).
- Интерактивный стриминг: Использование оптимизированного NVIDIA inference container с WebSocket-интерфейсом для реального времени. Поддерживает live-вызов инструментов через Triton и vLLM.
Код доступен в ветке nemotron-labs-voicechat репозитория NVIDIA-NeMo/Speech. Ветка закрыта для внешних контрибьюций, но код полностью открыт для использования и обучения.
Источник: Github ↗
