🎙 Full-duplex voice mode
Наша команда ведет исследования в речевых технологиях, и одна из задач, которую мы решаем — это создание полнодуплексного голосового режима. Это такой класс моделей, которые могут одновременно слушать и говорить, не разбивая диалог на последовательные вызовы.
В рамках прошедшей AI RnD Day наши ребята Артемий и Данило рассказали, как это всё устроено и куда движется мир.
📌 TLDR
Классический голосовой ассистент — это каскад ASR → LLM → TTS + VAD. Пользователь говорит, VAD ждёт конец реплики, ASR переводит речь в текст, LLM думает, TTS озвучивает ответ. Задержка у такой системы складывается из нескольких компонент, а диалог с моделью не нативен. Full-duplex устроен иначе: модель может слушать пользователя, говорить, реагировать на перебивания и менять свою реплику прямо во время разговора.
Главный вызов — сделать такую модель не только естественной, но и управляемой: задать ей роль, характер, голос и при этом не потерять качество основной LLM. А в самом продвинутом варианте добавить мультимодальность, ризонинг, тулколинг и прочий "обвес", включая опции для решения VLA-задач в роботах. 🤖
🧭 Откуда всё началось
В 2022-2023 году появились GSLM и AudioLM — работы, показавшие, что речь можно моделировать непосредственно аудио-токенами, без обязательного промежуточного текста.
В 2024 году Moshi от Kyutai сделал следующий шаг — открытая full-duplex модель, которая одновременно слушает и говорит, моделируя аудио пользователя и модели вместе с текстовым внутренним представлением. В начале 2026 появились подходы вроде PersonaPlex от NVIDIA 🖥 (надстройка над Moshi), где к full-duplex добавляется управляемость: текстовый prompt задаёт персонажа, а аудио-референс — голос.
А дальше индустрия начала двигаться к более общему подходу: разделению реалтайм взаимодействия и мышления на части. Эту идею, в частности, развивает Thinking Machines, стартап Миры Мурати.
⚙️ Что не так с обычным Full-duplex
Исходная модель действительно умеет разговаривать, но для продукта этого недостаточно: каждый запуск с новым голосом, персонаж и манера речи не фиксированы, нельзя задать бизнес-роль ассистента. И самое важное: модель "тупеет" при улучшении качества речи, и наоборот, а компромиссного варианта нет.
.
🧠 Thinker + Duplex Talker
Чтобы не заставлять одну модель делать всё сразу, мы перешли к тандемной архитектуре. Thinker — большая LLM, которая отвечает за содержание и сложный ризонинг. Duplex Talker — лёгкая RQ-трансформерная "говорилка", работающая в full-duplex режиме. Talker продолжает слушать и говорить в реалтайме, а Thinker своевременно подсказывает, что стоит сказать.
Ключевой момент — обмен идёт в общем текстовом домене. Благодаря этому основную LLM можно менять независимо от голосового слоя.
💡 Как работают подсказки
Мы не заставляем Thinker генерировать новый ответ на каждый аудиокадр. Для обучающих данных берём реплику пользователя и постепенно раскрываем её. На каждом этапе большая LLM предсказывает, что ответит второй участник диалога. Так формируется поток подсказок. Talker может начать отвечать раньше окончания фразы пользователя, а по мере появления нового контекста получать более точные подсказки.
📚 Как обучали
Обучение проходило в несколько этапов:
— text-to-text + TTS для связи текста и аудио
— естественные и синтетические диалоги
— system prompts и audio references
— симуляция hint stream от большой LLM
— синтетика, аугментации и дообучение под конкретные сценарии
В датасетах смешиваются TTS, естественные разговоры, синтетические диалоги, фактологические данные, voice-референсы и примеры работы с подсказками.
🔚 Выводы
Тандем Thinker + Duplex Talker позволяет разделить задачи и сохранить главное преимущество full-duplex-систем — realtime-взаимодействие без возврата к классическому каскаду. А в конечном счёте, он расширяется до нативной омнимодальности со всей мощью ризонинга, тулколинга и действий в среде.
🔗 Более подробно смотрите в презентации ребят (оставим в комментариях файлом) и в записи выступления (6:29 тайминг).
#speech #voice #fullduplex #paperwatch
Post #489
1.3K


- ❤ 33
- 👍 15
- 🔥 12
- 😁 11
- 🎉 9