OpenAI એ GPT-Live બનાવ્યું છે, જે એક 'વોઇસ-ફર્સ્ટ' ચેટબોટ છે જે એકસાથે સાંભળે છે અને બોલે છે, જે મોટાભાગના આસિસ્ટન્ટ્સમાં જોવા મળતા અણઘડ “બોલો-પછી-સાંભળો” વિરામ (pauses) ને દૂર કરે છે. આ સેવાનો ઉદ્દેશ્ય વાતચીતને અટકતી-ચાલતી એક્સચેન્જને બદલે માનવીય સંવાદ જેવી પ્રવાહમય બનાવવાનો છે.
જૂનું મોડેલ કેમ ખામીયુક્ત લાગતું હતું
સામાન્ય વોઇસ આસિસ્ટન્ટ્સ વોકી-ટોકીની જેમ કામ કરે છે: તમે વાક્ય પૂરું કરો છો, ઉપકરણ રેકોર્ડ કરે છે, ઓડિયો ક્લાઉડ પર મોકલે છે, પ્રતિસાદની રાહ જુએ છે, અને પછી તેને વગાડે છે. આ રાઉન્ડ-ટ્રિપ નોંધપાત્ર વિલંબ (lag) ઉમેરે છે અને વપરાશકર્તાઓને વચ્ચેથી બોલતા અટકાવવા માટે વિરામ લેવા મજબૂર કરે છે. ઇન્સ્ટન્ટ મેસેજિંગ સાથે ઉછરેલી પેઢી માટે, આ વિલંબ પ્રાચીન લાગે છે.
OpenAI એ turn-less આર્કિટેક્ચર સાથે તેનો જવાબ આપ્યો છે. દરેક સેકન્ડે, GPT-Live નક્કી કરે છે કે સાંભળવાનું ચાલુ રાખવું, બોલવાનું ચાલુ રાખવું અથવા વિરામ લેવો, જે તમને આસિસ્ટન્ટના જવાબની વચ્ચે જ તેને અટકાવવા અથવા સંપૂર્ણ પ્રતિસાદ ચક્રની રાહ જોયા વિના ફોલો-અપ પ્રશ્ન પૂછવાની મંજૂરી આપે છે.
ફુલ-ડુપ્લેક્સ સ્ટેક (full-duplex stack) સરળ શબ્દોમાં
- અલગ ઓડિયો લૂપ અને રીઝનિંગ પાથ – એક fast path સતત ઓડિયો એક્સચેન્જ સંભાળે છે, જ્યારે એક slow path વેબ સર્ચ અથવા ટૂલ કોલ્સ જેવા ભારે કાર્યો કરે છે. જ્યારે slow path કામ કરી રહ્યું હોય ત્યારે fast path વાતચીતને જીવંત રાખે છે, જેનાથી "હું વિચારું ત્યાં સુધી શાંતિ" જેવો કંટાળાજનક સમય દૂર થાય છે.
- WARP પ્રોટોકોલ – પરંપરાગત વેબ કનેક્શનમાં ઓડિયો વહેતા પહેલા અનેક હેન્ડશેક (handshakes) ની જરૂર પડે છે, જે ઘણીવાર છ રાઉન્ડ-ટ્રિપ જેટલું હોય છે. OpenAI નો કસ્ટમ પ્રોટોકોલ આ સ્ટેપ્સને સિંગલ ટ્રિપમાં ઘટાડી દે છે, જેનાથી સેશન શરૂ થવું લગભગ ત્વરિત લાગે છે.
- લેટન્સી (latency) ની સ્થિરતા માટે Python ને બદલે Go નો ઉપયોગ – ટીમે ઝડપી ડેવલપમેન્ટ માટે જાણીતા Python માંથી રિયલ-ટાઇમ ઘટકોને Go માં ખસેડ્યા છે, જે વધુ અનુમાનિત એક્ઝિક્યુશન સમય આપે છે. વોઇસ AI માં, સરેરાશ ઝડપ કરતા સૌથી વધુ વિલંબ (worst-case delay) વધુ મહત્વનો છે; એક નાનકડો અટકાવ પણ અનુભવ બગાડી શકે છે, તેથી સ્થિર લેટન્સી વધુ ફાયદાકારક છે.
- GPU થી આગળ સ્કેલિંગ – કરોડો વપરાશકર્તાઓ સાથે, બોટલનેક (bottleneck) મોડેલના કમ્પ્યુટ કોર્સમાંથી બદલાઈને આસપાસના ઇન્ફ્રાસ્ટ્રક્ચર પર આવી ગયું. OpenAI એ જોયું કે GPUs પહેલાં CPUs અને નેટવર્ક લિંક્સ સંતૃપ્ત (saturated) થઈ જાય છે, તેથી તેઓએ બાકીના સ્ટેક પર ભાર નાખ્યા વિના GPUs ને કાર્યરત રાખવા માટે સ્માર્ટ રૂટિંગ અને કનેક્શન-મેનેજમેન્ટ ઉમેર્યું.
ડેવલપર્સ માટે આનો અર્થ શું છે
- ઓડિયો હેન્ડલિંગને બિઝનેસ લોજિકથી અલગ કરો – માઇક્રોફોન ઇનપુટ અને સ્પીકર આઉટપુટ પ્રોસેસ કરતું એક લાઇટવેઇટ, હંમેશા ચાલુ રહેતું લૂપ રાખો. જે વસ્તુઓ રાહ જોઈ શકે છે—જેમ કે ડેટાબેઝ ક્વેરીઝ, એક્સટર્નલ API કોલ્સ—તેને અલગ થ્રેડ અથવા સર્વિસ પર મોકલી દો.
- લેટન્સી સ્થિરતાને પ્રાધાન્ય આપો – પ્રતિસાદના સમયને માપો, જેમાં માત્ર સરેરાશને બદલે સૌથી વધુ વિલંબ (worst-case delays) પર ધ્યાન કેન્દ્રિત કરો. શેડ્યુલિંગ પર વધુ નિયંત્રણ આપતી ભાષાઓ અને રનટાઇમ્સ (દા.ત., Go, Rust) વધારાના એન્જિનિયરિંગ પ્રયાસ માટે યોગ્ય હોઈ શકે છે.
- કનેક્શન ઓવરહેડ ઘટાડો – દરેક વધારાનું હેન્ડશેક મિલિસેકન્ડ ઉમેરે છે જે સમય જતાં વધી જાય છે. ઓથેન્ટિકેશન, સ્ટ્રીમ નેગોશિયેશન અને કોડેક પસંદગીને સિંગલ એક્સચેન્જમાં ભેગા કરો, અને વપરાશકર્તાઓ તફાવત અનુભવશે.
ટ્રેડ-ઓફ્સ (Trade-offs) અને ખુલ્લા પ્રશ્નો
ફુલ-ડુપ્લેક્સ ડિઝાઇન જટિલતા વધારે છે.
