𝗥𝗮𝘁𝗲 𝗟𝗶𝗺𝗶𝘁𝗶𝗻𝗴 𝗮𝗻𝗱 𝗖𝗶𝗿𝗰𝘂𝗶𝘁 𝗕𝗿𝗲𝗮𝗸𝗲𝗿𝘀 𝗶𝗻 𝗔𝗜 𝗦𝘆𝘀𝘁𝗲𝗺𝘀

डिस्ट्रिब्युटेड (Distributed) AI प्रणाली जटिल असतात. त्या मोठ्या प्रमाणात येणाऱ्या विनंत्या (requests) आणि जड मॉडेल इन्फरन्स (model inference) हाताळतात. तुम्ही GPU क्लस्टर्स, डेटाबेस आणि थर्ड-पार्टी APIs वर अवलंबून असता. एखादा खराब घटक किंवा ट्रॅफिकमध्ये अचानक झालेली वाढ तुमची संपूर्ण प्रणाली क्रॅश करू शकते.

तुमची प्रणाली सुरक्षित ठेवण्यासाठी तुम्हाला दोन साधनांची आवश्यकता आहे: रेट लिमिटिंग (rate limiting) आणि सर्किट ब्रेकर्स (circuit breakers).

रेट लिमिटिंग (Rate Limiting) रेट लिमिटिंग एका वापरकर्त्याला किंवा सेवेला प्रमाणाबाहेर संसाधने (resources) वापरण्यापासून रोखते. यामुळे प्रत्येकाला समान प्रवेश मिळण्याची खात्री मिळते.

सामान्य पद्धती:

AI साठी प्रो टिप: केवळ विनंत्यांवर (requests) नाही, तर टोकनच्या संख्येवर मर्यादा लावा. १० टोकन्स असलेल्या प्रॉम्प्टपेक्षा ४,००० टोकन्स असलेला प्रॉम्प्ट अधिक संसाधने वापरतो.

सर्किट ब्रेकर्स (Circuit Breakers) सर्किट ब्रेकर तुमच्या GPU सर्व्हर किंवा वेक्टर डेटाबेस सारख्या सेवांना केल्या जाणाऱ्या कॉल्सवर लक्ष ठेवतो. जर एखादी सेवा वारंवार अयशस्वी झाली, तर ब्रेकर 'ओपन' होतो. तो त्या सेवेसाठी होणारे सर्व कॉल्स त्वरित थांबवतो. यामुळे संपूर्ण प्रणाली क्रॅश होण्यापासून वाचते.

सर्किट तीन स्थितींमधून (states) जाते:

सर्वोत्तम पद्धती:

Source: https://dev.to/biao_lin_14b493a4944b1361/rate-limiting-and-circuit-breakers-in-distributed-ai-systems-1p56

Optional learning community: https://t.me/GyaanSetuAi