Почему создавать ИИ-ассистентов реального времени сложно
Создание ИИ в реальном времени — сложная задача. Большинство систем состоят из цепочки отдельных компонентов. Один компонент распознает голос. Другой преобразует речь в текст. Третий генерирует ответ. Четвертый преобразует текст в речь. Пятый отрисовывает аватар.
Каждая передача данных между этими компонентами добавляет задержку. Каждая граница создает ошибки синхронизации. Из-за этого взаимодействие кажется роботизированным.
Wan-Streamer v0.1 меняет этот подход. Вместо раздельных сервисов он использует единый потоковый Transformer. Он рассматривает аудио, видео и текст как единый цикл.
Стандартные ассистенты работают так: • Пользователь говорит. • Система преобразует речь в текст. • Модель создает текстовый ответ. • Система преобразует текст в речь. • Аватар пытается синхронизировать движения губ с аудио.
Этот метод ненадежен. Если один этап замедляется, вся система ждет. Если пользователь прерывает речь, система часто не замечает этого.
Wan-Streamer решает эту проблему, моделируя язык, аудио и видео совместно. Он использует block-causal attention. Это позволяет модели непрерывно обновлять свое состояние. Она не ждет завершения всего цикла, прежде чем начать действовать.
Система использует разделение на «мыслителя» (thinker) и «исполнителя» (performer): • «Мыслитель» отвечает за восприятие и обновление состояния. • «Исполнитель» отвечает за следующий блок генерации.
Такое перекрытие предотвращает блокировку частей цикла друг другом. Модель достигает задержки на стороне модели примерно в 200 мс. Общая задержка взаимодействия составляет около 550 мс.
Когда время отклика остается менее одной секунды, разговор кажется живым. Это важно для: • Аватаров службы поддержки. • Агентов-репетиторов. • Инструментов телеприсутствия. • Интерактивных демо-версий.
Wan-Streamer все еще находится в версии 0.1. Качество видео низкое. Одна модель не решает вопросы безопасности или надежности. Однако она доказывает, что структура цикла взаимодействия имеет значение.
Если вы создаете ИИ реального времени, задайте себе следующие вопросы: • Можете ли вы объединить отдельные модули в единую основу (backbone)? • Где в вашем конвейере (pipeline) возникают задержки ожидания? • Какие части можно наложить друг на друга, чтобы уменьшить задержку?
В ИИ реального времени способ перемещения информации и есть сам продукт.
Optional learning community: https://t.me/GyaanSetuAi
