OpenAI ने GPT-Live तयार केले आहे, जे एक 'व्हॉइस-फर्स्ट' चॅटबॉट आहे जे एकाच वेळी ऐकते आणि बोलते, ज्यामुळे बहुतेक असिस्टंट्समध्ये आढळणारे अडखळणारे “बोलणे आणि मग ऐकणे” (talk-then-listen) असे विराम काढून टाकले आहेत. या सेवेचा उद्देश थांबून-थांबून होणाऱ्या संवादाऐवजी मानवी संवादासारखा प्रवाही संवाद साधणे हा आहे.
जुने मॉडेल का दोषपूर्ण वाटत होते
सामान्य व्हॉइस असिस्टंट्स वॉक-टॉकीसारखे काम करतात: तुम्ही वाक्य पूर्ण करता, डिव्हाइस रेकॉर्ड करते, ऑडिओ क्लाउडवर पाठवते, प्रतिसादाची प्रतीक्षा करते आणि नंतर तो प्ले करते. या 'राउंड-ट्रिप'मुळे लक्षणीय विलंब (lag) निर्माण होतो आणि वापरकर्त्यांना मध्येच बोलण्यापूर्वी थांबण्यास भाग पाडले जाते. इन्स्टंट मेसेजिंगच्या युगात वाढलेल्या पिढीसाठी, हा विलंब जुनाट वाटतो.
OpenAI ने turn-less आर्किटेक्चरसह याचे उत्तर दिले आहे. प्रत्येक सेकंदाला, GPT-Live ठरवते की पुढे ऐकत राहावे, बोलत राहावे की थांबवे, ज्यामुळे तुम्ही असिस्टंटला उत्तराच्या मध्येच थांबवू शकता किंवा पूर्ण प्रतिसादाची प्रतीक्षा न करता फॉलो-अप प्रश्न विचारू शकता.
फुल-ड्युप्लेक्स स्टॅक सोप्या भाषेत
- वेगळे ऑडिओ लूप आणि रिझनिंग पाथ – एक fast path सतत ऑडिओ एक्सचेंज हाताळतो, तर slow path वेब सर्च किंवा टूल कॉल्स सारखी जड कामे करतो. स्लो पाथ काम करत असताना फास्ट पाथ संवाद जिवंत ठेवतो, ज्यामुळे "मी विचार करत असताना होणारी शांतता" या त्रासातून सुटका मिळते.
- WARP प्रोटोकॉल – पारंपारिक वेब कनेक्शन्समध्ये ऑडिओ प्रवाहित होण्यापूर्वी अनेक 'हँडशेक्स'ची आवश्यकता असते, जे अनेकदा सहा राउंड-ट्रिप्स इतके असतात. OpenAI चा कस्टम प्रोटोकॉल या पायऱ्या एकाच ट्रिपमध्ये एकत्रित करतो, ज्यामुळे सेशनची सुरुवात जवळजवळ तात्काळ झाल्यासारखी वाटते.
- लॅटन्सी सातत्यासाठी Python ऐवजी Go चा वापर – टीमने रिअल-टाइम घटक जलद विकासासाठी प्रसिद्ध असलेल्या Python कडून Go कडे वळवले आहेत, जे अधिक अंदाजित (predictable) एक्झिक्यूशन टाइम देते. व्हॉइस AI मध्ये, सरासरी वेगापेक्षा 'वर्स्ट-केस' विलंब अधिक महत्त्वाचा असतो; एक छोटासा अडथळाही संवादाचा अनुभव बिघडवतो, म्हणून सातत्यपूर्ण लॅटन्सी (latency) महत्त्वाची ठरते.
- GPU च्या पलीकडे स्केलिंग – कोट्यवधी वापरकर्त्यांमुळे, अडथळा (bottleneck) मॉडेलच्या कम्प्युट कोअर्सकडून बाजूच्या इन्फ्रास्ट्रक्चरकडे सरकला. OpenAI ला असे आढळले की GPUs च्या आधी CPUs आणि नेटवर्क लिंक्स संपत (saturated) होत्या, म्हणून त्यांनी उर्वरित स्टॅकवर ताण न देता GPUs ला सतत कार्यक्षम ठेवण्यासाठी अधिक स्मार्ट राउटिंग आणि कनेक्शन-मॅनेजमेंट जोडले.
डेव्हलपर्ससाठी याचा अर्थ काय
- ऑडिओ हँडलिंगला बिझनेस लॉजिकपासून वेगळे करा – मायक्रोफोन इनपुट आणि स्पीकर आउटपुट प्रोसेस करण्यासाठी एक हलके (lightweight) आणि नेहमी चालू राहणारे लूप ठेवा. जे काही थांबवता येऊ शकते—जसे की डेटाबेस क्वेरी, एक्सटर्नल API कॉल्स—ते वेगळ्या थ्रेड किंवा सर्व्हिसवर सोपवा.
- लॅटन्सी स्थिरतेला प्राधान्य द्या – केवळ सरासरी वेगावर लक्ष केंद्रित न करता, 'वर्स्ट-केस' विलंब मोजण्यावर भर द्या. शेड्युलिंगवर अधिक नियंत्रण देणाऱ्या भाषा आणि रनटाइम (उदा. Go, Rust) अतिरिक्त इंजिनिअरिंग प्रयत्नांसाठी योग्य ठरू शकतात.
- कनेक्शन ओव्हरहेड कमी करा – प्रत्येक अतिरिक्त हँडशेक मिलिसेकंद वाढवतो, जे कालांतराने मोठे होतात. ऑथेंटिकेशन, स्ट्रीम निगोशिएशन आणि कोडेक सिलेक्शन या सर्वांना एकाच एक्सचेंजमध्ये एकत्रित करा, आणि वापरकर्त्यांना त्यातील फरक जाणवेल.
तडजोडी आणि उघडे प्रश्न
फुल-ड्युप्लेक्स डिझाइनमुळे जटिलता वाढते.
