FLAT-LLM: Fine-grained Low-rank Activation Space Transformation for Large Language Model Compression
تُعد FLAT-LLM طريقة ضغط هيكلي سريعة وخالية من التدريب، تستخدم تحويلات فضاء تنشيط منخفضة الرتبة دقيقة التفاصيل عبر تحليل المكونات الرئيسية (PCA) على مستوى الرأس وتخصيص الرتبة التكيفي لتقليل حجم نموذج اللغات الكبيرة (LLM) بشكل كبير وتحسين سرعة الاستدلال مع الحفاظ على دقة عالية دون الحاجة إلى إعادة ضبط دقيق للاسترداد.
المؤلفون الأصليون:Jiayi Tian, Ryan Solgi, Jinming Lu, Yifan Yang, Hai Li, Zheng Zhang
تخيل النماذج اللغوية الكبيرة (LLMs) كأنها مكتبات ضخمة وعبقرية تحتوي على مجموع المعرفة البشرية. إنها ذكية للغاية، لكنها أيضًا ضخمة. محاولة تشغيل إحدى هذه المكتبات على جهاز كمبيوتر محمول عادي أو هاتف ذكي تشبه محاولة وضع موسوعة كاملة داخل ساعة جيب؛ فهي ثقيلة جدًا، وتستغرق وقتًا طويلاً للقراءة، وغالبًا ما تؤدي إلى تعطل الجهاز.
تقدم هذه الورقة البحثية طريقة FLAT-LLM، وهي طريقة جديدة لتقليص حجم هذه المكتبات العملاقة لتصبح ذات حجم يمكن التحكم فيه، دون أن تفقد قدرتها على سرد القصص الجيدة أو الإجابة على الأسئلة بدقة. إليك كيف تعمل، باستخدام تشبيهات بسيطة:
1. المشكلة: المكتبة "الثقيلة"
الأساليب الحالية لتقليص حجم هذه النماذج تشبه محاولة وضع وتد مربع في ثقب مستدير.
الأساليب القديمة (مثل SVD): تخيل أنك تحاول ضغط مكتبة عن طريق قطع كل كتاب فيها إلى نصفين ثم لصق الصفحات معًا. أنت توفر المساحة، لكن الكتب تصبح صعبة القراءة، وتصبح المكتبة بطيئة لأنك تضطر لإعادة تجميع الصفحات في كل مرة تريد فيها قراءة جملة.
أساليب أخرى (مثل SliceGPT): تخيل إزالة أرفف كاملة من الكتب لتوفير المساحة. هذا يوفر مساحة، لكنك غالبًا ما تفقد أنواعًا أدبية مهمة، وتضطر لبناء جسور غريبة (نماذج مهايئة/adapters) لربط الأرفف المتبقية ببعضها، مما يبطئ سرعة الحركة.
2. الحل: FLAT-LLM (المصنف الذكي)
تتبع FLAT-LLM نهجًا مختلفًا. فبدلاً من قطع الكتب أو إزالة الأرفف، فهي تعمل مثل أمين مكتبة فائق الكفاءة يعيد تنظيم المكتبة بناءً على ما يقرأه الناس بالفعل.
الخطوة أ: التصنيف "بناءً على الرؤوس" (تحليل المكونات الرئيسية الدقيق - Fine-Grained PCA)
داخل النموذج، تتم معالجة المعلومات في العديد من "الرؤوس" المتوازية (تخيلها كأقسام مختلفة في شركة).
الرؤية المستخلصة: لاحظت الورقة البحثية أنه في قسم "القيمة" (حيث تُخزن المعلومات)، تكون معظم البيانات في الواقع زائدة عن الحاجة. الأمر يشبه امتلاك 100 نسخة من نفس المذكرة.
الحيلة: تستخدم FLAT-LLM أداة رياضية تسمى PCA (تحليل المكونات الرئيسية) للنظر في البيانات في كل قسم على حدة. إنها تحدد "أهم 10% من المذكرات" التي تحتوي على 90% من المعلومات المهمة وتتخلص من الباقي.
السحر: بدلاً من مجرد التخلص من الباقي، تقوم FLAT-LLM بامتصاص الأجزاء الضرورية من البيانات المستبعدة ودمجها مباشرة في الكتب المتبقية. هذا يعني أن المكتبة تصبح أصغر، لكن الكتب لا تزال تحتوي على كل المعاني الأساسية. لا حاجة لجسور إضافية أو نماذج مهايئة.
الخطوة ب: "الميزانية الجشعة" (اختيار الرتبة المحافظ على الأهمية)
ليست كل الأقسام في المكتبة متساوية في الأهمية. بعضها يتعامل مع مهام بسيطة (مثل "مرحبًا")، بينما يتعامل البعض الآخر مع استدلال معقد (مثل "حل هذه المسألة الرياضية").
المشكلة: إذا قمت بتقليص كل قسم بنفس المقدار تمامًا (على سبيل المثال، تقليص 20% من موظفي كل قسم)، فإن الأقسام المعقدة ستنهار، ويصبح النموذج غبيًا.
الحل: تستخدم FLAT-LLM استراتيجية إعادة توزيع جشعة. إنها تعمل مثل مدير ذكي ينظر إلى "درجة الأهمية" لكل قسم.
تمنح الأقسام المعقدة والحساسة عددًا أكبر من الموظفين (تحافظ على حجمها كبيرًا).
وتقوم بتقليص الأقسام البسيطة والمتكررة بشكل أكبر بكثير.
النتيجة: يتقلص الحجم الإجمالي بشكل كبير، لكن "عقل" النموذج يظل حادًا لأن الأجزاء الحرجة تم حمايتها. وتستغหว عملية إعادة التنظيم هذه بالكامل في دقائق معدودة ولا تتطلب إعادة تدريب (المكتبة لا تحتاج لتعلم أشياء جديدة؛ هي فقط تحتاج لإعادة تنظيم).
3. النتائج: أسرع وأذكى
اختبر المؤلفون هذه الطريقة على عدة نماذج شهيرة (مثل Llama-2 و Mistral) ووجدوا ما يلي:
جودة أفضل: مقارنة بطرق التقليص الأخرى، ارتكبت نماذج FLAT-LLM أخطاءً أقل وكتبت نصوصًا أفضل (انخفاض في "الارتباك/perplexity"، وهو مصطلح تقني يعني "أقل حيرة").
السرعة: نظرًا لأن النموذج أصبح انسيابيًا ولا يحتاج إلى جسور إضافية غريبة، فإنه يعمل بسرعة أكبر بمقدار 1.5 إلى 1.6 مرة على الأجهزة القياسية.
الذاكرة: يستخدم ذاكرة أقل بكثير، مما يجعل من الممكن تشغيل هذه النماذج على أجهزة لم تكن قادرة على التعامل معها سابقًا.
لا يتطلب ضبطًا دقيقًا (No Fine-Tuning): على عكس الأساليب الأخرى التي تتطلب أسابيع من إعادة التدريب لإصلاح الضرر الناتج عن التقليص، تعمل FLAT-LLM فورًا بعد عملية إعادة التنظيم.
ملخص
فكر في FLAT-LLM كأنها شعاع تقليص ذكي وجراحي. فبدلاً من قطع النموذج إلى نصفين بشكل عشوائي أو إزالة أجزاء كاملة منه، تقوم بتحليل الأجزاء التي تقوم بالعمل الشاق والأجزاء التي تشغل مساحة فقط. إنها تقص الزوائد، وتعيد توزيع العضلات، وتضغط كل شيء بإحكام، مما ينتج عنه نموذج أصغر، وأسرع، وبنفس ذكاء النموذج الأصلي.
ملخص تقني: FLAT-LLM
بيان المشكلة
حققت النماذج اللغوية الكبيرة (LLMs) أداءً فائقاً، لكنها تواجه تحديات كبيرة في النشر ضمن البيئات محدودة الموارد بسبب عدد معاملاتها الضخم ومتطلباتها الحسابية العالية. وبينما توجد تقنيات لضغط النماذج مثل التكميم (Quantization)، وتقطير المعرفة (Knowledge Distillation)، والتقليم (Pruning)، والتحلل منخفض الرتبة (Low-rank Decomposition)، إلا أن طرق التحلل منخفض الرتبة الحالية تعاني من قيود حرجة:
تدهور الدقة: غالباً ما تتطلب عملية تفكيك القيم المفردة (SVD) القياسية تقريبات عالية الرتبة للحفاظ على المعلومات، مما يفشل في تقليل المعاملات بشكل كبير، خاصة بالنسبة للمصفوفات المربعة الشائعة في نماذج LLM (مثل Llama). ويؤدي قطع الكثير من القيم المفردة إلى فقدان جوهري في المعلومات.
بنى غير فعالة: الطرق مثل SliceGPT، التي تقوم بإسقاط الحالات الخفية (Hidden States) في فضاءات منخفضة الرتبة، غالباً ما تتطلب إدراج وحدات محول (Adapter Modules) على مسارات المتبقي (Residual Paths). وهذا يؤدي إلى عبء إضافي في الذاكرة ويحد من سرعة الاستنتاج.
تكاليف معايرة عالية: طرق تحديد الرتب التكيفية (مثل Adaptive SVD) تتطلب غالباً إعادة تدريب خاصة بالمهمة أو ضبطاً مكثفاً للمعلمات الفائقة (Hyperparameters)، مما يجعلها غير عملية للتوسع مع النماذج الكبيرة (مثل LLaMA-70B).
المنهجية
يقترح المؤلفون FLAT-LLM (التحويل منخفض الرتبة لتمثيل التنشيط الدقيق للنماذج اللغوية الكبيرة)، وهو طريقة ضغط هيكلية لا تتطلب تدريباً وتعمل ضمن فضاء التنشيط لطبقات الانتباه متعدد الرؤوس (MHA).
1. قطع الأوزان بناءً على تحليل المكونات الرئيسية (PCA) لكل رأس
يستغل FLAT-LLM الطبيعة منخفضة الرتبة لفضاءات التنشيط عبر إجراء تحليل المكونات الرئيسية (PCA) لكل رأس على حدة داخل وحدة MHA.
الآلية: لكل رأس انتباه، تحسب الطريقة مصفوفة التباين لمخرجات القيمة (Yvh) باستخدام عينات المعايرة. ثم تقوم بإجراء PCA للحصول على المتجهات الذاتية.
الامتصاص المشترك: بدلاً من مجرد قطع الأوزان، يقوم FLAT-LLM بقطع المتجهات الذاتية إلى رتبة منخفضة r وامتصاص القاعدة الناتجة في مصفوفات إسقاط القيمة (Wvh) والمخرجات (Woh). هذا يحول الحساب من Yoh=Softmax(Ah)X(Wvh)⊤(Woh)⊤ إلى شكل مضغوط حيث يتم تقليل البعد الوسيط من dhid إلى r.
التعامل مع الاستعلام (Query) والمفتاح (Key): بينما يتم ضغط أوزان القيمة والمخرجات بشكل مشترك، يتم ضغط إسقاطات الاستعلام والمفتاح بشكل مستقل باستخدام نفس إجراء PCA لكل رأس. ويجادل المؤلفون بأن تطبيق PCA لكل رأس على هذه الإسقاطات يعطي خطأ تقريب أقل مقارنة بالتحلل منخفض الرتبة للمصفوفة الكاملة عند نفس مستوى التخلخل.
التوافق: هذا النهج متوافق مع بنيات انتباه الاستعلام المجمعة (GQA) ولا يضيف أي عبء إضافي في الذاكرة من وحدات المحول.
2. اختيار الرتبة المحافظة على الأهمية (IPRS)
إدراكاً منها بأن الأبعاد الجوهرية تختلف عبر طبقات فك التشفير، يستخدم FLAT-LLM استراتيجية إعادة توزيع جشعة لتخصيص رتب غير متجانسة.
مقياس الأهمية: تحسب الطريقة تشابه جيب التمام (Cosine Similarity) بين الحالات الخفية المدخلة والمخرجة لكل طبقة من طبقات فك التشفير. ويتم اشتقاق انحراف زاوي معياري (tl) ليعمل كمقياس للأهمية، حيث يشير الانحراف الأعلى إلى أن الطبقة أقل قابلية للضغط (أي ذات بُعد جوهري أعلى).
إعادة التوزيع الجشعة: تقوم خوارزمية جشعة (الخوارزمية 1) بتخصيص ميزانية الرتبة المتبقية. فهي تخصص الرتب بشكل متكرر بما يتناسب مع مقاييس الأهمية، مع قص القيم التي تتجاوز الحد الأعلى (نسبة الرتبة 1) وإعادة توزيع الميزانية المتبقية على الطبقات الأخرى. هذا يضمن تحقيق نسبة الضغط الإجمالية مع الحفاظ على القدرة في الطبقات الحرجة.
الكفاءة: عملية الاختيار لا تتطلب ضبطاً وتكتمل في ثوانٍ معدودة، مما يوفر كفاءة زمنية تزيد عن 100 ضعف مقارنة بطرق اختيار الرتب القائمة على الشبكات الفائقة (Hypernetworks) القابلة للتدريب.
المساهمات الرئيسية
ضغط دقيق لا يتطلب تدريباً: تقنية مبتكرة تعمل ضمن طبقات الانتباه متعدد الرؤوس باستخدام PCA لكل رأس، مما يتجنب عدم كفاءة الطرق السابقة القائمة على التحلل والتي تتطلب ضبطاً دقيقاً أو تسبب عبء وحدات المحول.
خوارزمية مبتكرة لاختيار الرتب: استراتيجية إعادة توزيع جشعة ومحافظة على الأهمية (IPRS) تخصص الرتب بشكل تكيفي عبر طبقات فك التشفير دون الحاجة إلى إعادة تدريب خاصة بالمهمة أو ضبط مكثف للمعلمات الفائقة.
التحقق النظري والتجريبي: تحليل نظري يثبت أن خطأ القطع يتوافق مباشرة مع مجموع القيم الذاتية المقطوعة، مما يضمن أدنى خطأ في إعادة البناء. وتظهر التقييمات الواسعة تفوقاً في التعميم والأداء في المهام النهائية مقارنة بالنماذج المرجعية للتقليم الهيكلي والتحلل منخفض الرتبة.
النتائج التجريبية
تم تقييم الطريقة على خمسة نماذج (Llama-2 7B, 13B, 70B; Llama-3 8B; Mistral-7B) عبر 11 مجموعة بيانات ومعدلات ضغط مختلفة.
الأداء: يتفوق FLAT-LLM باستمرار على النماذج المرجعية للتقليم الهيكلي (LLM-Pruner, FLAP, SliceGPT, SVD-LLM) في كل من إدراك لغة النموذج (Perplexity) ودقة المهام النهائية (مثل MMLU, ARC, PIQA). على سبيل المثال، في نموذج Llama-2 13B مع نسبة ضغط 20%، حقق FLAT-LLM متوسط دقة قدره 63.00%، متفوقاً بشكل كبير على SliceGPT (50.58%) و SVD-LLM (55.86%).
كفاءة الاستنتاج: على عكس SliceGPT، الذي يتسبب في عبء في الذاكرة، يقلل FLAT-LLM من ذاكرة التنشيط في ذاكرة التخزين المؤقت للقيمة (Value Cache). كما يحقق تسريعاً في الاستنتاج يزيد عن 1.50 ضعف عبر جميع نسب الضغط (10%–50%) في نموذج Llama-2 7B، مع ذروة تسريع تصل إلى 1.68 ضعف عند ضغط 10%. كما يقلل من استخدام الذاكرة بنسبة تصل إلى 20% مقارنة بـ SVD-LLM و SliceGPT.
كفاءة المعايرة: تتطلب الطة دقائق معدودة فقط للمعايرة باستخدام 256 عينة، دون الحاجة إلى تدريب استردادي (Recovery Fine-tuning).
الدمج مع التكميم: عند دمجه مع التكميم بعد التدريب (GPTQ)، يتيح FLAT-LLM ضغط النموذج بمقدار 5 إلى 8 أضعاف مع تدهور طفيف جداً في الدقة مقارنة بالتكميم وحده.
الأهمية والادعاءات
يدعي البحث أن FLAT-LLM يمثل تقدماً كبيراً في ضغط LLM من خلال معالجة المقايضة بين نسبة الضغط، والدقة، وكفاءة الاستنتاج. تكمن أهميته الأساسية في:
إلغاء الحاجة إلى التدريب الاستردادي، مما يجعله قابلاً للتوسع بشكل كبير مع النماذج الضخمة.
تحقيق الضغط الهيكلي دون عبء في الذاكرة، على عكس الطرق التي تدرج طبقات المحول.
تقديم حل قوي لا يتطلب تدريباً يحافظ على الأداء العالي عبر بنيات متنوعة (بما في ذلك النماذج الأحدث مثل Mistral و Llama-3) ومستويات ضغط مختلفة.
يشير المؤلفون إلى أنه بينما يوفر FLAT-LLM تسريعاً كبيراً في الإنتاجية، فإن الأمر يتطلب المزيد من التحسينات على مستوى نواة CUDA لتحقيق كامل إمكانات التسريع في الممارسة العملية، كما تركوا مسألة تخصيص الرتب المدركة للأجهزة (Hardware-aware) للعمل المستقبلي.