More GPUs or a Smaller Cache? Tensor Parallelism versus KV Compression for Memory-Bound LLM Serving
تُظهر هذه الورقة أنه بالنسبة لخدمة النماذج اللغوية الكبيرة (LLM) المقيدة بالذاكرة، يوفر ضغط مفتاح-قيمة (KV compression) باستمرار نسبة تكلفة إلى سعة متفوقة مقارنة بالتوازي عبر التنسور (tensor parallelism)، والذي لا يكون ضرورياً إلا للنماذج التي تتجاوز حدود ذاكرة الجهاز ولكنه يفشل في تحسين زمن الاستجابة أو كفاءة التكلفة للنماذج الأصغر.
المؤلفون الأصليون:Srikanta Datta Tumkur, Mehar Simhadri, Anshu Bansal, Jay Iyer, Sai Pavan Kumar, Sai Kapil Kumar, Ramesh Nampelly, Raj Dandekar
عندما يُطلب من نموذج لغوي كبير إجراء محادثة طويلة أو معالجة مستند ضخم، فإنه يواجه حداً فيزيائياً بسيطاً ولكنه عنيد: الذاكرة. يجب على النموذج الاحتفاظ بسجل مستمر لكل ما قاله وسمعه في منطقة خاصة من ذاكرة الحاسوب الخاصة به، تُعرف باسم "الذاكرة المخبئية" (cache)، لضمان بقاء إجاباته متماسكة. وإذا أصبحت المحادثة طويلة جداً أو طرح الكثير من الناس أسئلة في وقت واحد، فإن هذه الذاكرة المخبئية تفيض، ويتعطل النظام. وللحفاظ على استمرارية الخدمة، اعتمد المهندسون تقليدياً على استراتيجيتين متميزتين. يتمثل أحد النهجين في شراء المزيد من الرقائق الحاسوبية، وتوزيع حمل الذاكرة عبر عدة معالجات قوية تعمل بانسجام. أما النهج الآخر، فهو تقليص البصمة الذاكرية للمحادثة نفسها، باستخدام حيل رياضية ذكية لضغط البيانات بحيث تتسع في شريحة واحدة، حتى لو كان ذلك يعني التضحية بجزء ضئيل من الدقة. لسنوات طويلة، عملت هاتان المجموعتان من الخبراء في عوالم منفصلة، ونادراً ما قارنا التكلفة الفعلية لحلولهما.
تجمع دراسة جديدة هذين النهجين في غرفة واحدة لمعرفة أيهما أرخص حقاً للجهات التي تدير هذه الأنظمة. وضع الباحثون، الذين عملوا باستخدام عمليات محاكاة تمت معايرتها مقابل أجهزة حقيقية، هدفهم لإيجاد نقطة تحول يصبح فيها إضافة المزيد من الرقائق صفقة أفضل من ضغط البيانات. اختبروا تكوينات مختلفة باستخدام نماذج مفتوحة المص المصدر شائعة وأنواع مختلفة من الرقائق الحاسوبية عالية الأداء، وقاسوا التكلفة لكل مليون كلمة يتم إنتاجها مقابل سرعة الاستجابة. كانت النتيجة مفاجئة: لا توجد نقطة تحول. ففي كل سيناريو اختبروه، كان ضغط البيانات أرخص بكثير من إضافة المزيد من الأجهزة. واتسعت فجوة التكلفة كلما زادت الحاجة إلى تخفيف الذاكرة، حيث قدم الضغط توفيراً يصل إلى ضعف التكالما مقارنة بمجرد شراء المزيد من الرقائق.
تكشف الدراسة أن السؤال نفسه كان قائماً على سوء فهم لكيفية فشل هذه الأنظمة. فقد وجد الباحثون أنه بالنسبة للنماذج الأصغر، نادراً ما يتم الوصول إلى حد الذاكرة بسبب طول المحادثة وحدها. فالنموذج الذي يحتوي على سبعة مليارات معلمة (parameter) ويعمل على شريحة قياسية عالية الأداء يمكنه التعامل مع أقصى طول ممكن للمحادثة دون أن ينفد منه المساحة أبداً. العائق الحقيقي ليس طول الدردشة، بل حجم النموذج نفسه. فعندما تكون التعليمات الأساسية للنموذج، أو "الأوزان" (weights)، كبيرة جداً بحيث لا تتسع في شريحة واحدة، لا يمكن لأي قدر من الضغط أن يساعد، لأن الضغط يقلص تاريخ المحادثة فقط، وليس "دماغ" النموذج. وفي هذه الحالات، يكون إضافة المزيد من الرقائق ليس مجرد خيار، بل هو السبيل الوحيد لجعل النظام يعمل على الإطلاق. وهذا يخلق خطاً فاصلاً واضحاً: إذا كان النموذج صغيراً بما يكفي ليتسع في شريحة واحدة، فإن الضغط هو الخيار الأفضل والأقل تكلفة. أما إذا كان النموذج كبيراً جداً، فإن إضافة الرقائق أمر إلزامي، ويصبح الضغط أداة ثانوية للتعامل مع عدد أكبر من المستخدمين بمجرد توفر الأجهزة.
اكتشف الباحثون أيضاً أن هاتين الاستراتيجيتين تشتريان أشياءً مختلفة. فإضافة المزيد من الرقائق تجعل النظام أسرع، مما يقلل الوقت المستغرق لبدء الإجابة وتوليد كل كلمة. ومع ذلك، فإن ضغط البيانات يجعل النظام أبطأ لأن الحاسوب يضطر للعمل بجهد أكبر لفك المعلومات المضغوطة، كما أن المستخدمين الإضافيين الذين يمكنه استيعابهم الآن يخلقون ازدحاماً مرورياً يؤدي إلى تأخير الاستجابات. وبينما يسمح الضغط لإنفاق دولار واحد من ميزانية الأجهزة بدعم نحو ستة عشر ضعفاً من المستخدمين المتزامنين، فإن إضافة الرقائق تزيد من تلك السعة بهامش ضئيل فقط بينما تكلف أكثر بكثير. وتخلص الدراسة إلى أن المسار الأكثر كفاءة هو تحديد ما إذا كان النموذج يتسع في شريحة واحدة أولاً. فإذا كان كذلك، يتم ضغط البيانات لخدمة المزيد من الناس بتكلفة منخفضة. وإذا لم يكن كذلك، يتم إضافة الرقائق اللازمة لجعل النظام ممكناً، ثم ضغط البيانات لتعظيم عدد المستخدمين الذين يمكن لهذه الأجهزة دعمهم. إن فكرة وجود منطقة وسطى حيث تتساوى فيهما الطريقتان في التكلفة ببساطة غير موجودة في الواقع في عمليات المحاكاة هذه.
ملخص تقني: المزيد من وحدات معالجة الرسومات (GPUs) أم ذاكرة تخزين مؤقت أصغر؟ التوازي الموتر (Tensor Parallelism) مقابل ضغط الـ KV لخدمة النماذج اللغوية الكبيرة (LLMs) المقيدة بالذاكرة
بيان المشكلة عندما تواجه عمليات نشر النماذج اللغوية الكبيرة (LLM) قيودًا في الذاكرة بسبب السياقات الطويلة أو أحجام الدفعات (Batch Sizes) الكبيرة، يواجه الممارسون خيارًا ثنائيًا بين استراتيجيتين راسختين نادرًا ما تتواصلان:
التوازي الموتر (Tensor Parallelism - من مجتمع الأنظمة): تقسيم أوزان النموذج وذاكرة الـ KV المخزنة مؤقتًا عبر عدة وحدات معالجة رسومات. هذا يزيد من سعة الذاكرة المتاحة ولكنه يتسبب في تكاليف عتادية خطية وحمل اتصالات إضافي (all-reduce) عند كل طبقة.
ضغط الـ KV (من مجتمع الخوارزميات): تقليل بصمة ذاكرة الـ KV عبر التكميم (مثل 8-بت أو 4-بت) أو الاستبعاد (الاحتفاظ فقط بالرموز ذات القيمة العالية) على وحدة معالجة رسومات واحدة. هذا يتجنب التكاليف العتادية ولكنه يضحي بجودة التوليد ويستحدث عبء معالجة ناتج عن فك التكميم (dequantization).
تتمثل المشكلة الجوهرية في غياب مقارنة موحدة ومعيرة بالتكلفة. فبينما ترفع أوراق بحث التوازي (Parallelism) تقارير حول توسع الإنتاجية (throughput scaling)، تركز أوراق بحث الضغط (compression) على نسب الذاكرة. وبالتالي، لا يمكن للمهندس تحديد أي الاستراتيجيتين هي الأرخص لكل مليون رمز (token)، مع تثبيت النموذج، والحد الأدنى للجودة، وهدف زمن الاستجابة (latency).
المنهجية قام المؤلفون ببناء جبهة معيرة بالتكلفة لمقارنة هذه الاستراتيجيات مباشرة.
العمود الفقري للمحاكاة: تستخدم الدراسة محاكي Vidur، وهو محاكي تم ضبطه بناءً على أجهزة A100 وA40 وH100 حقيقية. لم يكن لدى المؤلفين وصول مباشر لوحدات معالجة الرسومات؛ لذا يتم اشتقاق زمن الاستجابة والإنتاجية من تنبؤات Vidur (التي تم التحقق من صحتها مقابل أجهزة حقيقية بهامش خطأ أقل من 9%).
مقياس التكلفة: المحور الرئيسي هو التكلفة لكل مليون رمز (Cost per Million Tokens)، وتُحسب كالتالي: Cost/Mtok=3600×Throughput×106Cgpu/hr×p حيث p هو درجة التوازي الموتر. ومن الضروري تضمين مضاعف عدد الأجهزة p لضمان عدم اعتبار إضافة وحدات معالجة الرسومات كزيادة "مجانية" في الذاكرة.
الإعدادات: درجات التوازي الموتر (TP) هي 1، 2، 4، 8؛ وإعدادات ضغط الـ KV تشمل عرض البتات (16، 8، 4) ونسب الاحتفاظ (1.0، 0.5، 0.25).
أعباء العمل: أعباء عمل اصطناعية ثابتة الطول (W1: تفاعلي؛ W2: كثيف في مرحلة الـ prefill/مشبع) لضمان دقة حسابات الذاكرة.
التحقق من الجدوى: يعتبر الإعداد صالحًا فقط إذا كانت الأوزان وذاكرة الـ KV كلاهما يتسع داخل ذاكرة الجهاز (2W/p+B⋅mkv≤Mdev).
القيود: لا تدرس الدراسة جودة المخرجات (الدقة) ولا تضع نموذجًا لزمن استجابة مستوى النواة (kernel-level latency) لفك التكميم، حيث تعامل الأخير كـ "أفضل سيناريو" لاختبار المتانة.
النتائج الرئيسية النتيجة المركزية هي أنه لا يوجد تقاطع للتكلفة المتكافئة ضمن النطاقات المختبرة. الافتراض بأن الاستراتيجيتين تتنافسان على منحنى تكلفة واحد هو افتراض باطل.
الضغط يهيمن تحت حاجز الجدوى:
بالنسبة للنماذج التي تتسع في وحدة معالجة رسومات واحدة (مثل Llama-2-7B على A100 بسعة 80 جيجابايت)، فإن ضغط الـ KV أرخص باستمرار من إضافة وحدات معالجة الرسومات.
عند مستويات متساوية من تخفيف الذاكرة، يكون الضغط أرخص بمقدار 1.20 إلى 2.00 مرة من التوازي الموتر.
السعة مقابل زمن الاستجابة: يضاعف الضغط قدرة التزامن لكل دولار بمقدار 16.5 مرة، بينما لا تحقق زيادة قدرها 8 أضعاف في الإنفاق على وحدات معالجة الرسومات (TP=8) سوى زيادة قدرها 1.21 مرة في السعة لكل دولار.
مقايضة زمن الاستجابة: بينما يقلل الضغط التكلفة، فإنه يقلل زمن استجابة الرمز الواحد (TPOT) بنسبة 8% إلى 93% بسبب زيادة ازدحام الدفعات (batching contention). التوازي الموتر هو الوسيلة الوحيدة التي تحسن كلاً من زمن الاستجابة والسعة معًا.
حاجز الجدوى (حجم النموذج مقابل ذاكرة الجهاز):
حد القرار ليس طول السياق أو حجم الدفعة، بل هو حجم النموذج بالنسبة لذاكرة الجهاز.
بالنسبة لجهاز بسعة 80 جيجابايت، يقع الحاجز عند حوالي 36 مليار معلمة (parameter) (أوزان fp16).
تحت الحاجز (مثل 7B): نادرًا ما تستنفد ذاكرة الـ KV ذاكرة الجهاز ضمن نافذة السياق. إضافة وحدات معالجة الرسومات هي إنفاق ضائع إلى حد كبير؛ الضغط هو الاستراتيجية المثلى.
فوق الحاجز (مثل 70B): لا يمكن لوحدة معالجة رسومات واحدة استيعاب الأوزان (127.5 جيجابايت لـ Llama-2-70B). ضغط الـ KV لا يمكنه حل هذه المشكلة لأنه لا يقلص الأوزان. يصبح التوازي الموتر تذكرة دخول (إلزامي)، وليس خيارًا.
السلوك فوق الحاجز:
بالنسبة لـ Llama-2-70B، حتى مع TP=2 (الحد الأدنى الممكن)، يكون النظام مشبعًا بالذاكرة.
في هذا النطاق، تؤدي زيادة TP من 2 إلى 4 إلى توسع فائق الخطية (كفاءة 169%) لأن ذلك يخفف قيد الذاكرة الملزم، مما يقلل التكلفة لكل رمز بنسبة 41% في أعباء العمل التفاعلية.
ومع ذلك، يظل الضغط أرخص من التوسع الإضافي (مثل TP=8) عند مستويات متساوية من تخفيف الذاكرة.
الأهمية والادعاءات تدعي الورقة أنها تقدم قاعدة قرار نهائية لتخطيط البنية التحتية، مصححة الافتراض الشائع بأن التوازي الموتر يصبح أرخص بمجرد نمو أطوال السياق.
دحض التقاطع: يصرح المؤلفون صراحةً أنهم لم يجدوا نقطة تقاطع يصبح فيها إضافة وحدات معالجة الرسومات أرخص من الضغط. الضغط أرخص عند كل مستوى متساوٍ من تخفيف الذاكرة.
قاعدة القرار الحقيقية:
تحقق من الجدوى: إذا كانت أوزان النموذج تتجاوز ذاكرة الجهاز (مثلاً >36B على 80GB)، فإن التوازي الموتر إلزامي (pmin=⌈2W/Musable⌉).
تحقق من التشبع: إذا أدت درجة التوازي الموتر الدنيا الممكنة (pmin) إلى تشبع الذاكرة (إشغال عالٍ للـ KV)، فإن الانتقال لدرجة أعلى (مثلاً من TP=2 إلى TP=4) قد يقلل التكلفة لكل رمز بسبب التوسع فائق الخطية.
تحسين السعة: بمجرد أن تتسع الأوزان في الجهاز ولا يكون النظام مشبعًا بالذاكرة، يصبح ضغط الـ KV هو الاستراتيجية المهيمنة لزيادة السعة. إضافة المزيد من وحدات معالجة الرسومات غير فعال.
الآليات المتكاملة: توفر الاستراتيجيتان أشياء مختلفة. التوازي الموتر يشتري زمن الاستجابة والجدوى (تقسيم الأوزان). الضغط يشتري السعة (التزامن) بتكلفة عتادية تقترب من الصفر.
القيود المعترف بها يشير المؤلفون إلى أن الدراسة تعتمد على زمن استجابة محاكى للضغط (دون نمذجة عبء فك التكميم) كما أنها لا تقيس جودة المخرجات. ويفترضون أنه إذا كان عبء فك التكميم أعلى بكثير (خسارة 17-47% في الإنتاجية)، فقد ينعكس الترتيب، لكن الأدبيات الحالية تشير إلى أن الأعباء أقل من ذلك. بالإضافة إلى ذلك، فإن "حاجز الجدوى" خاص بأوزان fp16؛ وتكميم الأوزان من شأنه أن يغير هذا الحد.