SLO-Aware Compute Resource Allocation for Prefill-Decode Disaggregated LLM Inference
تقترح هذه الورقة منهجية هجينة تجمع بين النمذجة النظرية والقياس التجريبي لتحديد التخصيص الأمثل لموارد الأجهزة المنفصلة لعمليتي التعبئة المسبقة (Prefill) وفك الترميز (Decode) لاستنتاج النماذج اللغوية الكبيرة بدقة، مع تلبية قيود الإنتاجية، واتفاقية مستوى الخدمة (SLO)، وخصائص الطلبات.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
إليك شرح للورقة البحثية باستخدام لغة بسيطة وتشبيهات من الحياة اليومية.
الصورة الكبيرة: مشكلة "خط التجميع"
تخ مخيلاً أنك تدير مخبزاً ضخماً وفخماً يصنع كعكات مخصصة (هذه هي نماذج اللغات الكبيرة أو LLMs).
تقليدياً، كان لديك خباز واحد يقوم بكل شيء:
- قراءة الطلب (المرحلة التحضيرية - Prefill): يقرأ طلب العميل الطويل والمعقد (مثلاً: "اكتب قصة من 50 صفحة عن تنين"). هذا يتطلب الكثير من المجهود الذهني ولكنه يحدث بسرعة.
- خبز الكعكة (مرحلة التوليد - Decode): بعد ذلك، يبدأ بكتابة القصة كلمة بكلمة. هذه العملية أبطأ وتتطلب إيقاعاً ثابتاً ومنتظماً.
المشكلة: عندما تزداد الطلبات، يتعثر الخباز. إذا كان مشغولاً بقراءة طلب جديد، فلن يستطيع كتابة الكلمة التالية للعميل السابق. وإذا كان مشغولاً بالكتابة، فلن يستطيع قراءة الطلبات الجديدة. هذا يسبب فترات انتظار طويلة لأول كلمة (تسمى TTFT) وبطء في سرعة الكتابة لبقية القصة (تسمى TPOT).
الحل (فصل المهام P/D Disaggregation):
لحل هذه المشكلة، نقوم بتقسيم المخبز إلى محطتين منفصلتين:
- المحطة (أ) (المرحلة التحضيرية): خبازون متخصصون في فقط قراءة الطلبات وتحضير العجينة.
- المحطة (ب) (مرحلة التوليد): خبازون متخصصون في فقط كتابة القصة كلمة بكلمة.
- سير ناقل: بمجرد انتهاء المحطة (أ) من عملها، يقومون بتمرير "العجينة" (السياق/Context) إلى المحطة (ب).
هذا أمر رائع! ولكن الآن لديك سؤال جديد وصعب: كم عدد الخبازين الذين أحتاجهم في المحطة (أ) مقابل المحطة (ب)؟
- إذا وظفت الكثير من خبازي المحطة (أ) ولم توظف ما يكفي من خبازي المحطة (ب)، ستتراكم العجينة، وسينتظر العملاء وقتاً طويلاً قبل بدء قصتهم.
- إذا وظفت الكثير من خبازي المحطة (ب) ولم توظف ما يكفي من خبازي المحطة (أ)، فسيجلس فريق الكتابة بلا عمل بانتظار وصول "العجينة" الجديدة.
هدف الورقة البحثية: حاسبة "المنطقة المثالية" (Goldilocks)
توفر هذه الورقة البحثية المقدمة من Kingsoft Cloud وصفة رياضية لمعرفة العدد الدقيق من الخبازين (وحدات معالجة الرسومات - GPUs) الذين تحتاجه لكل محطة للحفاظ على التكاليف منخفضة مع ضمان رضا العملاء (تحقيق SLO أو أهداف مستوى الخدمة).
هم لا يعتمدون على التخمين؛ بل يستخدمون مزيجاً من النظرية والاختبارات الواقعية.
الخطوة 1: النظرية (نموذج إشارة المرور)
أدرك المؤلفون أن محطة "القراءة" (Prefill) تعمل مثل تقاطع طرق مزدحم.
- التشبيه: تخيل طريقاً ذا مسار واحد (وحدة معالجة الرسومات الخاصة بالـ Prefill). السيارات (الطلبات) تصل في أوقات عشوائية.
- القيد: أنت تعد كل سائق بأنه سيعبر التقاطع في أقل من ثانيتين (TTFT).
- الرياضيات: إذا تركت الطريق يعمل بنسبة 100% من طاقته، فستحدث اختناقات مرورية، وسينكسر وعد الـ ثانيتين. يجب عليك إبطاء التدفق قليلاً للحفاظ على وقت انتظار منخفض.
تستخدم الورقة مفهوماً رياضياً شهيراً يسمى نظرية الطوابير M/M/1 (فكر فيها كآلة حاسبة لتدفق حركة المرور) للإجابة على: "إذا كنت أريد أن يكون وقت الانتظار أقل من ثانيتين، فكم سيارة يمكنني تمريرها فعلياً في الدقيقة؟"
هذا يعطيهم السرعة الفعلية لمحطة الـ Prefill.
الخطوة 2: الاختبار الواقعي (مضمار الجري)
بالنسبة لمحطة "الكتابة" (Decode)، فإن الرياضيات مختلفة قليلاً. إنها تشبه عداءً في مضمار جري.
- التشبيه: يمكن للعداء أن يحمل زجاجة مياه واحدة (حجم الدفعة - batch size) أو عشر زجاجات.
- المقايضة: حمل 10 زجاجات أكثر كفاءة (إنتاجية أعلى)، ولكنه يجعل العداء أبطأ وأكثر تعباً (زيادة في TPOT أو وقت إنتاج الرمز الواحد).
- الاختبار: أجرى الفريق تجارب لمعرفة بالضبط كم عدد الزجاجات التي يمكن للعداء حملها قبل أن يبدأ في الجري ببطء شديد بحيث لا يلبي متطلبات سرعة العميل.
هذا يعطيهم السرعة الفعلية لمحطة الـ Decode.
الخطوة 3: الوصفة النهائية
بمجرد معرفة:
- مدى سرعة المحطة (أ) في العمل مع الحفاظ على أوقات انتظار منخفضة.
- مدى سرعة المحطة (ب) في العمل مع الحفاظ على سرعة كتابة عالية.
- متوسط طول "الطلب" (طول المدخلات) ومتوسط طول "القصة" (طول المخرجات).
يقومون بوضع هذه الأرقام في معادلة بسيطة للحصول على النسبة المثالية.
مثال من الورقة:
وجدوا أنه بالنسبة لحمل عمل معين، كان الإعداد المثالي هو 3 خبازين للتحضير و4 خبازين للتوليد (إعداد 3P4D).
- إذا جربوا 3 و 3، فسيكون فريق الكتابة هو العائق (Bottleneck)، وسيغضب العملاء بسبب بطء سرعة الكتابة.
- إذا جربوا 3 و 5، فسيضيعون المال على خباز إضافي يقف دون القيام بأي عمل.
لماذا هذا مهم؟
قبل هذه الورقة، كان على الشركات التخمين أو إجراء عمليات محاكاة مكلفة لتحديد احتياجاتها من الأجهزة. قد يشترون أجهزة باهلة الثمن أكثر من اللازم (هدر للمال) أو أقل من اللازم (مما يزعج العملاء).
توفر هذه الورقة حاسبة:
- أخبرني بمتطلبات السرعة الخاصة بك (SLOs).
- أخبرني بمتوسط حجم الطلب.
- سأخبرك بالضبط كم عدد وحدات معالجة الرسومات (GPUs) التي يجب أن تشتريها لفريق "القراءة" وفريق "الكتابة" لتحصل على أفضل قيمة مقابل مالك.
الملخص
- المشكلة: تقسيم عمل الذكاء الاصطناعي إلى "قراءة" و"كتابة" أمر فعال، ولكنه صعب التوازن.
- الحل: طريقة هجينة تستخدم رياضيات المرور (نظرية الطوابير) لجزء "القراءة"، واختبارات الجري الواقعية لجزء "الكتابة".
- النتيجة: معادلة دقيقة تخبر الشركات بالضبط عدد أجهزة الكمبيوتر (GPUs) التي يجب شراؤها لتوفير المال مع إبقاء المستخدمين سعداء.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.