𝗥𝗮𝘁𝗲 𝗟𝗶𝗺𝗶𝘁𝗶𝗻𝗴 𝗮𝗻𝗱 𝗖𝗶𝗿𝗰𝘂𝗶𝘁 𝗕𝗿𝗲𝗮𝗸𝗲𝗿𝘀 𝗶𝗻 𝗔𝗜 𝗦𝘆𝘀𝘁𝗲𝗺𝘀
ডিস্ট্রিবিউটেড AI সিস্টেমগুলো বেশ জটিল। এগুলো বিশাল পরিমাণ রিকোয়েস্ট ভলিউম এবং ভারী মডেল ইনফারেন্স (model inference) হ্যান্ডেল করে। আপনি GPU ক্লাস্টার, ডাটাবেস এবং থার্ড-পার্টি API-এর ওপর নির্ভর করেন। একটি ত্রুটিপূর্ণ কম্পোনেন্ট বা ট্র্যাফিকের হঠাৎ বৃদ্ধি আপনার পুরো সিস্টেমকে ক্র্যাশ করাতে পারে।
আপনার সিস্টেমকে সুরক্ষিত রাখতে দুটি টুলের প্রয়োজন: rate limiting এবং circuit breakers।
Rate Limiting Rate limiting কোনো একক ব্যবহারকারী বা সার্ভিসকে অতিরিক্ত রিসোর্স ব্যবহার করা থেকে বিরত রাখে। এটি সবার জন্য সমান সুযোগ বা ফেয়ার অ্যাক্সেস নিশ্চিত করে।
সাধারণ পদ্ধতিসমূহ:
- Token Bucket: AI-এর জন্য সবচেয়ে উপযোগী। এটি একটি স্থিতিশীল গড় বজায় রেখে কাজের স্বল্পস্থায়ী বৃদ্ধি (short bursts) অনুমোদন করে।
- Leaky Bucket: রিকোয়েস্টের একটি অবিচ্ছিন্ন প্রবাহ বজায় রাখে।
- Fixed Window: সহজ কিন্তু একটি নতুন উইন্ডোর শুরুতে ট্র্যাফিকের হঠাৎ বৃদ্ধি ঘটাতে পারে।
- Sliding Window: Fixed window-এর তুলনায় বেশি নির্ভুল।
AI-এর জন্য প্রো টিপ: শুধুমাত্র রিকোয়েস্ট নয়, বরং টোকেন কাউন্ট (token count) অনুযায়ী লিমিট সেট করুন। ১০টি টোকেন বিশিষ্ট একটি প্রম্পটের চেয়ে ৪,০০০ টোকেন বিশিষ্ট একটি প্রম্পট অনেক বেশি রিসোর্স ব্যবহার করে।
Circuit Breakers একটি circuit breaker আপনার GPU সার্ভার বা vector database-এর মতো সার্ভিসগুলোতে করা কলগুলো মনিটর করে। যদি কোনো সার্ভিস বারবার ব্যর্থ হয়, তবে ব্রেকারটি 'open' হয়ে যায়। এটি তাৎক্ষণিকভাবে সেই সার্ভিসে সমস্ত কল পাঠানো বন্ধ করে দেয়। এটি পুরো সিস্টেম ক্র্যাশ হওয়া থেকে রক্ষা করে।
সার্কিটটি তিনটি অবস্থার মধ্য দিয়ে যায়:
- Closed: সবকিছু স্বাভাবিকভাবে কাজ করছে।
- Open: সার্ভিসটি ব্যর্থ হচ্ছে। কলগুলো দ্রুত ব্যর্থ হয় অথবা একটি fallback ব্যবহার করা হয়।
- Half-Open: সিস্টেমটি সার্ভিসটি রিকভার করেছে কি না তা পরীক্ষা করার জন্য এটি টেস্ট করে।
সেরা অনুশীলনসমূহ (Best practices):
- স্লো কলগুলো ট্র্যাক করুন। যদি একটি LLM অনেক বেশি সময় নেয়, তবে সেটিকে একটি ব্যর্থতা হিসেবে গণ্য করুন।
- এরর টাইপগুলো আলাদা করুন। 400 Bad Request-এর মতো ইউজার এররের জন্য ব্রেকারটি ট্রিগার করবেন না। শুধুমাত্র কানেকশন এরর বা টাইমআউটের জন্য এটি ট্রিগার করুন।
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi