실시간 AI 어시스턴트 구축이 어려운 이유

실시간 AI를 구축하는 것은 어렵습니다. 대부분의 시스템은 별개의 구성 요소들을 사슬처럼 연결하여 사용합니다. 한 부분은 음성을 감지하고, 다른 부분은 음성을 텍스트로 변환하며, 세 번째는 응답을 생성하고, 네 번째는 텍스트를 음성으로 변환하며, 다섯 번째는 아바타를 렌더링합니다.

이러한 구성 요소 간의 모든 데이터 전달(handoff)은 지연을 초래합니다. 모든 경계는 타이밍 오류를 만들어냅니다. 이로 인해 상호작용이 로봇처럼 느껴지게 됩니다.

Wan-Streamer v0.1은 이러한 접근 방식을 바꿉니다. 별개의 서비스 대신 하나의 스트리밍 Transformer를 사용합니다. 오디오, 비디오, 텍스트를 하나의 루프로 처리합니다.

표준 어시스턴트는 다음과 같이 작동합니다: • 사용자가 말합니다. • 시스템이 음성을 텍스트로 변환합니다. • 모델이 텍스트 응답을 생성합니다. • 시스템이 텍스트를 음성으로 변환합니다. • 아바타가 오디오에 맞춰 입 모양을 맞추려고 시도합니다.

이 방식은 취약합니다. 한 단계가 느려지면 전체 시스템이 대기하게 됩니다. 사용자가 말을 끊으면 시스템이 이를 인지하지 못하는 경우가 많습니다.

Wan-Streamer는 언어, 오디오, 비디오를 함께 모델링함으로써 이 문제를 해결합니다. block-causal attention을 사용하여 모델이 상태를 지속적으로 업데이트할 수 있게 합니다. 모델은 동작하기 전에 전체 턴이 끝나기를 기다리지 않습니다.

이 시스템은 thinker-performer 분리 방식을 사용합니다: • thinker는 인지와 상태 업데이트를 담당합니다. • performer는 다음 생성 단위를 담당합니다.

이러한 중첩은 루프의 각 부분이 서로를 차단하는 것을 방지합니다. 모델은 약 200ms의 모델 측 지연 시간(model-side latency)을 달성합니다. 전체 상호작용 지연 시간은 약 550ms를 유지합니다.

응답 시간이 1초 미만으로 유지될 때 대화가 실시간처럼 느껴집니다. 이는 다음과 같은 분야에서 중요합니다: • 고객 지원 아바타. • 튜터링 에이전트. • 텔레프레즌스 도구. • 인터랙티브 데모.

Wan-Streamer는 아직 0.1 버전입니다. 비디오 품질은 낮습니다. 단일 모델이 안전성이나 신뢰성 문제를 모두 해결하는 것은 아닙니다. 하지만 상호작용 루프의 형태가 중요하다는 것을 증명합니다.

실시간 AI를 구축한다면, 다음 질문들을 던져보십시오: • 별개의 모듈을 하나의 백본(backbone)으로 통합할 수 있는가? • 파이프라인의 어디에서 대기가 발생하는가? • 지연을 줄이기 위해 어떤 부분을 중첩시킬 수 있는가?

실시간 AI에서는 정보가 이동하는 방식 자체가 곧 제품입니다.

Source: https://dev.to/prabhakar_chaudhary_7afe4/why-real-time-ai-assistants-are-hard-and-what-wan-streamer-v01-changes-3m70

Optional learning community: https://t.me/GyaanSetuAi