智谱 استعراض GLM-5 «مشكلة الأحرف غير المفهومة»: مئات الملايين من استدعاءات وكيل التشفير يوميًا، واثنان من أخطاء التنافس مخفيان في ذاكرة التخزين المؤقت KV

وفقًا لمراقبة Beating، قامت شركة 智谱 بنشر مراجعة حول مشكلة ظهور رموز غير مفهومة، تكرار النص، والكلمات النادرة في سلسلة نماذج GLM-5 عند استخدام سيناريو وكيل التشفير. منذ مارس، وردت تقارير من المستخدمين بشكل متواصل، حيث كانت المشكلة تظهر فقط في مهام وكيل التشفير ذات الحمل العالي والسياق الطويل (متوسط أكثر من 70 ألف رمز)، ولم تتكرر في بيئة الاستدلال القياسية. وتذكر 智谱 أن نظام الاستدلال الخاص بهم يتحمل مئات الملايين من استدعاءات وكيل التشفير يوميًا.

بعد أسابيع من التحقيق، حدد الفريق وجود ثغرتين متنافرتين في مستوى الأساس، كل منهما عبارة عن خطأ تنافسي مستقل. الأول كان في بنية الفصل بين وحدات المعالجة (PD) (نشر طريقة فصل التهيئة المسبقة وفك الترميز على عقد مختلفة): بعد انتهاء مهلة طلب فك الترميز وإلغائه، تم استرجاع ذاكرة التخزين المؤقت للانتباه (KV Cache) التي تحتوي على حالات الانتباه المحسوبة مسبقًا لتجنب الحساب المكرر، لكن عملية كتابة RDMA على جانب التهيئة المسبقة لم تنته بعد، وطلب جديد تم تخصيصه لنفس مساحة الذاكرة، مما أدى إلى تغطية البيانات القديمة للبيانات الجديدة. الحل كان بإضافة تزامن صريح قبل الاسترجاع، للتأكد من إتمام الكتابة قبل تحرير الذاكرة. بعد التحديث، انخفض معدل الأخطاء من عشر أجزاء في المئة إلى أقل من ثلاثة أجزاء في المئة.

الثاني كان في HiCache (ذاكرة تخزين مؤقت متعددة المستويات): عند نقل البيانات بشكل غير متزامن من ذاكرة CPU إلى التخزين المؤقت، كانت هناك نقطة تزامن مفقودة بين خط أنابيب التحميل والحساب، مما قد يؤدي إلى بدء القراءة قبل اكتمال تحميل البيانات. بعد إصلاح المشكلة، اختفت هذه الأنواع من الأخطاء تمامًا، وتم تقديم التصحيح إلى مجتمع SGLang (طلب سحب #22811).

خلال التحقيق، تم اكتشاف غير متوقع أيضًا: أن معدل قبول تقنية العينة التخمينية (التي تستخدم نموذجًا صغيرًا للتخمين المبدئي للرمز ثم يتم التحقق منه بواسطة نموذج أكبر) يمكن أن يكون إشارة لاكتشاف الأخطاء. عند ظهور رموز غير مفهومة، كانت معظم الرموز المبدئية تُرفض تقريبًا، بينما كانت معدلات القبول عند التكرار مرتفعة بشكل غير طبيعي. بناءً على ذلك، أنشأ الفريق مراقبة مباشرة: عند تجاوز عتبة معينة، يتم إيقاف التوليد تلقائيًا وإعادة المحاولة.

بعد إصلاح الثغرتين، قام الفريق أيضًا بتحسين عنق الزجاجة من خلال تنفيذ تخزين KV Cache بشكل هرمي باستخدام تقنية LayerSplit، حيث يتم تخزين جزء من طبقات الذاكرة على كل وحدة GPU بدلاً من تخزين كامل البيانات، ويتم التعاون عبر البث. مع معدل نجاح في التخزين المؤقت بنسبة 90%، زاد طول الطلب من 40 ألف إلى 120 ألف رمز، مع زيادة الإنتاجية بنسبة تتراوح بين 10% و132%، وكلما زاد طول السياق، زادت الفوائد.

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • تعليق
  • إعادة النشر
  • مشاركة
تعليق
إضافة تعليق
إضافة تعليق
لا توجد تعليقات
  • تثبيت