Requests of a Feather Must Flock Together: Batch Size vs. Prefix Homogeneity in LLM Inference
تقدم هذه الورقة البحثية Feather، وهو مجدول مدرك للبادئات يعتمد على التعلم المعزز يعمل على تحسين المقايضة بين حجم الدفعة وتجانس البادئة باستخدام شجرة هاش مجزأة خفيفة الوزن، محققاً إنتاجية أعلى في استنتاج النماذج اللغوية الكبيرة بمعدل 2 إلى 10 أضعاف من خلال تقليل عبء الوصول إلى ذاكرة التخزين المؤقت لـ KV مقارنة بالمجدلات الحالية ذات الحالة الراهنة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تدير مكتبة مزدحمة للغاية وعالية السرعة، حيث يحاول أمين مكتبة واحد (الـ GPU) الإجابة على آلاف الأسئلة من أشخاص مختلفين (الطلبات) في نفس الوقت.
في عالم النماذج اللغوية الكبيرة (LLMs)، يتعين على أمين المكتبة قراءة كتاب ضخم من "السياق" (ذاكرة الـ Key-Value cache) لكل كلمة يقوم بتوليدها. وتجادل الورقة البحثية بأن الطريقة الحالية لتنظيم هذه الأسئلة غير فعالة لأنها تركز أكثر على عدد الأسئلة التي يجيب عليها أمين المكتبة في المرة الواحدة، بدلاً من التركون على مدى تشابه تلك الأسئلة.
إليك قصة حلهم، Feather، مقسمة إلى مفاهيم بسيطة:
1. المشكلة: "الحافلة المزدحمة" مقابل "المجموعة العائلية"
تحاول معظم الأنظمة حالياً حشد أكبر عدد ممكن من الأشخاص في حافلة واحدة (دفعة/batch) لجعل الرحلة فعالة. وهم يستخدمون قاعدة "من يأتي أولاً يُخدم أولاً".
- المشكلة: إذا وضعت 500 غريب في حافلة واحدة، فكل واحد منهم يريد الذهاب إلى مكان مختلف. سيضطر السائق للتوقف في 500 محطة مختلفة، والتبديل بين الاتجاهات باستمرار. هذا الأمر فوضوي وبطيء.
- الاكتشاف: وجد المؤلفون أنه إذا أخذت مجموعة أصغر مكونة من 100 شخص يعيشون جميعاً في نفس الشارع (بادئة مشتركة/prefix)، يمكن للسائق القيادة مباشرة في ذلك الشارع دون توقف. ورغم أن الحافلة ليست ممتلئة، إلا أن الرحلة تكون أسرع بكثير لأن السائق لا يضطر لتدوير المقود باستمرار.
الرؤية الجوهرية: من الأفضل أن يكون لديك مجموعة أصغر من الأشخاص ذاهبين إلى نفس المكان بدلاً من مجموعة ضخمة من الأشخاص ذاهبين إلى أماكن مختلفة. وهذا ما يسمى بـ تجانس البادئة (Prefix Homogeneity).
2. الطريقة القديمة: "متسلق الأشجار"
تحاول الأنظمة الحالية (مثل SGLang) العثور على هذه المجموعات من خلال النظر في شجرة عائلة ضخمة ومعقدة (Radix Tree) لمعرفة من يتشاركون نفس الأسلاف.
- المشكلة: تسلق هذه الشجرة للعثور على المطابقات يستغفر الكثير من الوقت والطاقة من "عقل" الكمبيوتر (الـ CPU). في الواقع، كان الوقت المستغرق في تسلق الشجرة أحياناً يقارب الوقت الذي يقضيه أمين المكتبة في الإجابة على الأسئلة فعلياً! لقد كان الأمر يشبه قضاء 10 دقائق في تنظيم الركاب لمجرد القيادة لمدة 10 دقائق.
3. الحل: "Feather"
قام المؤلفون ببناء مجدول جديد يسمى Feather يعالج كلتا المشكلتين.
الجزء أ: "شجرة التجزئة المجزأة" (CHT) – قائمة التحقق الذكية
بدلاً من تسلق شجرة العائلة الضخمة، يستخدم Feather اختصاراً ذكياً.
- التشبيه: تخيل بدلاً من التحقق من كل حرف في اسم الشخص، تقوم فقط بالتحقق من "أجزاء" (chunks) أول عنوانه.
- كيف يعمل: يقوم Feather بتقسيم النص الطويل إلى كتل صغيرة (chunks) ويعطي كل كتلة "بصمة" فريدة (hash). كما يحتفظ بقائمة بسيطة للبصمات المستخدمة حالياً.
- الفائدة: يمكنه فوراً معرفة: "أوه، هذا الطلب الجديد لديه نفس البصمات الموجودة في المجموعة التي على متن الحافلة بالفعل". وهو يفعل ذلك بسرعة كبيرة لدرجة أن "عقل الـ CPU" لا يبذل جهداً يُذكر. إنه يشبه استخدام ماسح الباركود بدلاً من قراءة كتاب كامل للتحقق من التذكرة.
الجزء ب: "التعلم التعزيزي" (RL) – الموزع الذكي
لا يكتفي Feather بإيجاد المجموعات المتشابهة فحسب، بل يتعلم متى يتوقف عن إضافة الأشخاص إلى الحافلة.
- المعضلة: إذا استمررت في إضافة الأشخاص إلى الحافلة، فقد تضطر في النهاية لإضافة شخص يعيش في شارع مختلف. إذا فعلت ذلك، ستصبح المجموعة بأكملها فوضوية، وستنخفض السرعة.
- التعلم: يعمل Feather كموزع ذكي تعلم من خلال التجربة والخطأ: "إذا أضفت شخصاً واحداً آخر، فقد نفقد سرعتنا. لنرسل هذه الحافلة الآن بينما لا تزال سريعة، وننتظر المجموعة التالية".
- النتيجة: هو يقرر ديناميكياً اللحظة المثالية لإطلاق الدفعة (batch)، موازناً بين امتلاء الحافلة والحفاظ على بقاء الجميع في نفس الشارع.
4. النتائج: تسريع المكتبة
عندما اختبر المؤلفون Feather:
- السرعة: جعل النظام أسرع بمقدار 2 إلى 10 مرات من أفضل الطرق الحالية عندما كان الناس يطرحون أسئلة متشابهة.
- الأمان: إذا كانت الأسئلة مختلفة تماماً (لا توجد شوارع مشتركة)، فإن Feather لم يرتبك؛ بل عمل بنفس كفاءة الطرق القديمة.
- الكفاءة: قلل من "الازدحامات المرورية" في ذاكرة الكمبيوتر، مما يعني أن أمين المكتبة لم يعد مضطراً للركض ذهاباً وإياباً لجلب صفحات الكتاب.
الملخص
Feather هو طريقة جديدة لتنظيم طلبات الذكاء الاصطناعي. بدلاً من حشر أكبر عدد ممكن من الطلبات في دفعة واحدة، يقوم بتجميع الطلبات المتشابهة معاً (مثل عائلة ذاهبة إلى نفس الوجهة) ويستخدم طريقة فائقة السرعة ومنخفضة الطاقة للعثور على تلك المجموعات. كما يتعلم بالضبط متى يتوقف عن إضافة الأشخاص إلى المجموعة للحفاظ على سلاسة وسرعة الرحلة.
تزعم الورقة البحثية أن هذا النهج يسرع أوقات استجابة الذكاء الاصطناعي بشكل كبير دون الحاجة إلى أجهزة باهظة الثمن، وذلك ببساطة من خلال تنظيم "حركة المرور" بشكل أذكى.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.