FLINT: Efficiently Leveraging High Bandwidth Flash for Capacity-Scalable LLM Inference Acceleration
إن FLINT هو ركيزة مدفوعة بحجم العمل تعمل على تسريع استنتاج النماذج اللغوية الكبيرة (LLM) القابل للتوسع في السعة عبر الذاكرة الومضية عالية النطاق (HBF) من خلال إدخال وحدة تحكم في التخزين المؤقت المتفجر للأجهزة، وآلية تحديث المستوى الوهمي، وطبقة ترجمة ملفات للقراءة فقط (FTL) للتغلب على تحديات زمن الاستجابة، وتداخل المسار الحرج، والأعباء الإدارية.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
يتسابق عالم الذكاء الاصطناعي حالياً نحو حد فيزيائي. فالنماذج اللغوية الأكثر تقدماً، وهي الأنظمة التي تكتب الأكواد البرمجية، وتصيغ القصص، وتحل المشكلات المعقدة، قد نمت لتصبح ضخمة جداً لدرجة أنها لم تعد تتسع داخل شرائح الذاكرة القياسية المتصلة بمعالجات الكمبيوتر التي تشغلها. تخيل أنك تحاول حمل مكتبة تضم مليار كتاب في حقيبة ظهر لا تتسع إلا لبضع عشرات من الكتب؛ هذا هو الواقع الحالي للأجهزة التي تشغل هذه النماذج. ولجعل هذه الأنظمة تعمل، اضطر المهندسون إلى تقسيم النماذج عبر العديد من أجهزة الكمبيوتر المنفصلة، وهو حل مكلف وبطيء ويستهلك الكثير من الطاقة لأن أجهزة الكمبيوتر يجب أن تتواصل مع بعضها البعض باستمرار لتقاسم الحمل. توفر تقنية جديدة تسمى "الفلاش عالي النطاق الترددي" (high-bandwidth flash) وسيلة لتخزين هذه المكتبات الضخمة بجوار المعالج مباشرة، مما يوفر مساحات تصل إلى تيرابايتات في حزمة صغيرة جداً. ومع ذلك، فإن هذه التخزين الجديدة أبطأ بكثير في القراءة من ذاكرة المعالج الخاصة به، مما يخلق عنق زازة حيث يقضي الكمبيوتر معظم وقته في انتظار وصول البيانات.
صمم باحثون في شركة هواوي وجامعة ETH زيورخ نظاماً يسمى FLINT لحل مشكلة الانتظار هذه. يقترح عملهم، المفصل في دراسة حديثة، طريقة لجعل تخزين الفلاش عالي السعة هذا يعمل بسرعة كافية لمواكبة متطلبات المعالج دون الحاجة إلى الجداول الزمنية المعقدة والمخطط لها مسبقاً التي تطلبتها التصميمات السابقة. فبدلاً من التخمين بشأن البيانات التي سيحتاجها المعالج تالياً، يقوم نظام FLINT بمراقبة المعالج في الوقت الفقيقي وتنظيم طلبات البيانات أثناء حدوثها. ومن خلال تجميع هذه الطلبات معاً واستخدام المخازن المؤقتة الداخلية لشريحة التخزين بشكل أكثر كفاءة، يمكن للنظام بث البيانات بسرعات تقترب من سرعة ذاكرة المعالج نفسه. قام الفريق بمحاكاة هذا النظام باستخدام ستة نماذج لغوية كبيرة مختلفة، بما في ذلك بعض أكبر النماذج وأكثرها تعقيداً الموجودة حالياً. وتظهر نتائجهم أن هذا النهج يسمح لحزمة كمبيوتر واحدة بالتعامل مع مهام كانت تتطلب سابقاً عشرات الأجهزة، مع استهلاك طاقة أقل بكثير وتقديم نتائج أسرع بكثير.
يكمن جوهر المشكلة في كيفية بناء هذه النماذج. فلتشغيل عملية "الاستدلال" (inference)، وهي عملية توليد النموذج لاستجابة ما، يجب على الكمبيوتر الوصول باستمرار إلى "أوزان" النموذج، وهي في الأساس مليارات الأرقام التي تحدد معرفته. في الماضي، كانت هذه الأوزان صغيرة بما يكفي لتتسع تماماً في الذاكرة عالية السرعة المتصلة مباشرة بالمعالج. أما الآن، ومع وجود نماذج تحتوي على مئات المليارات أو حتى تريليونات المعلمات (parameters)، فقد أصبحت الأوزان أكبر من أن تتسع في تلك الذاكرة السريعة. وكان البديل هو استخدام محركات الأقراص ذات الحالة الصلبة (SSD)، وهي كبيرة ورخيصة ولكنها بطيئة للغاية، أو استخدام معالجات متعددة، مما يؤدي إلى تأخيرات أثناء مزامنة عملها. وقد طُرح "الفلاش عالي النطاق الترددي" كحل وسط: تقنية تخزين تتناسب في نفس الحزمة الصغيرة مع المعالج وتوفر سعة هائلة، ولكن مع سرعة قراءة لا تزال بطيئة جداً بحيث لا يمكن للمعالج استخدامها مباشرة دون توقف.
اعتمدت المحاولات السابقة لاستخدام تخزين الفلاش هذا على طريقة تشبه أمين مكتبة يخمن الكتب التي سيحتاجها القارئ تالياً. حيث يحاول النظام التنبؤ بالطبقة التالية من النموذج والبدء في جلب تلك الأوزان قبل أن يطلبها المعالج. ووجد الباحثون أن لعبة التخمين هذه فشلت فشلاً ذريعاً؛ فبسبب تعقيد هذه النماذج وتغير سلوكها اعتماداً على السؤال المحدد المطروح، كانت التخمينات خاطئة في كثير من الأحيان. كان النظام يجلب بيانات لا يحتاجها المعالج بعد، مما يؤدي إلى ملء مساحة المخزن المؤقت المحدودة وإجبار النظام على التخلص من بيانات كانت مطلوبة بالفعل. أدى ذلك إلى قضاء المعالج معظم وقته في انتظار جلب البيانات الصحيحة مرة أخرى، مما أهدر السرعة العالية لتخزين الفلاش.
يغير FLINT هذا النهج من خلال إزالة التخمين تماماً. فبدلاً من أمين مكتبة يخمن، يعمل النظام مثل مراقب حركة مرور عالي الكفاءة يراقب تدفق السيارات في الوقت الحقيقي. عندما يطلب المعالج قطعة معينة من البيانات، لا يقوم FLINT بجلب تلك القطعة المنفردة فحسب، بل ينظر إلى تدفق الطلبات القادمة من المعالج ويقوم بتجميعها معاً. إذا طلب المعالج عدة قطع من البيانات التي تصادف وجودها في نفس المنطقة الفيزيائية من شريحة الفلاش، يقوم FLINT بتجميعها في طلب واحد كبير. وهذا يسمح لشريحة الفلاش بقراءة كمية هائلة من البيانات دفعة واحدة، مستغلة سرعتها الكاملة. ثم يحتفظ النظام بهذه البيانات في مخازنه المؤقتة الداخلية، لتكون جاهزة لتقديمها إلى المعالج في الوقت الذي تشتد فيه الحاجة إليها بالضبط. هذا التجميع الديناميكي يعني أن النظام لا يهدر وقته أبداً في جلب بيانات غير مطلوبة، ويحافظ على تدفق خط أنابيب البيانات ممتلئاً ومستمراً.
هناك عقبة رئيسية أخرى أمام تخزين الفلاش وهي أنه يتطلب صيانة. فمع مرور الوقت، يمكن لعملية قراءة البيانات أن تؤدي إلى تدهور الشحنات الكهربائية داخل الشريحة، مما يؤدي إلى حدوث أخطاء. ولإصلاح ذلك، يجب على الشريحة أن تتوقف دورياً وتعيد كتابة البيانات في مواقع جديدة. وفي التصميمات السابقة، كان لا بد من إجراء هذه الصيانة بينما يحاول المعالج قراءة البيانات، مما يتسبب في توقف النظام لفترات طويلة. حل الباحثون هذه المشكلة بإنشاء نظام "المستوى الوهمي" (phantom plane). لقد أضافوا مساحة صغيرة إضافية إلى الشريحة تعمل كمسار احتياطي. وعندما يحتاج قسم من الشريحة إلى الصيانة، يقوم النظام بهدوء بنسخ البيانات إلى هذا المسار الاحتياطي في الخلفية، دون إيقاف التدفق الرئيسي للبيانات إلى المعالج أبداً. يضمن ذلك أن أعمال الصيانة لا تقاطع عمل المعالج، مما يحافظ على سلاسة عمل النظام حتى مع تقادم الشريحة.
قام الفريق أيضاً بتبسيط الطريقة التي يترجم بها النظام طلبات المعالج إلى مواقع فيزيائية على الشريحة. تُبنى أنظمة التخزين القياسية للتعامل مع عمليات الكتابة وإعادة الكتابة المستمرة، مما يتطلب خرائط معقدة وآليات ثقيلة للإدارة. وبما أن أوزان النموذج اللغوي تُكتب مرة واحدة ولا تتغير أبداً، يستخدم FLINT خريطة أبسط وأخف وزناً ومُحسّنة للقراءة فقط. هذا التقليل في التعقيد يعني أن النظام يمكنه ترجمة الطلبات فورياً تقريباً، مما يزيل طبقة أخرى من التأخير.
عندما اختبر الباحثون هذه الأفكار في محاكاة دقيقة، كانت النتائج مذهلة. فقد قارنوا نظامهم الجديد بثلاثة إعدادات أخرى: نظام قياسي يستخدم محركات الأقراص ذات الحالة الصلبة البطيئة، ونظام يستخدم الذاكرة السريعة عبر معالجات عديدة، ومحاولة سابقة لاستخدام تخزين الفلاش. تمكن نظام FLINT من فك تشفير النص، وهي عملية توليد مخرجات النموذج، بسرعة تصل إلى 1,205 مرة أسرع من النظام الذي يستخدم محركات الأقراص ذات الحالة الصلبة. ومقارنة بالنظام الذي يعتمد على عمل العديد من المعالجات معاً، كان FLINT أسرع بأكثر من الضعف في المتوسط. ولعل الأهم من ذلك، أنه حقق هذا الأداء باستخدام عدد أقل بكثير من أجهزة الكمبيوتر. فبالنسبة لمجموعة صغيرة من الطلبات، استطاع جهاز كمبيوتر واحد مجهز بنظام FLINT القيام بالعمل الذي كان يتطلب سابقاً من أربعة إلى ثمانية أجهزة كمبيوتر، وفعل ذلك مع استهلاك طاقة أقل بكثير.
بحثت الدراسة أيضاً في مدى استمرارية النظام. ونظراً لأن تخزين الفلاش يُقرأ باستمرار، فقد كان الباحثون قلقين بشأن سرعة تآكل الشرائح. ووجدوا أن نظام الصيانة الخاص بهم، الذي يعيد كتابة البيانات قبل حدوث الأخطاء، يطيل عمر التخزين لسنوات عديدة، حتى تحت الاستخدام المكثف. تم اختبار النظام مع ستة نماذج مختلفة، تتراوح من النماذج الكثيفة إلى النماذج المعقدة التي تنتقل بين خبراء مختلفين لحل المشكلات، وقد أدى أداءً جيداً في جميع الحالات. وأشار الباحثون إلى أنه بينما يضيف النظام مساحة فيزيائية صغيرة إلى الشريحة، فإن التكلفة ضئيلة مقارنة بالمكاسب الهائلة في السرعة والسعة.
يوضح هذا العمل أن حدود الذكاء الاصطناعي لا تتعلق فقط بمدى ذكاء النماذج، بل أيضاً بكيفية نقل البيانات حولها. ومن خلال إعادة التفكير في كيفية تفاعل التخزين مع المعالج، أظهر الباحثون أنه من الممكن بناء أنظمة تتميز بسعة هائلة وسرعة عالية في آن واحد. يحول نظام FLINT تقنية كانت تعتبر سابقاً بطيئة جداً للاستخدام في الوقت الحقيقي إلى حل عملي للجيل القادم من الذكاء الاصطناعي، مما يسمح بتشغيل النماذج القوية على أجهزة فردية بدلاً من الحاجة إلى مراكز بيانات كاملة. وتشير النتائج إلى أنه مع الهندسة الصحيحة، يمكن التغلب على القيود الفيزيائية للذاكرة، مما يفتح الباب أمام أنظمة ذكاء اصطناعي أكثر قدرة وكفاءة في المستقبل.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.