Nvidia تقترح نقل KV Cache بين نماذج LLM بمعادلات خطية لتقليل كلفة تبديل النماذج
عرض باحثون في Nvidia تقنية لنقل KV cache المعبأة مسبقاً من نموذج لغوي إلى آخر، بدلاً من إعادة معالجة كامل سياق المحادثة عند الانتقال بين نموذج صغير وكبير. في اختبارات على أزواج متوافقة ضمن عائلات Qwen وLlama وMinistral، نفذت الطريقة النقل أسرع بـ2.7 إلى 25 مرة من إعادة الـprefill، مع الاحتفاظ بما يصل إلى 98% من دقة النموذج الهدف عند تشغيله منفرداً.
أبرز النقاط
- تبديل الـLLM أثناء جلسة طويلة يفرض عادةً إعادة مرحلة prefill كاملة، لأن KV cache لا تكون متوافقة بين النماذج.
- تقنية Nvidia تحوّل KV cache من نموذج مصدر إلى نموذج هدف بدلاً من إعادة حساب تاريخ المحادثة.
- النهج يعتمد ridge regression خطياً لكل attention head، مع اختيار طبقات المصدر وإزالة RoPE قبل التحويل.
- في أربعة من ستة أزواج مختبرة، احتفظت الطريقة بـ73% إلى 98% من دقة النموذج الهدف في حالة prefill التقليدي.
- زمن النقل كان أسرع بـ2.7 إلى 25 مرة؛ وفي مثال Qwen3 14B إلى 32B استغرق 278 مللي ثانية لسياق 32,768 token مقابل قرابة 7 ثوانٍ لإعادة prefill.
- الطريقة الحالية تركز على نماذج متوافقة ضمن العائلة نفسها، ولم تنجح الطريقة الخطية بالقدر نفسه مع جميع إعدادات Ministral.
في أنظمة Agentic AI التي تستخدم أكثر من LLM، قد يبدو الانتقال من نموذج صغير إلى آخر أكبر — أو العودة إلى نموذج اقتصادي أصغر — قراراً بسيطاً على مستوى الـrouting. لكن هذا الانتقال يحمل كلفة خفية: النموذج الجديد يعيد عادةً تنفيذ مرحلة prefill على كامل سجل المحادثة، لأن KV cache الذي بناه النموذج السابق لا يطابق الصيغة التي يتوقعها النموذج اللاحق.
باحثون في Nvidia يقترحون بديلاً: تحويل KV cache بين النماذج مباشرةً باستخدام mapping خطي، بدلاً من إعادة حساب السياق من الصفر. الفكرة موجهة خصوصاً إلى workflows طويلة ومتعددة النماذج، حيث يتراكم السياق عبر عدد كبير من الخطوات.
أين تكمن الكلفة؟
عند استقبال prompt، ينفذ الـLLM أولاً مرحلة prefill، وفيها يحسب مفاتيح وقيم كل tokens في الإدخال ويخزنها في Key-Value cache. بعدها، خلال مرحلة decode، يستفيد من هذه الذاكرة لتوليد tokens جديدة من دون إعادة تقييم تاريخ المحادثة كاملاً في كل مرة.
المشكلة تظهر عند تبديل النموذج وسط الجلسة. اختلاف البنية وعدد الطبقات وتنسيق الذاكرة بين النماذج يعني أن الـKV cache لا يمكن تمريره كما هو، فيضطر النموذج المستقبل إلى إعادة بناءه من كامل السياق. وكلما كان السياق أطول والنموذج أكبر، زادت كلفة الحوسبة وزمن الاستجابة.
تحويل الذاكرة بدلاً من إعادة بنائها
يركز العمل الحالي على الانتقال بين نماذج من العائلة نفسها وبأحجام مختلفة، مثل Qwen وLlama وMinistral. في هذه الحالات تشترك النماذج في tokenizer وخصائص معمارية أساسية، رغم اختلاف عدد الطبقات والحجم.
النظام المقترح يعتمد closed-form per-head ridge mapper، ويتكون من ثلاثة عناصر رئيسية:
- Per-head ridge regression: تعيين خطي مستقل لكل attention head، يُضبط باستخدام مجموعة معايرة صغيرة من بضع مئات من التسلسلات النصية.
- Cross-layer source selection: اختيار طبقات المصدر الأكثر قدرة على التنبؤ بذاكرة كل طبقة في النموذج الهدف.
- Content-space mapping: إزالة ترميز
RoPEقبل التحويل، بما يساعد الـmapper على التعامل مع تسلسلات أطول من بيانات المعايرة.
النتائج والقيود
اختبر الباحثون التقنية على ستة أزواج من النماذج ذات توافق في عدد KV heads وأبعادها، ضمن Qwen3 وLlama 3.1 وMinistral 3، وبأحجام تراوحت بين 3B و70B parameters.
في أربعة من الأزواج الستة، احتفظ الـmapper الخطي بما بين 73% و98% من دقة النموذج الهدف في حالة الـprefill التقليدي. ومن الأمثلة انتقال Llama 3.1 8B إلى Llama 3.1 70B، حيث بلغت النتيجة 72.8% من دقة النموذج الهدف.
أما في السرعة، فذكرت التجارب تفوقاً يتراوح بين 2.7 و25 مرة مقارنة بإعادة الـprefill. وفي تجربة نقل KV cache لسياق بطول 32,768 token من Qwen3 14B إلى Qwen3 32B، استغرق التحويل 278 مللي ثانية مقابل قرابة 7 ثوانٍ لإعادة الـprefill.
لكن النتيجة ليست متساوية مع كل الأزواج. في إعدادين من Ministral، تراجعت جودة الـmapper الخطي بوضوح عندما لم يستطع التعميم خارج بيانات المعايرة. واستخدم الباحثون في هذه الحالات نموذج MLP غير خطي لاستعادة الدقة إلى أكثر من 90%، لكن ذلك أضاف تعقيداً وتكلفة تدريبية لا تحتاجها الطريقة الخطية في الحالات الناجحة.
في الوقت الحالي، لا يعني ذلك أن أي نموذجين يمكنهما تبادل الذاكرة فوراً. الدراسة تقتصر على عمليات نقل ضمن العائلة وبشروط توافق محددة في KV cache. لكنها تطرح مساراً عملياً لتقليل كلفة الـinference في الأنظمة التي تستخدم نموذجاً صغيراً للمهام الاعتيادية، ثم تصعّد إلى نموذج أكبر عند الحاجة إلى reasoning أعقد، أو تعود إلى نموذج أصغر بعد معالجة سياق ثقيل.
لماذا يهم؟
للفرق التي تبني multi-LLM agents، لا تقتصر كلفة النظام على اختيار النموذج في كل خطوة؛ بل تشمل إعادة بناء ذاكرة السياق عند كل handoff. إذا أمكن نقل KV cache بدقة كافية، يصبح من العملي توزيع العمل بين نماذج أصغر وأكبر من دون دفع كلفة prefill كاملة في كل انتقال، خصوصاً في الجلسات الطويلة وسياقات المستندات أو قواعد الشيفرة الكبيرة.