محدودیت نرخ (Rate Limiting) و قطع‌کننده‌های مدار (Circuit Breakers) در سیستم‌های هوش مصنوعی

سیستم‌های توزیع‌شده‌ی هوش مصنوعی پیچیده هستند. آن‌ها حجم عظیمی از درخواست‌ها و استنتاج‌های سنگین مدل (model inference) را مدیریت می‌کنند. شما به خوشه‌های GPU، پایگاه‌های داده و APIهای شخص ثالث متکی هستید. یک قطعه‌ی معیوب یا یک جهش ناگهانی در ترافیک می‌تواند کل سیستم شما را از کار بیندازد.

برای محافظت از سیستم خود به دو ابزار نیاز دارید: محدودیت نرخ (rate limiting) و قطع‌کننده‌های مدار (circuit breakers).

محدودیت نرخ (Rate Limiting)

محدودیت نرخ مانع از آن می‌شود که یک کاربر یا سرویس واحد، منابع بیش از حد مصرف کند. این کار دسترسی عادلانه برای همه را تضمین می‌کند.

روش‌های رایج:

نکته حرفه‌ای برای هوش مصنوعی: محدودیت را بر اساس تعداد توکن (token count) اعمال کنید، نه فقط تعداد درخواست‌ها. یک پرامپت با ۴۰۰۰ توکن، منابع بیشتری نسبت به یک پرامپت با ۱۰ توکن مصرف می‌کند.

قطع‌کننده‌های مدار (Circuit Breakers)

یک قطع‌کننده مدار، فراخوانی‌های مربوط به سرویس‌هایی مانند سرور GPU یا پایگاه داده برداری (vector database) شما را نظارت می‌کند. اگر یک سرویس بیش از حد با خطا مواجه شود، قطع‌کننده «باز» (open) می‌شود. این کار بلافاصله تمام فراخوانی‌ها به آن سرویس را متوقف می‌کند و از فروپاشی کامل سیستم جلوگیری می‌کند.

مدار سه حالت دارد:

بهترین روش‌ها:

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

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