Had Kadar dan Pemutus Litar dalam Sistem AI
Sistem AI teragih adalah kompleks. Ia mengendalikan volum permintaan yang besar dan inferens model yang berat. Anda bergantung kepada kluster GPU, pangkalan data, dan API pihak ketiga. Satu komponen yang bermasalah atau lonjakan trafik boleh menyebabkan keseluruhan sistem anda tergendala.
Anda memerlukan dua alatan untuk melindungi sistem anda: had kadar (rate limiting) dan pemutus litar (circuit breakers).
Had Kadar (Rate Limiting) Had kadar menghalang pengguna atau perkhidmatan tunggal daripada menggunakan terlalu banyak sumber. Ia memastikan akses yang adil untuk semua orang.
Kaedah biasa:
- Token Bucket: Terbaik untuk AI. Ia membenarkan lonjakan aktiviti yang singkat sambil mengekalkan purata yang stabil.
- Leaky Bucket: Mengekalkan aliran permintaan yang berterusan.
- Fixed Window: Mudah tetapi boleh menyebabkan lonjakan pada permulaan tetingkap baharu.
- Sliding Window: Lebih tepat berbanding tetingkap tetap (fixed windows).
Tip pro untuk AI: Hadkan mengikut jumlah token, bukan sekadar permintaan. Satu prom dengan 4,000 token menggunakan lebih banyak sumber berbanding prom dengan 10 token.
Pemutus Litar (Circuit Breakers) Pemutus litar memantau panggilan ke perkhidmatan seperti pelayan GPU atau pangkalan data vektor anda. Jika sesuatu perkhidmatan gagal terlalu kerap, pemutus litar akan terbuka. Ia menghentikan semua panggilan ke perkhidmatan tersebut dengan serta-merta. Ini dapat mengelakkan kegagalan sistem secara menyeluruh.
Litar tersebut mengikut tiga keadaan:
- Tertutup (Closed): Semuanya berfungsi seperti biasa.
- Terbuka (Open): Perkhidmatan sedang gagal. Panggilan akan gagal dengan cepat atau menggunakan kaedah sandaran (fallback).
- Separuh Terbuka (Half-Open): Sistem menguji perkhidmatan tersebut untuk melihat jika ia telah pulih.
Amalan terbaik:
- Jejaki panggilan yang perlahan. Jika LLM mengambil masa terlalu lama, anggap ia sebagai kegagalan.
- Asingkan jenis ralat. Jangan aktifkan pemutus litar untuk ralat pengguna seperti 400 Bad Request. Aktifkan ia hanya untuk ralat sambungan atau tamat masa (timeouts).
Komuniti pembelajaran pilihan: https://t.me/GyaanSetuAi