نشت داده بین کاربرها توی مدل GLM-5.3 در Workers AI کلادفلر
خلاصهٔ کاملتر
۸ سپتامبر ۲۰۲۶، Gadi Evron از شرکت Knostic از طریق HackerOne به کلادفلر خبر داد که پرامپتهای خیلی بلند به مدل @cf/zai-org/glm-5.3 گاهی متن جلسههای بقیهی کاربرها رو برمیگردونن. کلادفلر صبح روز بعد مشکل رو بازتولید کرد، مدل رو ظرف ۴۰ دقیقه از اعلام حادثه خاموش کرد و همون روز با تنظیم و نسخهی اصلاحشده برگردوند. طبق این گزارش ۱۵۵ پاسخ درگیر بودن، همه برای پرامپتهای بالای ۶۸۱٬۲۸۰ توکن.
کلادفلر GLM-5.3 رو با SGLang در حالت جدا شدهی prefill/decode اجرا میکنه. یعنی یه دسته GPU پرامپت رو پردازش میکنه و KV cache (یعنی حافظهای که مدل از پرامپت میسازه تا جواب رو تولید کنه) رو با RDMA به دستهی دیگه میفرسته که جواب رو تولید میکنه. صفحههای این حافظه بین درخواستها پاک نمیشن و فقط روشون نوشته میشه، پس موتور باید دقیق بدونه هر صفحه مال کیه.
مشکل اول تنظیم اشتباه بود: پنجرهی context مدل ۱٬۰۴۸٬۵۷۶ توکن بود ولی حافظهی KV روی GPUهای prefill فقط ۶۸۱٬۲۸۰ توکن جا داشت. تیم از این فاصله خبر داشت ولی فکر میکرد موتور برای پرامپتهای بزرگتر خطا برمیگردونه. تستها فقط کد HTTP و سرعت رو چک میکردن، نه اینکه خروجی مدل درست و منسجم باشه.
مشکل دوم باگ SGLang بود. پرامپتی که جا نمیشد رد میشد و با یه placeholder یکتوکنی عوض میشد، ولی صف پذیرش فقط چک میکرد درخواست «تموم شده» یا نه، نه اینکه «رد شده». پس prefill فقط یه صفحه KV فرستاد و گفت انتقال تمومه. decode هم مثلاً ۸ صفحه رزرو کرده بود و روی همهشون attention زد، در حالی که ۷ تاش هنوز دادهی درخواستهای قبلی رو داشتن. کاربر بهجای خطای 400، جواب 200 میگرفت.
برای رفع مشکل، کلادفلر تنظیمات رو طوری عوض کرد که حافظهی KV حدود ۲.۰۴ میلیون توکن جا داشته باشه، یعنی دو برابر context. موتور رو هم پچ کرد که درخواست ردشده قبل از هر انتقالی همونجا با خطای اصلیش بسته بشه. نسخهی SGLang هم این اصلاحها رو گرفته و کلادفلر به همهی کسایی که SGLang رو در این حالت اجرا میکنن توصیه میکنه به v0.5.22 یا بالاتر آپدیت کنن.
به گفتهی کلادفلر این باگ عضو یه دستهی بزرگتره: صفحهای آزاد یا دوباره استفاده میشه در حالی که یه بخش دیگه هنوز روش حساب کرده. برای همین چند اصلاح دیگه هم اومده، مثل checksum برای هر انتقال با --disaggregation-enable-kv-checksum. کلادفلر داره روی برچسبگذاری هر صفحهی KV کار میکنه که توی تستها کمتر از ۱ درصد هزینه داشت، و میخواد با روشهای formal verification ثابت کنه پروتکل انتقال KV امنه.
نکات کلیدی:
- فقط مدل GLM-5.3 روی Workers AI درگیر بود، بین ۲۷ آگوست تا ۹ سپتامبر ۲۰۲۶
- ۱۵۵ پاسخ تحت تأثیر بودن، همه برای پرامپتهای بالای ۶۸۱٬۲۸۰ توکن
- حافظهی KV کوچیکتر از پنجرهی context بود و SGLang درخواست ردشده رو هم به decode میفرستاد
- اصلاحهای اصلی در SGLang توی PRهای 36988 و 38935 اومدن و توصیه شده v0.5.22 یا بالاتر نصب بشه
- توصیه به اپراتورها: اندازهی KV pool رو با context length روی همهی نودها مقایسه کنید و checksum و KV canary رو روشن کنید




