𝗥𝗮𝘁𝗲 𝗟𝗶𝗺𝗶𝘁𝗶𝗻𝗴 𝗮𝗻𝗱 𝗖𝗶𝗿𝗰𝘂𝗶𝘁 𝗕𝗿𝗲𝗮𝗸𝗲𝗿𝘀 𝗶𝗻 𝗔𝗜 𝗦𝘆𝘀𝘁𝗲𝗺𝘀
डिस्ट्रिब्युटेड (Distributed) AI प्रणाली जटिल असतात. त्या मोठ्या प्रमाणात येणाऱ्या विनंत्या (requests) आणि जड मॉडेल इन्फरन्स (model inference) हाताळतात. तुम्ही GPU क्लस्टर्स, डेटाबेस आणि थर्ड-पार्टी APIs वर अवलंबून असता. एखादा खराब घटक किंवा ट्रॅफिकमध्ये अचानक झालेली वाढ तुमची संपूर्ण प्रणाली क्रॅश करू शकते.
तुमची प्रणाली सुरक्षित ठेवण्यासाठी तुम्हाला दोन साधनांची आवश्यकता आहे: रेट लिमिटिंग (rate limiting) आणि सर्किट ब्रेकर्स (circuit breakers).
रेट लिमिटिंग (Rate Limiting) रेट लिमिटिंग एका वापरकर्त्याला किंवा सेवेला प्रमाणाबाहेर संसाधने (resources) वापरण्यापासून रोखते. यामुळे प्रत्येकाला समान प्रवेश मिळण्याची खात्री मिळते.
सामान्य पद्धती:
- टोकन बकेट (Token Bucket): AI साठी सर्वोत्तम. हे सरासरी स्थिर ठेवून थोड्या काळासाठी कामाचा वेग वाढवण्याची परवानगी देते.
- लीकी बकेट (Leaky Bucket): विनंत्यांचा प्रवाह स्थिर ठेवते.
- फिक्स्ड विंडो (Fixed Window): सोपी पद्धत आहे, परंतु नवीन विंडोच्या सुरुवातीला ट्रॅफिकमध्ये अचानक वाढ होऊ शकते.
- स्लाइडिंग विंडो (Sliding Window): फिक्स्ड विंडोपेक्षा अधिक अचूक आहे.
AI साठी प्रो टिप: केवळ विनंत्यांवर (requests) नाही, तर टोकनच्या संख्येवर मर्यादा लावा. १० टोकन्स असलेल्या प्रॉम्प्टपेक्षा ४,००० टोकन्स असलेला प्रॉम्प्ट अधिक संसाधने वापरतो.
सर्किट ब्रेकर्स (Circuit Breakers) सर्किट ब्रेकर तुमच्या GPU सर्व्हर किंवा वेक्टर डेटाबेस सारख्या सेवांना केल्या जाणाऱ्या कॉल्सवर लक्ष ठेवतो. जर एखादी सेवा वारंवार अयशस्वी झाली, तर ब्रेकर 'ओपन' होतो. तो त्या सेवेसाठी होणारे सर्व कॉल्स त्वरित थांबवतो. यामुळे संपूर्ण प्रणाली क्रॅश होण्यापासून वाचते.
सर्किट तीन स्थितींमधून (states) जाते:
- क्लोज्ड (Closed): सर्व काही सामान्यपणे काम करत आहे.
- ओपन (Open): सेवा अयशस्वी होत आहे. कॉल्स त्वरित फेल होतात किंवा फॉलबॅक (fallback) वापरले जातात.
- हाफ-ओपन (Half-Open): प्रणाली सेवा पुन्हा पूर्ववत झाली आहे की नाही हे तपासण्यासाठी तिची चाचणी घेते.
सर्वोत्तम पद्धती:
- संथ कॉल्सचा मागोवा घ्या. जर एखादे LLM खूप वेळ घेत असेल, तर त्याला अपयश (failure) समजावे.
- त्रुटींचे (error) प्रकार वेगळे करा. '400 Bad Request' सारख्या वापरकर्त्याच्या त्रुटींसाठी ब्रेकर ट्रिप करू नका. केवळ कनेक्शन एरर किंवा टाइमआउटसाठीच तो ट्रिप करा.
Optional learning community: https://t.me/GyaanSetuAi