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

डिस्ट्रिब्यूटेड AI सिस्टम्स जटिल होते हैं। वे अनुरोधों (requests) की भारी मात्रा और भारी मॉडल इन्फरेंस (model inference) को संभालते हैं। आप GPU क्लस्टर्स, डेटाबेस और थर्ड-पार्टी APIs पर निर्भर होते हैं। एक खराब कंपोनेंट या ट्रैफिक में अचानक उछाल आपके पूरे सिस्टम को क्रैश कर सकता है।

अपने सिस्टम की सुरक्षा के लिए आपको दो टूल्स की आवश्यकता होती है: रेट लिमिटिंग (rate limiting) और सर्किट ब्रेकर्स (circuit breakers)।

रेट लिमिटिंग (Rate Limiting) रेट लिमिटिंग किसी एक यूजर या सर्विस को बहुत अधिक संसाधनों (resources) का उपयोग करने से रोकती है। यह सभी के लिए समान पहुंच (fair access) सुनिश्चित करती है।

सामान्य तरीके:

AI के लिए प्रो टिप: केवल अनुरोधों (requests) के बजाय टोकन काउंट (token count) के आधार पर सीमा निर्धारित करें। 4,000 टोकन वाला एक प्रॉम्प्ट, 10 टोकन वाले प्रॉम्प्ट की तुलना में अधिक संसाधनों का उपयोग करता है।

सर्किट ब्रेकर्स (Circuit Breakers) एक सर्किट ब्रेकर आपके GPU सर्वर या वेक्टर डेटाबेस जैसी सेवाओं को किए जाने वाले कॉल्स (calls) की निगरानी करता है। यदि कोई सेवा बहुत अधिक बार विफल होती है, तो ब्रेकर 'ओपन' (open) हो जाता है। यह तुरंत उस सेवा के सभी कॉल्स को रोक देता है। यह पूरे सिस्टम को क्रैश होने से बचाता है।

सर्किट तीन अवस्थाओं (states) का पालन करता है:

सर्वोत्तम अभ्यास (Best practices):

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

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