Anapus SIP magistralės: balso agento delsos mažinimas iki mažiau nei 300 ms
May 20, 2024
•min read
Engineering
Parengė „IdentityCall” DI komanda | Inžinerija | 8 min skaitymo
Naujasis delsos standartas
2024 m. balso agentų „Tiuringo testas” susijęs ne tik su intelektu, bet ir su greičiu. Ankstesnis 800 ms–1 s delsos standartas (būdingas debesija grįstoms LLM grandinėms) nebėra priimtinas didelės rizikos sąveikoms su klientais. Vartotojai delsą >500 ms suvokia kaip „robotišką” ar „sugedusią”, o tai lemia kalbėjimą vienas per kitą ir nusivylimą.
Naujasis aukso standartas – kalbėjimosi eiliškumo perdavimas per mažiau nei 300 ms. Šiame straipsnyje nagrinėjami architektūriniai pokyčiai, reikalingi jam pasiekti.
Butelio kaklelis: tradicinės debesijos grandinės
Tradicinė balso DI sistema atrodo taip:
- VAD (balso aktyvumo aptikimas) laukia tylos (200–500 ms).
- Garso įkėlimas į debesiją (100 ms).
- ASR (transkripcija) apdoroja visą pasakymą (200–400 ms).
- LLM išvedimas generuoja tokenų srautą (200–800 ms).
- TTS (sintezė) generuoja garsą iš teksto (200–400 ms).
- Garso atsisiuntimas ir atkūrimas (100 ms).
Bendra delsa: 1.5 s–2.5 s. Būtent todėl jūsų pirmosios kartos balso botas atrodė lėtas.
Sprendimas: srautinio perdavimo ir edge architektūros
1. Spekuliatyvus vykdymas ir srautinis ASR
Nelaukite tylos. Šiuolaikinės architektūros naudoja srautinį ASR, kuris siunčia dalines transkripcijas LLM, kol vartotojas dar tebekalba.
- Technika: LLM pradeda numatyti atsakymą pagal pirmuosius 80 % sakinio.
- Sauga: „įsipareigojimo vartai” užtikrina, kad botas neprabiltų, kol ketinimas nebus aiškus, tačiau tokenai jau būna sugeneruoti iš anksto.
2. Edge DI ir vietinis VAD
Perkėlus balso aktyvumo aptikimą (VAD) į edge (arba telefonijos tiekėjo vietinį mazgą), sutaupomas kritinis abipusės kelionės laikas.
- Poveikis: sumažina 100–200 ms tinklo virpėjimo (jitter).
- Įgyvendinimas: WebAssembly (Wasm) VAD moduliai, veikiantys tiesiai naršyklėje ar telefonijos edge.
3. TTFT (laiko iki pirmojo tokeno) optimizavimas
Pačiam LLM optimizuojame laiką iki pirmojo tokeno.
- Kvantavimas: naudojant 4 bitų kvantuotus modelius (pvz., Llama-3-8B-Int4), drastiškai padidėja išvedimo greitis su nereikšmingu tikslumo praradimu pokalbių užduotyse.
- Talpykla: semantinė talpykla saugo atsakymus į dažnus pasisveikinimus („Sveiki”, „Kas skambina?”), kad juos pateiktų akimirksniu (0 ms išvedimo).
Architektūros diagrama (Mermaid)
sequenceDiagram
participant User
participant Edge_VAD
participant Cloud_LLM
participant TTS_Engine
User->>Edge_VAD: Speaks "I need to reset..."
Edge_VAD->>Cloud_LLM: Stream: "I need to reset..."
Cloud_LLM->>Cloud_LLM: Pre-fetch "Reset Password flow"
User->>Edge_VAD: "...my password"
Edge_VAD->>Cloud_LLM: Stream: "...my password" [EOS]
Cloud_LLM->>TTS_Engine: Stream Tokens (Immediate)
TTS_Engine->>User: Audio Stream (Sub-300ms)
Išvada
Mažesnė nei 300 ms delsa „balso botą” paverčia „balso agentu”. Atsisakydami griežtų užklausos–atsakymo ciklų ir pereidami prie sklandžių srautinio perdavimo architektūrų, kuriame patirtis, kurios atrodo nepaprastai žmogiškos.
Pasiruošę kurti greitesnius agentus? Susipažinkite su mūsų API dokumentacija dėl srautinio perdavimo galinių taškų.
Tags:
