Kalypso: Relational LLM Serving
كاليپسو (Kalypso) هو نظام لخدمة النماذج اللغوية الكبيرة العلاقاتية يعمل على تحسين كفاءة تنفيذ الاستعلامات الدلالية من خلال تقديم تنفيذ متسلسل مدرك للاستعلام وجدولة ذاكرة تكيفية لإعادة استخدام حالات ذاكرة التخزين المؤقت لمفاتيح القيم (KV-cache) عبر العمليات، محققاً تسريعًا يصل إلى 4.57 ضعفاً مقارنة بالنهج التقليدي المرتكز على الطلب.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل عالماً تستطيع فيه الحواسيب قراءة وفهم والاستنتاج من المعلومات الفوضوية وغير المنظمة، مثل الملاحظات الطبية أو العقود القانونية أو مراجعات المنتجات، تماماً كما يفعل الخبير البشري. هذا هو الوعد الذي تقدمه النماذج اللغوية الكبيرة (LLMs)، وهي العقول الاصطناعية فائقة الذكاء وراء العديد من الأدوات الحديثة. ومع ذلك، فإن هذه النماذج تشبه العمالقة الجائعين: فهي تحتاج إلى كميات هائلة من ذاكرة الحاسوب لـ "التفكير" في كل جملة تقرأها. عندما تطلب من الحاسوب معالجة مجموعة ضخمة من المستندات، فإنه عادة ما يعامل كل طلب كحدث منفصل ومعزول؛ يقرأ مستنداً، يجيب على سؤال، ينسى كل شيء، ثم يبدأ من جديد للمستند التالي. هذا النهج القائم على "البدء من الصفر" بطيء للغاية ويهدر الكثير من ذاكرة الحاسوب المكلفة، خاصة عندما تحاول القيام بسلسلة معقدة من المهام، مثل تصفية قائمة، ثم تلخيص النتائج، وأخيراً دمجها مع بيانات أخرى. السؤال الكبير الذي يطرحه الباحثون هو: هل يمكننا تعليم هؤلاء العمالقة الاصطناعيين تذكر ما تعلموه للتو واستخدامه للخطوة التالية، بدلاً من نسيانه فوراً؟
هذا هو بالضبط ما تعالجه الورقة البحثية بعنوان "Kalypso: Relational LLM Serving". يقدم المؤلفون نظاماً جديداً يسمى Kalypso، والذي يعمل كمنظم مرور ذكي لطلبات الذكاء الاصطناعي هذه. فبدلاً من ترك العملاق الاصطناعي ينسى كل شيء بين الخطوات، يقوم Kalypso بتنظيم العمل بحيث يمكن للذكاء الاصطناعي الاحتفاظ بـ "أفكاره" (التي تسمى KV-cache) حية أثناء انتقاله من مهمة إلى أخرى. فكر في الأمر كسباق تتابع حيث لا يسقط العداؤون العصا ويبدأون من جديد، بل يمررون العصا مباشرة إلى العداء التالي، مما يحافظ على الزخم مستمراً. وتظهر الورقة أنه من خلال القيام بذلك، يمكن لـ Kalypso جعل استعلامات البيانات المعقدة تعمل بشكل أسرع بما يصل إلى 4.57 مرة من الطرق الحالية، دون تغيير الإجابات التي يقدمها الذكاء الاصطناعي. إنها تثبت أنه من خلال فهم هيكل السؤال وإدارة ذاكرة الحاسوب بعناقة، يمكننا جعل أدوات الذكاء الاصطناعي القوية هذه أكثر كفاءة وأقل هدراً.
المشكلة: العملاق "الناسي"
لفهم سبب أهمية Kalypso، علينا أن ننظر إلى كيفية عمل نماذج الذكاء الاصطنا هذه اليوم. تخيل أنك طالب تؤدي اختباراً صعباً للغاية. في كل مرة تحصل فيها على سؤال جديد، يتعين عليك إعادة قراءة الكتاب المدرسي بأكمله من الصفحة الأولى لتذكر الحقائق التي تحتاجها. سيستغرق ذلك وقتاً طويلاً جداً، أليس كذلك؟ هذا هو بالضبط ما تفعله أنظمة الذكاء الاصطناعي الحالية. فعندما يحتاج الحاسوب لمعالجة قائمة تضم 1,000 مستند، فإنه عادة ما يرسلها إلى الذكاء الاصطناعي واحداً تلو الآخر (أو في مجموعات صغيرة)، معتبراً كل منها طلباً جديداً تماماً.
يمتلك نموذج الذكاء الاصطناعي ذاكرة خاصة تسمى KV-cache (ذاكرة المفتاح والقيمة). هذه الذاكرة تشبه مسودة يكتب فيها النموذج الأجزاء المهمة من الجملة حتى لا يضطر لإعادة حسابها في كل مرة يولد فيها كلمة جديدة. هذه المسودة ضخمة وتستهلك الكثير من ذاكرة الحاسوب. وفي النظام القياسي، بمجرد انتهاء الطلب، يتم مسح هذه المسودة لتوفير مساحة للشخص التالي.
تشير الورقة إلى خلل رئيسي في هذا النهج: غالباً ما يقوم الذكاء الاصطناعي بسلسلة من المهام. على سبيل المثال، قد يقوم النظام أولاً بتصفية قائمة منتجات للعثور فقط على "الأحذية الحمراء"، ثم يلخص أوصاف تلك الأحذية الحمراء. يقرأ الذكاء الاصطناعي وصف "الحذاء الأحمر رقم 1" ليقرر ما إذا كان أحمر اللون. بعد ذلك، يحتاج لقراءة نفس الوصف مرة أخرى لتلخيصه. في النظام القياسي، ينسى الذكاء الاصطناعي الجزء الأول ويضطر لإعادة قراءة الوصف كاملاً من البفر. إنه يشبه قراءة كتاب، ثم إغلاقه، ثم فتحه مرة أخرى لقراءة نفس الصفحة فقط لكتابة ملاحظة في الهامش. هذا يهدر الوقت والذاكرة.
الحل: سباق التتابع الخاص بـ Kalypso
يقترح المؤلفون طريقة جديدة للتفكير تسمى Relational LLM Serving (خدمة النماذج اللغوية الكبيرة العلاقاتية). فبدلاً من معاملة الطلبات كأحداث معزولة، ينظر Kalypso إلى "خطة الاستعلام" (query plan) بأكملها—أي الخريطة التي توضح كيفية تدفق البيانات. وهو يدرك أنه إذا انتهى الذكاء الاصطناعي للتو من قراءة جملة لتصفيتها، فيجب عليه استخدام نفس الذاكرة فوراً لتلخيصها، دون مسح اللوحة.
لتحقيق ذلك، يعمل Kalypso كمدير ذكي في مطبخ مزدحم. تخيل مطبخاً حيث يقوم الطهاة (مشغلو الذكاء الاصطناعي) بإعداد الأطباق.
- الطريقة القديمة (المتمحورة حول الطلب): يسلم المدير تذكرة للطاهي (أ). يقوم الطاهي (أ) بطهي الطبق، وتزيينه، ثم يرمي المكونات. ثم يسلم المدير تذكرة للطاهي (ب)، الذي يتعين عليه الذهء لإحضار المكونات مرة أخرى والبدء في الطهي من الصفر.
- طريقة Kalypso (المتمحورة حول خط الإنتاج): يرى المدير أن الطاهي (أ) على وشك الانتهاء من طبق ما. وبدلاً من الانتظار، يخبر المدير الطاهي (ب): "استعد، الطاهي (أ) سيمرر لك الطبق!". يبدأ الطاهي (ب) العمل على الطبق في اللحظة التي ينتهي فيها الطاهي (أ)، باستخدام نفس المكونات والأدوات دون توقف.
هذا "الخط المتوازي" (pipelining) هو جوهر السحر. ولكن هناك عقبة: المطبخ لديه مساحة عمل محدودة (ذاكرة وحدة معالجة الرسومات - GPU memory). إذا سمح المدير لعدد كبير من الطهاة بالبدء في الطهي في وقت واحد، فستصبح مساحة العمل مزدحمة، وسيتعين عليهم رمي المكونات لتوفير مساحة للمكونات الجديدة. وهذا ما يسمى بـ ضغط الذاكرة (memory pressure). إذا امتلأت المساحة أكثر من اللازم، سيضطر النظام إلى التخلص من "المسودة" (KV-cache) قبل أن يتمكن الطاهي التالي من استخدامها، مما يبطل الغرض من العملية برمتها.
الخدعة السحرية: الجدولة التكيفية
الاختراق الحقيقي لـ Kalypso هو المجدول التكيفي (adaptive scheduler) الخاص به. فهو لا يسمح للجميع بالطهي في وقت واحد فحسب؛ بل يراقب مساحة العمل باستمرار.
- إذا بدأت المساحة تمتلئ، فإنه يبطئ الطهاة الأوائل حتى لا تُرمى المكونات قبل أن يتمكن الطهاة الثانيون من استخدامها.
- إذا كانت المساحة فارغة والثهاة الثانيون ينتظرون الطعام، فإنه يسرع الطهاة الأوائل للحفاظ على استمرار الخط.
تصف الورقة هذا بأنه عملية توازن. يجب على النظام تخمين مقدار الذاكرة التي ستحتاجها المهمة (مثل تخمين عدد المكونات التي ستستخدمها وصفة ما). إذا أخطأ في التخمين وحجز الكثير، فسيظل المطبخ خاملاً. وإذا خمن القليل، فقد ينفد منه المساحة ويضطر لإعادة بدء المهمة. يستخدم Kalypso خوارزمية ذكية لتعديل هذه التخمينات أثناء العمل، ونقل ميزانيات الذاكرة بين مراحل مختلفة من العملية لضمان عدم جوع أي شخص للعمل وعدم سد مساحة العمل بالزحام.
ما وجدوه: تسريع العملاق
اختبر الباحثون Kalypso في أربع مهام مختلفة من الواقع، تتراوح بين التحقق من الحقائق في مقالات ويكيبيديا إلى مطابقة السجلات الطبية وتحليل العقود القانونية. وقارنوه بالأنظمة الحالية التي تستخدم طريقة "البدء من الصفر".
كانت النتائج مبهرة. لم يجعل Kalypso الأمور أسرع قليلاً فحسب، بل جعلها أسرع بشكل ملحوظ.
- بالنسبة لمهمة تسمى ContractNLI (تحليل العقود القانونية)، كان Kalypso أسرع بـ 4.57 مرة من أفضل الأنظمة الحالية (Lotus).
- وبالنسبة لـ MEDEC (كشف الأخطاء الطبية)، كان أسرع بـ 1.54 مرة.
- وبالنسبة لـ BioDEX (مطابقة المقالات الطبية)، كان أسرع بـ 1.29 مرة.
والأهم من ذلك، تشير الورقة إلى أن Kalypso حقق هذا التسريع دون تغيير الإجابات التي قدمها الذكاء الاصطناعي. لم يستخدم أي "غش" أو اختصارات قد تقلل من جودة النتائج؛ بل جعل عملية الحصول على الإجابة أكثر كفاءة فحسب. كما أظهر النظام قدرته على التعامل مع أنواع مختلفة من أعباء العمل بشكل جيد، حتى عندما كانت ذاكرة الحاسوب محدودة. في الواقع، عندما تم تقليل الذاكرة، ظل Kalypso سريعاً بينما تباطأت الأنظمة الأخرى بشكل كبير.
لماذا يهم هذا؟
تخلص الورقة إلى أنه من خلال جعل الذكاء الاصطناعي "واعياً" بخطة الاستعلام وإدارة ذاكرته كمنظم مرور ذكي، يمكننا فتح آفاق كبيرة في الأداء. لا يتعلق الأمر فقط بتوفير بضع ثوانٍ؛ بل يتعلق بجعل من الممكن تشغيل مهام الذكاء الاصطناعي المعقدة هذه على أجهزة أرخص أو معالجة كميات هائلة من البيانات التي كانت بطيئة جداً في السابق لدرجة تجعلها غير عملية.
ويوضح المؤلفون بحذر أن هذا هو تحسين للنظام وليس تغييراً في ذكاء الذكاء الاصطناعي. هم لم يجعلوا الذكاء الاصطناعي أكثر ذكاءً؛ بل فقط أوقفوا إهدار وقته وذاكرته. ومن خلال معاملة الذكاء الاصطناعي كخط إنتاج متصل بدلاً من مجموعة من الطلبات المعزولة، يظهر Kalypso أن مستقبل كفاءة الذكاء الاصطناعي يكمن في كيفية إدارة تدفق المعلومات، وليس فقط في بناء نماذج أكبر. إنه تذكير بأن أفضل طريقة لجعل عملاق يتحرك بشكل أسرع هي تعليمه كيف يتذكر أين كان للتو.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.