AI ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಮತ್ತು ಸರ್ಕ್ಯೂಟ್ ಬ್ರೇಕರ್‌ಗಳು

ವಿತರಿಸಿದ (Distributed) AI ವ್ಯವಸ್ಥೆಗಳು ಸಂಕೀರ್ಣವಾಗಿವೆ. ಅವು ಬೃಹತ್ ಪ್ರಮಾಣದ ವಿನಂತಿಗಳನ್ನು (requests) ಮತ್ತು ಭಾರೀ ಮಾಡೆಲ್ ಇನ್ಫರೆನ್ಸ್ (model inference) ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ. ನೀವು GPU ಕ್ಲಸ್ಟರ್‌ಗಳು, ಡೇಟಾಬೇಸ್‌ಗಳು ಮತ್ತು ಥರ್ಡ್-ಪಾರ್ಟಿ API ಗಳ ಮೇಲೆ ಅವಲಂಬಿತರಾಗಿರುತ್ತೀರಿ. ಒಂದು ಕೆಟ್ಟ ಘಟಕ ಅಥವಾ ಟ್ರಾಫಿಕ್ ಏರಿಕೆ ನಿಮ್ಮ ಇಡೀ ವ್ಯವಸ್ಥೆಯನ್ನು ಕುಸಿಯುವಂತೆ ಮಾಡಬಹುದು.

ನಿಮ್ಮ ವ್ಯವಸ್ಥೆಯನ್ನು ರಕ್ಷಿಸಲು ನಿಮಗೆ ಎರಡು ಪರಿಕರಗಳ ಅಗತ್ಯವಿದೆ: ರೇಟ್ ಲಿಮಿಟಿಂಗ್ (rate limiting) ಮತ್ತು ಸರ್ಕ್ಯೂಟ್ ಬ್ರೇಕರ್‌ಗಳು (circuit breakers).

ರೇಟ್ ಲಿಮಿಟಿಂಗ್ (Rate Limiting) ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಒಬ್ಬ ವ್ಯಕ್ತಿ ಅಥವಾ ಸೇವೆಯು ಅತಿಯಾದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸದಂತೆ ತಡೆಯುತ್ತದೆ. ಇದು ಎಲ್ಲರಿಗೂ ಸಮಾನವಾದ ಪ್ರವೇಶವನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.

ಸಾಮಾನ್ಯ ವಿಧಾನಗಳು:

AI ಗಾಗಿ ಪ್ರೊ ಟಿಪ್ (Pro tip): ಕೇವಲ ವಿನಂತಿಗಳ ಮೂಲಕವಲ್ಲದೆ, ಟೋಕನ್ ಸಂಖ್ಯೆಯ ಮೂಲಕ ಮಿತಿ ನಿಗದಿಪಡಿಸಿ. 10 ಟೋಕನ್‌ಗಳಿರುವ ಪ್ರಾಂಪ್ಟ್‌ಗಿಂತ 4,000 ಟೋಕನ್‌ಗಳಿರುವ ಒಂದು ಪ್ರಾಂಪ್ಟ್ ಹೆಚ್ಚು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸುತ್ತದೆ.

ಸರ್ಕ್ಯೂಟ್ ಬ್ರೇಕರ್‌ಗಳು (Circuit Breakers) ಸರ್ಕ್ಯೂಟ್ ಬ್ರೇಕರ್ ನಿಮ್ಮ GPU ಸರ್ವರ್ ಅಥವಾ ವೆಕ್ಟರ್ ಡೇಟಾಬೇಸ್‌ನಂತಹ ಸೇವೆಗಳಿಗೆ ಮಾಡುವ ಕರೆಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ. ಒಂದು ವೇಳೆ ಸೇವೆ ಪದೇ ಪದೇ ವಿಫಲವಾದರೆ, ಬ್ರೇಕರ್ ತೆರೆಯುತ್ತದೆ (opens). ಇದು ಆ ಸೇವೆಗೆ ಮಾಡುವ ಎಲ್ಲಾ ಕರೆಗಳನ್ನು ತಕ್ಷಣವೇ ನಿಲ್ಲಿಸುತ್ತದೆ. ಇದು ಇಡೀ ವ್ಯವಸ್ಥೆಯ ಕುಸಿತವನ್ನು ತಡೆಯುತ್ತದೆ.

ಸರ್ಕ್ಯೂಟ್ ಮೂರು ಸ್ಥಿತಿಗಳನ್ನು ಅನುಸರಿಸುತ್ತದೆ:

ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು:

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

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