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

ระบบ AI แบบกระจายตัว (Distributed AI systems) มีความซับซ้อน เนื่องจากต้องจัดการกับปริมาณคำขอ (request) มหาศาลและการประมวลผลโมเดล (model inference) ที่หนักหน่วง คุณต้องพึ่งพา GPU clusters, ฐานข้อมูล และ third-party APIs หากมีส่วนประกอบใดส่วนหนึ่งทำงานผิดพลาดหรือมีปริมาณทราฟฟิกพุ่งสูงขึ้นเพียงครั้งเดียว ก็อาจทำให้ระบบทั้งหมดของคุณล่มได้

คุณจำเป็นต้องมีเครื่องมือสองอย่างเพื่อปกป้องระบบของคุณ ได้แก่ rate limiting และ circuit breakers

Rate Limiting Rate limiting ช่วยป้องกันไม่ให้ผู้ใช้หรือบริการใดบริการหนึ่งใช้ทรัพยากรมากเกินไป เพื่อให้มั่นใจว่าทุกคนจะสามารถเข้าถึงทรัพยากรได้อย่างเท่าเทียมกัน

วิธีการที่นิยมใช้:

เคล็ดลับสำหรับ AI: ควรจำกัดด้วยจำนวน token ไม่ใช่แค่จำนวน request เพราะ prompt หนึ่งที่มี 4,000 tokens จะใช้ทรัพยากรมากกว่า prompt ที่มีเพียง 10 tokens

Circuit Breakers Circuit breaker จะคอยตรวจสอบการเรียกใช้งานไปยังบริการต่างๆ เช่น GPU server หรือ vector database หากบริการนั้นล้มเหลวบ่อยเกินไป เบรกเกอร์จะ "เปิด" (open) ซึ่งจะหยุดการเรียกใช้งานไปยังบริการนั้นทันที เพื่อป้องกันไม่ให้ระบบทั้งหมดล่ม

สถานะของวงจรมี 3 รูปแบบ:

แนวทางปฏิบัติที่ดีที่สุด:

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

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