AI सिस्टम की भूलने की बीमारी एक मॉडल की समस्या नहीं है, यह एक इन्फ्रास्ट्रक्चर की समस्या है
एक ऐसा दृश्य है जिससे आर्टिफिशियल इंटेलिजेंस के प्रोडक्ट टीमें बखूबी परिचित हैं। एक उपयोगकर्ता किसी असिस्टेंट के साथ बीस मिनट बिताकर संदर्भ तैयार करता है: बजट, आहार संबंधी प्रतिबंध, वे तारीखें जो बदली नहीं जा सकतीं, उसके परिवार की प्राथमिकताएं। फिर, तीन बारी के बाद, सिस्टम ऐसे व्यवहार करता है जैसे वह बातचीत कभी हुई ही नहीं थी। उपयोगकर्ता सपोर्ट टीम को फोन करता है। सपोर्ट टीम प्रोडक्ट टीम को एस्केलेट करती है। प्रोडक्ट टीम मॉडल प्रदाता को कॉल करती है। और मॉडल प्रदाता, पूरी तरह से सही ठहराते हुए, जवाब देता है कि उसका मॉडल ठीक उसी तरह काम कर रहा था जैसा उसे डिज़ाइन किया गया था।
क्योंकि मॉडल ने कुछ भी नहीं भुलाया। मॉडल को पहली जगह उस जानकारी तक कभी पहुंच ही नहीं मिली थी।
यह अंतर तकनीकी और मामूली लगता है जब तक आप यह नहीं गिनते कि इसकी कीमत क्या है। एंटरप्राइज़ असिस्टेंट में हर निरंतरता की विफलता केवल उपयोगकर्ता की परेशानी नहीं है: यह एक संकेत है कि सिस्टम मॉडल से तर्क करने को कहने से पहले दुनिया को गलत तरीके से पुनर्निर्मित कर रहा है। और जब वह पैटर्न प्रतिदिन हजारों सत्रों तक फैलता है, तो लागत केवल सपोर्ट की संतृप्ति में नहीं मापी जाती। इसे खोए हुए विश्वास में, छोड़े गए वर्कफ्लो में, उस ROI में मापा जाता है जो कभी आता ही नहीं।
अच्छी खबर यह है कि समस्या का समाधान है। बुरी खबर यह है कि अधिकांश संगठनों को अभी भी पता नहीं है कि असली समस्या कहां है।
मॉडल निर्दोष है। पाइपलाइन दोषी है।
बड़े भाषा मॉडल, डिज़ाइन से ही, स्टेटलेस इकाइयां हैं। API के लिए हर कॉल एक स्वतंत्र गणितीय घटना है। मॉडल के पास टर्न के बीच कोई मेमोरी नहीं है, पिछले सत्र तक कोई पहुंच नहीं है, यह जानने का कोई तरीका नहीं है कि उपयोगकर्ता पहले ही कह चुका है कि उसका बजट चार हजार डॉलर है। प्रत्येक टर्न में मॉडल जो देखता है वह ठीक वही है जो सिस्टम उस टर्न में उसे भेजता है, न अधिक न कम।
इसका मतलब है कि निरंतरता का पूरा भ्रम, वह सब कुछ जो एक असिस्टेंट को ऐसा बनाता है जैसे वह "याद रखता है", पूरी तरह से उस पर निर्भर करता है जो अनुरोध मॉडल तक पहुंचने से पहले होता है। उस प्रक्रिया का एक तकनीकी नाम है और इसका रणनीतिक महत्व बढ़ता जा रहा है: संदर्भ पाइपलाइन।
एक अच्छी तरह से निर्मित संदर्भ पाइपलाइन प्रत्येक टर्न में तीन चरण निष्पादित करती है। पहला, हाइड्रेशन: स्टोरेज से प्रासंगिक इतिहास, उपयोगकर्ता के मेटाडेटा, वेक्टर एम्बेडिंग जो पहले कही गई बातों को कैप्चर करते हैं, निकालना। दूसरा, असेंबली: उस कच्चे सामग्री को फ़िल्टर करना, संघनित करना और उसे एक सुसंगत पेलोड में संरचित करना। तीसरा, निष्पादन: उस संकलित पेलोड को अनुमान बिंदु पर भेजना। जब सिस्टम मेमोरी का ढोंग करने में विफल होता है, तो विफलता इन तीन चरणों में से किसी एक में हुई, मॉडल के अंदर नहीं।
इंजीनियरिंग टीमें जो इन विफलताओं का निदान करती हैं, वे चार क्षेत्रों की पहचान करती हैं जहां पाइपलाइन सबसे अधिक बार टूटती है। पहला है खराब रिकवरी: सिस्टम स्टोरेज से सही जानकारी नहीं निकालता। दूसरा है हानिपूर्ण संपीड़न: रोलिंग सारांश सटीक प्रतिबंधों को बेकार सामान्यताओं में तब्दील कर देते हैं। तीसरा है संदर्भ का तनुकरण: मॉडल को बहुत अधिक सामग्री भेजने से प्रासंगिक डेटा शोर के नीचे दब जाता है। चौथा है असेंबली त्रुटियां: गलत क्रम में व्यवस्थित सूचना ब्लॉक, अनुपस्थित सीमांकक, या पुरानी संस्करण जो उपयोगकर्ता के सुधारों से पहले इंजेक्ट हो जाते हैं।
उपयोगकर्ता के दृष्टिकोण से इनमें से हर एक विफलता क्षेत्र एक जैसा दिखता है: एक असिस्टेंट जो भूल गया कि उसे क्या बताया गया था। लेकिन वे स्टैक के पूरी तरह अलग-अलग घटकों की ओर इशारा करते हैं। सिस्टम प्रॉम्प्ट को फिर से लिखकर रिकवरी विफलता को हल करने की कोशिश करना उसी तरह है जैसे किसी ऐसे सर्वर में अधिक RAM जोड़ना जिसकी हार्ड डिस्क भ्रष्ट है।
वह वास्तविक आर्किटेक्चर जो सफल पायलटों को पायलट बने रहने वालों से अलग करती है
एक AI इम्प्लीमेंटेशन जो डेमो में काम करती है उसे वास्तविक उत्पादन भार में काम करने वाली बनाने की छलांग, काफी हद तक, प्रत्येक समस्या की परत के लिए सही मेमोरी आर्किटेक्चर चुनने पर निर्भर करती है। कोई एकल समाधान नहीं है। हर दृष्टिकोण एक बाधा को हल करता है और दूसरी को उत्पन्न करता है।
स्लाइडिंग विंडो, जिसमें अंतिम N संदेश शामिल होते हैं और बाकी को अनदेखा किया जाता है, शून्य-इन्फ्रास्ट्रक्चर विकल्प है। यह घंटों में तैनात हो जाती है। और यह गारंटी देती है कि एक लंबे सत्र की शुरुआत में स्थापित कोई भी प्रतिबंध सक्रिय संदर्भ से गायब हो जाएगा। छोटे, स्टेटलेस लेनदेन को संभालने वाले असिस्टेंट के लिए यह पर्याप्त है। किसी भी ऐसे एंटरप्राइज़ वर्कफ्लो के लिए जिसमें बीस टर्न पहले स्थापित शर्तों पर निर्भर निर्णय होते हैं, यह एक जाल है।
वेक्टर पर सिमेंटिक सर्च आंशिक रूप से उस समस्या को हल करती है। अंतिम N संदेश लेने के बजाय, सिस्टम वर्तमान क्वेरी को एम्बेड करता है और डेटाबेस से ऐतिहासिक रूप से सबसे प्रासंगिक टुकड़े पुनर्प्राप्त करता है। जब कोई उपयोगकर्ता ऐसा कुछ पूछता है जो बातचीत की शुरुआत में कही गई जानकारी पर निर्भर करता है, तो वेक्टर सर्च दर्जनों टर्न बीत जाने के बाद भी उस तक पहुंच सकती है। इसकी लागत मामूली नहीं है: इसके लिए इंडेक्सिंग इन्फ्रास्ट्रक्चर, रैंकिंग थ्रेशोल्ड का कैलिब्रेशन, फ्रेशनेस लॉजिक और रिकवरी प्रदर्शन का निरंतर मूल्यांकन चाहिए। एक वेक्टर डेटाबेस गणितीय निकटता को मैप करता है, परिचालन महत्व को नहीं। यह अंतर स्थायी समायोजन की मांग करता है।
जहां वेक्टर सर्च संरचनात्मक रूप से विफल होती है वह है हार्ड कंस्ट्रेंट में। अधिकतम बजट, खाद्य एलर्जी, खाता संख्या, एक संविदात्मक SLA। ये ऐसी जानकारी के टुकड़े नहीं हैं जिन्हें सिमेंटिक समानता रैंकिंग में प्रतिस्पर्धा करनी चाहिए। ये ऐसे तथ्य हैं जिन्हें सिस्टम को हर टर्न में निश्चितता के साथ इंजेक्ट करने में सक्षम होना चाहिए, बिना यह भरोसा किए कि सर्च उन्हें पुनर्प्राप्त करेगी। एंटिटी स्टोर्स, संरचित डेटाबेस जहां इन कंस्ट्रेंट को असतत और अपडेट करने योग्य फ़ील्ड के रूप में संग्रहीत किया जाता है, निर्धारक रिकवरी के साथ उस समस्या को हल करते हैं। यदि उपयोगकर्ता अपना बजट चार हजार से पांच हजार डॉलर में सुधारता है, तो बैकएंड एक विशिष्ट फ़ील्ड को अपडेट करता है, न कि टेक्स्ट सारांश के अंत में एक सुधार जोड़ता है। मॉडल को हमेशा सही संख्या मिलती है क्योंकि इसे कैसे संग्रहीत किया गया था इसमें कोई अस्पष्टता नहीं है।
जटिल एंटिटी संबंधों के लिए, ग्राफ-आधारित रिकवरी सटीकता की एक और परत जोड़ती है। यदि सिस्टम को यह जानना है कि उपयोगकर्ता की बेटी को मूंगफली से एलर्जी है, उसके जीवनसाथी को खिड़की की तरफ की सीट पसंद है और उसके माता-पिता को जमीनी मंजिल पर कमरा चाहिए, तो एक सिमेंटिक सर्च उन तीन तथ्यों को पुनर्प्राप्त कर सकती है लेकिन यह नज़रअंदाज़ कर सकती है कि कौन सी बाधा किस व्यक्ति पर लागू होती है। एक ग्राफ आर्किटेक्चर उन संबंधों को एंटिटी के बीच स्पष्ट लिंक के रूप में संग्रहीत करती है और रिकवरी के दौरान उन्हें ट्रेस करने की अनुमति देती है। परिचालन ओवरहेड काफी है, ऑन्टोलॉजी डिज़ाइन से लेकर ग्राफ के निरंतर रखरखाव तक, लेकिन स्वास्थ्य, यात्रा या वित्तीय सेवाओं जैसे क्षेत्रों में, जहां कंस्ट्रेंट प्रकृति से संबंधात्मक हैं, वह जटिलता वैकल्पिक नहीं है।
उत्पादन में सबसे मज़बूत आर्किटेक्चर इन परतों को एक टियर्ड स्टैक में जोड़ती है: तत्काल बातचीत के प्रवाह को बनाए रखने के लिए हाल के टर्न का बफर, मध्यम अवधि के सत्र तथ्यों और पिवट के लिए एक वेक्टर परत, और दीर्घकालिक उपयोगकर्ता प्रोफाइल और प्राथमिकताओं के लिए एक संरचित डेटाबेस। उस स्टैक के ऊपर, एक संदर्भ राउटर तय करता है, संदेश के प्रकार के आधार पर, कौन सी परतें सक्रिय करनी हैं। एक साधारण पुष्टिकरण संदेश को किसी डेटाबेस से परामर्श करने की आवश्यकता नहीं है। एक आरक्षण अनुरोध एंटिटी स्टोर, हाल के इतिहास और टूल स्थिति को सक्रिय करता है। लक्ष्य सबसे भारी संभव पाइपलाइन नहीं है। लक्ष्य सबसे चयनात्मक संभव पाइपलाइन है।
वह ऑब्ज़र्वेबिलिटी जिसे कोई नहीं बनाता जब तक सिस्टम उत्पादन में विफल नहीं हो जाता
एक पैटर्न है जो इतनी बार दोहराता है कि इसे संरचनात्मक माना जाए। एक टीम एक असिस्टेंट तैनात करती है, उपयोगकर्ताओं की रिपोर्ट मिलती है जो कहते हैं कि सिस्टम "याद नहीं रखता", और तत्काल प्रतिक्रिया सिस्टम निर्देशों को फिर से लिखना है। कैपिटल लेटर्स में वाक्यांश जोड़े जाते हैं: "हमेशा उपयोगकर्ता का बजट याद रखें।" व्यवहार में सुधार नहीं होता। मॉडल को एक महंगे संस्करण में अपग्रेड किया जाता है। व्यवहार में अभी भी सुधार नहीं होता। अंततः कोई उस सटीक पेलोड की जांच करता है जो विफलता के क्षण में मॉडल तक पहुंचा था और पता चलता है कि बजट कभी डेटाबेस से पुनर्प्राप्त नहीं हुआ था, या पुनर्प्राप्त हुआ लेकिन असेंबली से पहले फ़िल्टर कर दिया गया था, या शामिल था लेकिन तीस हजार टोकन के प्रॉम्प्ट के अंत में रखा गया था जहां मॉडल ने प्रभावी रूप से इसे प्रोसेस नहीं किया।
इनमें से प्रत्येक परिदृश्य एक पूरी तरह से अलग हस्तक्षेप की मांग करता है। अनुमान के क्षण में पाइपलाइन की सटीक स्थिति पर दृश्यता के बिना, निदान अनुमान लगाना है। और AI सिस्टम में अनुमान लगाने की एक कीमत है: बर्बाद इंजीनियरिंग समय, प्रॉम्प्ट पुनरावृत्तियां जो कुछ भी हल नहीं करतीं, और उपयोगकर्ता विश्वास का संचित क्षरण जबकि तकनीकी टीम स्टैक की गलत जगह पर काम कर रही है।
निर्धारक ट्रेसिंग इसे हल करती है। संकलित पूर्ण प्रॉम्प्ट को, सक्रिय रूटिंग निर्णयों और टूल के कच्चे आउटपुट के साथ, अनुमान से ठीक पहले के क्षण में रिकॉर्ड करना। उस दृश्यता के साथ, निदान का सवाल "मॉडल ने ऐसा व्यवहार क्यों किया" से बदलकर "मॉडल को वास्तव में क्या मिला" हो जाता है। यह रिक्वेस्ट लॉग्स के साथ और उनके बिना एक माइक्रोसर्विस को डिबग करने के बीच का अंतर है।
ऑफलाइन मूल्यांकन उत्पादन में ट्रेसिंग का पूरक है। मल्टी-टर्न बातचीत के साथ परीक्षण सेट बनाना जहां सही उत्तर सत्र की शुरुआत में स्थापित कंस्ट्रेंट पर निर्भर करता है, यह मापने की अनुमति देता है, तैनाती से पहले, कि सिस्टम उन डेटा को सही तरीके से पुनर्प्राप्त और उपयोग करता है या नहीं। इस संदर्भ में जो मेट्रिक्स मायने रखती हैं वे मॉडल बेंचमार्क मेट्रिक्स नहीं हैं: वे हैं रिकवरी हिट रेट, मेमोरी रिकॉल सटीकता, इंजेक्टेड संदर्भ का वास्तविक उपयोग और रिकवरी परतों की संचित विलंबता। उन मेट्रिक्स के बिना, टीमें ऐसे प्रॉक्सी को ऑप्टिमाइज़ करती हैं जो अलग-थलग परीक्षण में अच्छे दिखते हैं लेकिन पूरे सिस्टम के व्यवहार की भविष्यवाणी नहीं करते।
प्रतिस्पर्धात्मक लाभ अब उस मॉडल में नहीं है जिसे आपने चुना
जैसे-जैसे फ्रंटियर मॉडल तर्क क्षमताओं में एकसमान होते जा रहे हैं, भेदभाव उनके आसपास की इन्फ्रास्ट्रक्चर की ओर स्थानांतरित हो रहा है। वह संगठन जिसने 2023 में सबसे बड़ा मॉडल तैनात किया उसके पास उस व्यक्ति पर अब कोई संरचनात्मक लाभ नहीं है जिसने एक छोटा लेकिन अधिक सटीक संदर्भ पाइपलाइन वाला मॉडल तैनात किया। एंटरप्राइज़ डेटा टीमों द्वारा प्रकाशित शोध संरचित संदर्भ परतों के बिना स्कीमा पर काम करने वाले सिस्टम और शासित संदर्भ परतों वाले सिस्टम के बीच उत्तर सटीकता में पर्याप्त अंतर दिखाता है, ऐसे अंतर जिन्हें कोई भी प्रॉम्प्ट समायोजन क्षतिपूर्ति नहीं कर सकता।
प्रोडक्ट के रणनीतिक नियोजन के लिए इसका क्या अर्थ है, यह मामूली नहीं है। पहला, मॉडल प्रदाता का चुनाव मेमोरी आर्किटेक्चर से कम निर्धारक बन जाता है। दूसरा, जिन टीमों ने अपनी संदर्भ परत को अपने और खुले इन्फ्रास्ट्रक्चर पर बनाया है उनके पास पोर्टेबिलिटी है: वे अपने ज्ञान प्रतिनिधित्व को पुनर्निर्मित किए बिना मॉडल बदल सकते हैं। जिन टीमों ने अपने कंस्ट्रेंट को सीधे मालिकाना प्रॉम्प्ट में इंजेक्ट किया है उनके पास वह लचीलापन नहीं है। तीसरा, संदर्भ शासन, एंटिटी स्टोर के किस फ़ील्ड को कौन किस शर्त के तहत किस ऑडिट के साथ अपडेट कर सकता है, एक संगठनात्मक आर्किटेक्चर का सवाल बन जाता है जिसे प्रोडक्ट टीमें डेटा टीमों को अनिश्चित काल के लिए नहीं सौंप सकतीं।
अंतिम उपयोगकर्ता के लिए जो असिस्टेंट सबसे अधिक सक्षम लगता है वह जरूरी नहीं कि सबसे अधिक पैरामीटर वाले मॉडल पर चले। यह आमतौर पर वह होता है जिसके पीछे राज्य प्रबंधन की सबसे कठोर प्रणाली होती है। यही स्पष्ट बुद्धिमत्ता और पैमाने पर टिकाऊ बुद्धिमत्ता के बीच का अंतर है। और दूसरे को बनाने के लिए संदर्भ पाइपलाइन के साथ किसी भी अन्य महत्वपूर्ण इन्फ्रास्ट्रक्चर घटक पर लागू इंजीनियरिंग अनुशासन के समान स्तर के साथ व्यवहार करना आवश्यक है: इंटरफ़ेस कॉन्ट्रैक्ट, स्कीमा वेलिडेशन, वर्शनिंग और स्थायी ऑब्ज़र्वेबिलिटी के साथ।
जो संगठन संदर्भ विफलताओं को मॉडल विफलताओं के रूप में निदान करते रहेंगे, वे स्टैक के उस हिस्से में निवेश करते रहेंगे जिसे इसकी सबसे कम आवश्यकता है।










