ИИтак

← Назад

Открытый движок SGLang-Omni поддержал три типа голосовых ассистентов

Команда SGLang запустила в одной среде три схемы голосового ИИ, которого можно перебивать, и сравнила их на видеокарте H200. Ни одна схема не оказалась лучше во всём.

Команда открытого движка SGLang1 добавила в SGLang-Omni, его версию для моделей со звуком и видео, среду для голосового ИИ, который ведёт непрерывный разговор и замолкает, когда его перебивают. Разбор с кодом вышел 20 октября, а на следующий день ссылкой на него поделилась китайская MiniMax с припиской «Руководство и код, чтобы было с чем поэкспериментировать».

голосовых ассистентов строят тремя разными способами. В SGLang-Omni их можно запускать на одной основе и проверять одинаковыми тестами, не собирая заново серверную часть под каждую схему.

среда поддерживает каждую из них:

  • Модели в полнодуплексном голосовом режиме2 — MiniCPM-o, Nemotron VoiceChat, PersonaPlex — слышат человека, пока говорят, и сами решают, когда уступить слово.
  • Пошаговые модели вроде Qwen3-Omni понимают речь, картинки и видео и отвечают голосом, но когда начать или оборвать ответ, решает внешний модуль.
  • Каскадная архитектура3 собирается из отдельных моделей для распознавания речи, ответа и озвучки, и любую из них можно заменить, не обучая заново остальные.

над ИИ, с которым можно говорить без строгой очереди реплик, работают OpenAI, Google, Thinking Machines и ByteDance. Главный вопрос авторы считают открытым: сколько поведения в разговоре модель должна выучить сама, а сколько взять на себя окружающая система.

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

все схемы запускали на одной видеокарте H200 и проверяли бенчмарком Full-Duplex-Bench4 — на ответ системы накладывается второй голос, а модель-судья решает, верно ли повела себя система:

  • MiniCPM-o 4.5 почти не сбивается, когда собеседник поддакивает, но откликается лишь на 56% настоящих перебиваний и замолкает в среднем через 1,6 секунды.
  • Qwen3-Omni замолкает за 0,25 секунды и откликается на 96% перебиваний, но в тесте обрывала ответ всякий раз, когда звучали фоновые голоса или человек обращался к кому-то другому.
  • Каскад с языковой моделью Qwen3.8-27B замолкает быстрее всех, за 0,17 секунды. При озвучке он теряет 0,4% слов ответа, две другие схемы — около 6%.

каскад держал 16 разговоров одновременно, но это предел, заданный вручную: видеокарта при нём не была загружена полностью. MiniCPM-o выдержала восемь, потому что непрерывно обрабатывает звук каждой сессии, даже пока слушает. Qwen3-Omni — только два. SGLang-Omni умеет разносить части одной модели по разным видеокартам, но в тесте все части Qwen3-Omni стояли на одной. Почему это ограничило её сильнее, чем каскад, авторы не объясняют.

когда в каскаде заменили Qwen3.8-27B на маленькую Qwen3-4B, доля ответов, которые модель-судья признала годными по содержанию, упала с 87% до 72%. Зато отвечать система стала на 0,26 секунды быстрее. Реакция на чужую речь почти не изменилась: очередь в разговоре там определяет детектор речевой активности — модуль, который замечает, что человек заговорил, — а не языковая модель.

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

Код, тесты и записи разговоров для проверки результатов выложены в открытый доступ, а для каждой из трёх схем есть веб-интерфейс для пробного разговора.

← Все новости