तुमचा AI प्रदाता हा एक 'सिंगल पॉइंट ऑफ फेल्युअर' (Single Point of Failure) आहे
गेल्या शुक्रवारी, अमेरिकेच्या वाणिज्य विभागाने (U.S. Commerce Department) Anthropic ला एक पत्र पाठवले. त्याच संध्याकाळपर्यंत, Fable 5 आणि Mythos 5 गायब झाले.
त्यांना 'डिप्रिकेट' (deprecated) करण्यात आले नव्हते. त्यांचा वेग कमी (throttled) करण्यात आला नव्हता. ते फक्त गायब झाले होते.
API कॉल्सनी 404 एरर्स दिले. लाईव्ह सेशन्स संभाषणादरम्यानच अयशस्वी झाले. त्या मॉडेल्सवर अवलंबून असलेले ॲप्लिकेशन्स काम करणे थांबवले. लाँचच्या तीन दिवसांनंतरच हे घडले. कोणतीही पूर्वसूचना किंवा स्थलांतरित (migration) करण्यासाठी वेळ देण्यात आला नव्हता.
आपण नशीबवान होतो कारण ती मॉडेल्स नवीन होती. अजून कोणीही त्यावर सखोल अवलंबित्व (dependencies) निर्माण केले नव्हते. कल्पना करा की, तुम्ही सहा महिने दररोज वापरत असलेल्या मॉडेलसोबत असे घडले तर.
जर सरकारी पत्राने तुमचा मुख्य डेटाबेस बंद पाडता आला, तर तुम्ही 'फेलओव्हर' (failover) शिवाय तो चालवाल का? तुम्ही चालवणार नाही. तरीही, बहुतेक टीम्स AI च्या बाबतीत हेच करतात.
अनेक टीम्स AI कडे विजेसारखे पाहतात. तुम्ही स्विच चालू करता आणि प्रकाश मिळेल अशी अपेक्षा करता. तुम्ही स्त्रोताबद्दल किंवा वीज गेल्यावर काय होईल याबद्दल विचार करत नाही. तुम्ही एक मॉडेल निवडता, एक एंडपॉइंट (endpoint) हार्डकोड करता आणि ते लाँच करता.
हे इंजिनिअरिंग नाही. हे केवळ आशेवर आधारित आर्किटेक्चर (hope-driven architecture) आहे.
मॉडेल्स खालील कारणांमुळे गायब होऊ शकतात:
- नियामक कारणे (Regulatory reasons)
- धोरणात्मक बदल (Policy changes)
- भू-राजकीय मुद्दे (Geopolitical issues)
Anthropic ची परिस्थिती ही कोणतीही त्रुटी (bug) किंवा इन्फ्रास्ट्रक्चरमधील बिघाड नव्हता. तो एक नियामक 'किल स्विच' (regulatory kill switch) होता.
तुम्हाला तुमच्या मॉडेल लेयरमध्ये लवचिकता (resilience) निर्माण करावी लागेल. या पॅटर्नचा वापर करा:
- तुमच्या मॉडेल कॉल्सचे 'ॲबस्ट्रॅक्शन' (Abstract) करा. एक इंटरफेस वापरा जेणेकरून तुमचा ॲप कोणत्या प्रदात्याने प्रतिसाद दिला याबद्दल काळजी करणार नाही.
- अनेक प्रदात्यांचा (multiple providers) वापर करा. प्रदाता बदलणे हे केवळ कॉन्फिगरेशनमधील बदल असावे, संपूर्ण कोड पुन्हा लिहिणे नको.
- ओपन-वेट मॉडेल्सचा (open-weight models) वापर करा. जर तुम्ही मॉडेल स्वतः चालवत असाल, तर कोणीही ते रिमोटली बंद करू शकणार नाही. जेव्हा वीज जाते, तेव्हा हे मॉडेल्स जनरेटरप्रमाणे काम करतात.
- ग्रॅसफुल डिग्रेडेशन (graceful degradation) लागू करा. एखादे ॲप्लिकेशन पूर्णपणे बंद पडण्यापेक्षा, एखादे लहान किंवा जुने मॉडेल वापरणे केव्हाही चांगले.
तुमच्या एरर रेट्सवर (error rates) लक्ष ठेवा. जर त्यात अचानक वाढ झाली, तर लगेच ट्रॅफिक तुमच्या 'फॉलबॅक' (fallback) कडे वळवा.
तुमच्या AI कडे इतर कोणत्याही महत्त्वाच्या प्रोडक्शन डिपेंडन्सीप्रमाणे (production dependency) पहा. अपयशासाठी तयार राहा (Design for failure).
तुमचे आर्किटेक्चर असे गृहीत धरते का की तुमचा प्रदाता अपयशी ठरू शकतो? जर नसेल, तर तुम्ही धोक्यात आहात.
तुम्ही तुमच्या स्टॅकमध्ये मल्टी-प्रॉव्हायडर फॉलबॅक (multi-provider fallback) तयार केले आहे का? मला कमेंट्समध्ये सांगा.
स्रोत: https://dev.to/aws/your-ai-provider-is-a-single-point-of-failure-26i2
पर्यायी लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi