فك الترميز التخميني: خدعة الاستدلال التي تجعل LLMs أسرع 3 مرات دون التضحية بالجودة

مشاركة:
فك الترميز التخميني: خدعة الاستدلال التي تجعل LLMs أسرع 3 مرات دون التضحية بالجودة

يقلل فك الترميز التخميني زمن استجابة استدلال LLM بمقدار 2–3 مرات دون تغيير أوزان النموذج، أو جودة المخرجات، أو توزيع الاحتمال الأساسي. يفعل ذلك عن طريق استغلال عدم تماثل هيكلي تتجاهله معظم خطوط أنابيب الاستدلال: التحقق من الرموز أرخص بكثير من توليدها من الصفر.

تم إضفاء الطابع الرسمي على هذه التقنية في ورقة DeepMind لعام 2023 ومنذ ذلك الحين تم اعتمادها في أنظمة الإنتاج في Google و Meta وعدد متزايد من أطر تحسين الاستدلال بما في ذلك vLLM و TensorRT-LLM. فهم لماذا تعمل — وأين تنهار — أمر ضروري لأي فريق يدير LLMs على نطاق واسع.

كيف يعمل فك الترميز التخميني فعليًا

التوليد التلقائي التراجعي هو بطبيعته تسلسلي: ينتج النموذج رمزًا واحدًا في كل مرة، كل رمز مشروط بجميع الرموز السابقة. هذا يعني أن نموذجًا يحتوي على 70 مليار معلمة يعمل على A100 واحد يولد حوالي 20–30 رمزًا في الثانية، وينفق الغالبية العظمى من حسابه على عرض نطاق الذاكرة بدلاً من العمليات الحسابية. GPU في الغالب ينتظر تحميل الأوزان من HBM، وليس معالجة الأرقام.

يقدم فك الترميز التخميني نموذج "مسودة" ثانٍ أصغر بكثير — عادة 7 مليار معلمة أو أقل — يقترح سلسلة من الرموز المرشحة (عادة 4–8 في المرة الواحدة) قبل النموذج "الهدف" الأكبر. ثم يقوم النموذج الهدف بتقييم جميع رموز المسودة في تمريرة أمامية واحدة. نظرًا لأن الانتباه على تسلسل قصير يكون بنفس سرعة تمريرة رمز واحد تقريبًا على نموذج كبير، يمكن للنموذج الهدف التحقق من كل رمز مسودة أو رفضه بالتوازي.

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

معدلات القبول وأين تهم جودة المسودة

مضاعف التسريع يتناسب طرديًا مع متوسط معدل قبول رموز المسودة. إذا قبل نموذج المسودة 80٪ من الرموز المقترحة وتكهنتم بأربعة رموز مقدمًا، فأنتم تعالجون فعليًا حوالي 3.2 رمزًا لكل تمريرة أمامية للنموذج الهدف بدلاً من رمز واحد. تختلف معدلات القبول في العالم الحقيقي اختلافًا كبيرًا حسب المهمة:

  • المخرجات المتكررة أو المقولبة (كود قياسي، بيانات منظمة): قبول 85–95٪، تسريع 3–4 مرات شائع
  • الدردشة العامة واتباع التعليمات: قبول 60–80٪، تسريع 1.5–2.5 مرة نموذجي
  • التوليد الإبداعي وسلاسل التفكير: قبول 40–65٪، مكاسب أكثر تواضعًا

هذا يعني أن فك الترميز التخميني يعمل بشكل أفضل عندما تكون للمهمة بنية قابلة للتنبؤ — وهو ما يصف حصة كبيرة من أعباء عمل LLM الإنتاجية: توليد الكود، تلخيص المستندات بتنسيق ثابت، واستجابات chatbot التي تتبع قوالب prompt. يعمل بشكل أقل جودة في المهام الإبداعية المفتوحة حيث ينحرف نموذج المسودة بشكل منهجي عن النموذج الهدف.

فك الترميز التخميني الذاتي ورؤوس Medusa

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

فك الترميز التخميني الذاتي يستخدم النموذج الهدف نفسه كمولد للمسودة، ولكن بطبقات خروج مبكر. على سبيل المثال، يمكن تكوين نموذج Llama 3.1 ذو 70 مليار معلمة للخروج عند الطبقة 32 (بدلاً من 80 طبقة كاملة) للمسودة، ثم إعادة الدخول إلى المكدس الكامل للتحقق. هذا يلغي الحاجة إلى نموذج منفصل ولكنه يتطلب دعمًا معماريًا لتخطي الطبقات.

Medusa، التي طورتها جامعة Princeton وتم إصدارها كمصدر مفتوح في عام 2024، تتخذ نهجًا مختلفًا: تضيف رؤوس تنبؤ إضافية متعددة إلى الحالة المخفية النهائية للنموذج الهدف، كل منها يتنبأ برموز في المواضع +1، +2، +3، إلخ. يتم تدريب هذه الرؤوس بتكلفة منخفضة عبر Fine-tuning خاضع للإشراف على مخرجات النموذج الحالية. تحقق Medusa-2، جنبًا إلى جنب مع التحقق القائم على الشجرة، تسريعًا بمقدار 2.8 مرة على Vicuna-13B بدون نموذج مسودة منفصل ومع انخفاض طفيف في الدقة.

SpecInfer من جامعة Carnegie Mellon يوسع الفكرة أكثر باستخدام شجرة من تسلسلات المسودة بدلاً من تسلسل واحد، يتم التحقق منها في تمريرة أمامية مجمعة واحدة. هذا يرفع احتمالية القبول لأن النموذج الهدف يحتاج فقط إلى إيجاد مسار واحد صالح في الشجرة.

اعتبارات الإنتاج

نشر فك الترميز التخميني في الإنتاج يتطلب الانتباه إلى عدة عوامل غالبًا ما تقلل المعايير من شأنها:

  • تفاعل حجم الدفعة: يوفر فك الترميز التخميني أكبر المكاسب عند حجم الدفعة 1 (حالات الاستخدام التفاعلية). مع زيادة حجم الدفعة، يضيق عنق زجاجة عرض نطاق الذاكرة نسبيًا مقارنة بالعمليات الحسابية، ويصبح الحمل الزائد لتشغيل نموذج المسودة أقل تبريرًا. عند أحجام الدفعة فوق 32–64، غالبًا ما يتفوق التوليد القياسي على فك الترميز التخميني.
  • إدارة KV Cache: يحتفظ كل من نموذج المسودة والنموذج الهدف بـ KV Cache. يجب أن يأخذ تخصيص الذاكرة كليهما في الاعتبار، مما يعقد أطر الخدمة التي تحسن استخدام Cache (مثل PagedAttention في vLLM).
  • اختيار نموذج المسودة: يجب أن يكون نموذج المسودة من نفس عائلة النموذج الهدف. استخدام Llama-3-8B للمسودة لـ Llama-3-70B يحقق معدلات قبول أعلى بكثير من استخدام نموذج مدرب على مجموعة بيانات مختلفة أو بتقسيم مختلف للرموز.
  • مفاضلة زمن الاستجابة مقابل الإنتاجية: فك الترميز التخميني يحسن زمن الاستجابة (الوقت لإكمال طلب واحد) أكثر من الإنتاجية (الرموز في الثانية عبر جميع الطلبات). الفرق التي تدير خدمة استدلال عالية QPS تحتاج إلى تقييم أي مقياس أكثر أهمية لـ SLA الخاص بها.

أين تتجه هذه التقنية

نشر Google لفك الترميز التخميني في بنية خدمة Gemini في عام 2024 خفض تكاليف الاستدلال بنسبة 40٪ لأعباء العمل الحساسة لزمن الاستجابة حسب التقارير. قامت NVIDIA بدمج دعم فك الترميز التخميني في TensorRT-LLM 0.8 مع رؤوس التنبؤ متعدد الرموز (MTP)، وأصبح النهج الآن ميزة من الدرجة الأولى بدلاً من كونه إضافة تجريبية.

الحدود التالية هي فك الترميز التخميني المتتالي: استخدام ثلاثة نماذج أو أكثر في تسلسل هرمي (مثل 1 مليار → 7 مليار → 70 مليار)، حيث يصوغ أصغر نموذج مسودة للنموذج المتوسط، والذي يصوغ بدوره للنموذج الكبير. تشير النتائج المبكرة من فريق أبحاث Meta إلى تقليل زمن الاستجابة بمقدار 4–5 مرات في المهام المنظمة بهذا النهج، على الرغم من أن بصمة الذاكرة وتعقيد التنسيق يزدادان بالمقابل.

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

خلاصات عملية قابلة للتنفيذ

  • إذا كان عبء عملك حساسًا لزمن الاستجابة وحجم الدفعة منخفضًا (1–8)، يجب أن يكون فك الترميز التخميني أول تحسين تقوم بتقييمه — أطر مثل vLLM تدعمه بعلامة تكوين واحدة.
  • طابق نموذج المسودة الخاص بك مع عائلة نموذج الهدف وبيانات التدريب الخاصة به؛ المسودات غير المتطابقة ستعطيك معدلات قبول ضعيفة وقد تبطئ الأمور فعليًا.
  • قس معدلات القبول على prompts الإنتاج الفعلية الخاصة بك، وليس على المعايير. هيكل المهمة يهم أكثر من حجم النموذج للتنبؤ بالتسريع.
  • للفرق التي لا تستطيع تشغيل نموذج ثانٍ، قيم رؤوس Medusa كحل وسط — فهي تضيف حملًا ضئيلًا للذاكرة ويمكن تعديلها في ساعات على GPU واحد.
  • لا تطبق فك الترميز التخميني على الاستدلال الدفعي عالي الإنتاجية ما لم تكن قد تحققت من ديناميكيات حجم الدفعة عند نقطة التشغيل المحددة لديك.
مشاركة:
فك الترميز التخميني: خدعة الاستدلال التي تجعل LLMs أسرع 3 مرات دون التضحية بالجودة | AIO APEX