Dlaczego tworzenie asystentów AI czasu rzeczywistego jest trudne

Tworzenie AI czasu rzeczywistego jest trudne. Większość systemów opiera się na łańcuchu oddzielnych elementów. Jeden element wykrywa głos. Inny konwertuje mowę na tekst. Trzeci generuje odpowiedź. Czwarty zamienia tekst na mowę. Piąty renderuje awatara.

Każde przekazanie danych między tymi elementami dodaje opóźnienia. Każda granica tworzy błędy synchronizacji. Sprawia to, że interakcja wydaje się robotyczna.

Wan-Streamer v0.1 zmienia to podejście. Zamiast oddzielnych usług, wykorzystuje jeden strumieniowy Transformer. Traktuje on dźwięk, wideo i tekst jako jedną pętlę.

Standardowi asystenci działają w następujący sposób: • Użytkownik mówi. • System konwertuje mowę na tekst. • Model tworzy tekstową odpowiedź. • System zamienia tekst na mowę. • Awatar próbuje zsynchronizować ruch ust z dźwiękiem.

Ta metoda jest krucha. Jeśli jeden krok jest powolny, cały system czeka. Jeśli użytkownik przerwie wypowiedź, system często tego nie zauważa.

Wan-Streamer rozwiązuje ten problem poprzez wspólne modelowanie języka, dźwięku i wideo. Wykorzystuje on block-causal attention. Pozwala to modelowi na ciągłą aktualizację swojego stanu. Nie czeka on na zakończenie pełnej tury, zanim podejmie działanie.

System wykorzystuje podział na myśliciela i wykonawcę (thinker-performer split): • Myśliciel zajmuje się percepcją i aktualizacją stanu. • Wykonawca zajmuje się kolejną jednostką generowania.

To nakładanie się procesów zapobiega wzajemnemu blokowaniu się elementów pętli. Model osiąga opóźnienie po stronie modelu wynoszące około 200 ms. Całkowite opóźnienie interakcji utrzymuje się na poziomie około 550 ms.

Gdy czas odpowiedzi utrzymuje się poniżej jednej sekundy, rozmowy sprawiają wrażenie żywych. Ma to znaczenie dla: • Awatarów wsparcia klienta. • Agentów tutoringowych. • Narzędzi teleobecności. • Interaktywnych demonstracji.

Wan-Streamer jest wciąż w wersji 0.1. Jakość wideo jest niska. Pojedynczy model nie rozwiązuje problemów z bezpieczeństwem czy niezawodnością. Dowodzi jednak, że kształt pętli interakcji ma znaczenie.

Jeśli budujesz AI czasu rzeczywistego, zadaj sobie te pytania: • Czy możesz połączyć oddzielne moduły w jeden rdzeń (backbone)? • Gdzie w Twoim potoku (pipeline) występują przestoje? • Które części mogą na siebie nachodzić, aby zmniejszyć opóźnienie?

W AI czasu rzeczywistego produktem jest sposób, w jaki przemieszczają się informacje.

Źródło: https://dev.to/prabhakar_chaudhary_7afe4/why-real-time-ai-assistants-are-hard-and-what-wan-streamer-v01-changes-3m70

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi