الأوراق البحثية · arXiv 2106.09685
LoRA: التكيف منخفض الرتبة للنماذج اللغوية الكبيرة
LoRA: Low-Rank Adaptation of Large Language Models
تاريخ النشر cs.CLcs.AIcs.LG arXivPDF
اقرأ مع الترجمة والذكاء الاصطناعي
الملخص في ثلاثة أسطر
- 🎯 يتطلب الضبط الدقيق الكامل للنماذج اللغوية الهائلة مثل GPT-3 175B إعادة تدريب وتخزين مليارات المعلمات لكل مهمة لاحقة، مما يخلق اختناقات باهظة في التخزين وVRAM والنشر.
- 🔧 يجمد مصفوفات الأوزان المدربة مسبقاً ويحقن مصفوفات تفكيك منخفضة الرتبة قابلة للتدريب () في الطبقات الكثيفة لـ Transformer، مع تحجيم الناتج بنسبة والسماح بدمج الأوزان عند النشر دون تأخير إضافي.
- 📈 بالنسبة لـ GPT-3 175B، يخفض LoRA المعلمات القابلة للتدريب بمقدار 10,000 ضعف وذاكرة VRAM بمقدار 3 أضعاف (من 1.2 تيرابايت إلى 350 جيجابايت) مع مطابقة أداء الضبط الدقيق الكامل أو التفوق عليه في GLUE وWikiSQL وSAMSum.
الملخص
يتمثل أحد النماذج المهمة في معالجة اللغات الطبيعية في التدريب المسبق واسع النطاق على بيانات المجال العام ثم التكيف مع مهام أو مجالات محددة. ومع زيادة حجم النماذج التي ندربها مسبقاً، يصبح الضبط الدقيق الكامل (Full Fine-Tuning)، الذي يعيد تدريب جميع معلمات النموذج، أقل قابلية للتطبيق عملياً. وبأخذ GPT-3 175B كمثال؛ فإن نشر نسخ مستقلة من النماذج المضبوطة دقيقاً، حيث يحتوي كل منها على 175 مليار معلمة، يعد أمراً باهظ التكلفة للغاية. نقترح أسلوب التكيف منخفض الرتبة (Low-Rank Adaptation)، أو LoRA، والذي يجمد أوزان النموذج المدرب مسبقاً ويحقن مصفوفات تفكيك الرتبة القابلة للتدريب في كل طبقة من بنية Transformer، مما يقلل بشكل كبير من عدد المعلمات القابلة للتدريب للمهام اللاحقة. بالمقارنة مع GPT-3 175B المضبوط دقيقاً باستخدام Adam، يستطيع LoRA تقليل عدد المعلمات القابلة للتدريب بمقدار 10,000 مرة ومتطلبات ذاكرة وحدة معالجة الرسوميات (GPU memory) بمقدار 3 مرات. يحقق LoRA أداءً مساوياً للضبط الدقيق أو أفضل منه من حيث جودة النموذج على RoBERTa وDeBERTa وGPT-2 وGPT-3، على الرغم من احتوائه على عدد أقل من المعلمات القابلة للتدريب، وإنتاجية تدريب أعلى، وعلى عكس المحولات (adapters)، لا يضيف أي تأخير إضافي في الاستدلال (inference latency). نقدم أيضاً دراسة تجريبية حول نقص الرتبة في تكيف النماذج اللغوية، مما يسلط الضوء على فاعلية LoRA. نوفر حزمة برمجية تسهل دمج LoRA مع نماذج PyTorch ونقدم تطبيقاتنا ونقاط فحص النماذج لـ RoBERTa وDeBERTa وGPT-2 عبر الرابط https://github.com/microsoft/LoRA.
الملخص الأصلي (بالإنجليزية)
An important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model parameters, becomes less feasible. Using GPT-3 175B as an example -- deploying independent instances of fine-tuned models, each with 175B parameters, is prohibitively expensive. We propose Low-Rank Adaptation, or LoRA, which freezes the pre-trained model weights and injects trainable rank decomposition matrices into each layer of the Transformer architecture, greatly reducing the number of trainable parameters for downstream tasks. Compared to GPT-3 175B fine-tuned with Adam, LoRA can reduce the number of trainable parameters by 10,000 times and the GPU memory requirement by 3 times. LoRA performs on-par or better than fine-tuning in model quality on RoBERTa, DeBERTa, GPT-2, and GPT-3, despite having fewer trainable parameters, a higher training throughput, and, unlike adapters, no additional inference latency. We also provide an empirical investigation into rank-deficiency in language model adaptation, which sheds light on the efficacy of LoRA. We release a package that facilitates the integration of LoRA with PyTorch models and provide our implementations and model checkpoints for RoBERTa, DeBERTa, and GPT-2 at https://github.com/microsoft/LoRA.
دليل القراءة
المشكلة والدوافع
يعتمد تكييف النماذج اللغوية الكبيرة المدربة مسبقاً للمهام اللاحقة المتنوعة تقليدياً على الضبط الدقيق الكامل (تحديث كافة المعلمات إلى ). بالنسبة للنماذج الضخمة مثل GPT-3 175B، فإن تخزين وتشغيل نسخ مستقلة بنماذج حجمها 175 مليار معلمة يعد أمراً باهظ التكلفة من حيث التخزين وذاكرة وحدة معالجة الرسوميات وحمل الإدخال/الإخراج (I/O). تقدم تقنيات الضبط الفعالة من حيث المعلمات السابقة عيوباً واضحة:
- طبقات الموائمات التسلسلية (Series Adapter Layers): تُدخل وحدات عنق الزجاجة بشكل تسلسلي داخل كتل Transformer. ولأن هذه العمليات التسلسلية لا يمكن موازاتها، فإنها تُدخل تأخيراً كبيراً في الاستدلال—مما يبطئ التمريرات الأمامية بنسبة تصل إلى في بيئات الاستدلال الحي للدفعات الصغيرة على وحدة معالجة رسوميات واحدة.
- ضبط البادئة / التوجيه (Prefix / Prompt Tuning): يحسن متجهات توجيه مستمرة مضافة في بداية تنشيطات الطبقات. يصعب تحسين هذه الطرق، وتتدرج بشكل غير رتيب مع طول البادئة، كما تستهلك جزءاً من ميزانية طول السياق المتاحة.
يعالج LoRA هذه المقايضة بين الكفاءة والجودة استناداً إلى فرضية أن تحديثات تكييف الأوزان تمتلك «رتبة جوهرية» (intrinsic rank) منخفضة أثناء الانتقال للمهام اللاحقة.
الأفكار الرئيسية
- إعادة تحديد المعلمات منخفضة الرتبة (Low-Rank Reparametrization): بالنسبة لمصفوفة كثيفة مجمدة ، يتم تحديد معامل تحديث التكيف بالصيغة ، حيث و، وتكون الرتبة .
- انعدام زمن التأخير الإضافي في الاستدلال: نظراً لأن إعادة تحديد المعلمات خطية، يمكن دمج المصفوفات منخفضة الرتبة المدربة مباشرة في الأوزان المدربة مسبقاً () في وقت النشر، مما يؤدي إلى بنية استدلال متطابقة وعدم وجود أي تباطؤ زمني مقارنةً بالنسبة للضبط الدقيق الكامل.
- نموذج أساسي مشترك مع التبديل السريع (Hot-Swapping): يظل النموذج الكبير المجمد ثابتاً في ذاكرة GPU؛ ويتطلب التبديل بين المهام فقط تبديل المصفوفات منخفضة الرتبة و، مما يقلص مساحة التخزين بشكل جذري من مئات الجيجابايت إلى عشرات الميجابايت.
- التكيف الانتقائي لطبقات الانتباه: تطبيق تفكيك الرتبة حصرياً على إسقاطات الانتباه الذاتي (خصوصاً الاستعلام والقيمة ) يحقق أداءً تنافسياً مع إبقاء طبقات التغذية الforward (MLP) مجمدة.
الطريقة
بالنسبة لطبقة إسقاط كثيفة تنتج ، يعدل LoRA الحساب ليصبح:
تفاصيل التنفيذ الرئيسية:
- التهيئة (Initialization): تتم تهيئة باستخدام توزيع غاوسي عشوائي وتتم تهيئة بالأصفار، مما يضمن أن في بداية التدريب.
- معامل التحجيم (Scaling Factor): يتم تحجيم التحديث بواسطة ، حيث هو معامل فائق ثابت. عند التحسين باستخدام Adam، فإن ضبط مساوياً للرتبة الأولية يغني عن إعادة ضبط معدلات التعلم عند تجربة قيم مختلفة لـ .
- دمج النشر (Deployment Merging): في مرحلة الإنتاج، تُجسد مصفوفة الأوزان المكيفة صراحة كـ . وعند تغيير المهام، يُستعاد عن طريق الطرح () وتُدمج مع أوزان الموائم الجديد ().
- الطبقات المستهدفة: على الرغم من إمكانية تطبيقه على أي طبقة كثيفة، تركز التجارب بشكل أساسي على إسقاطات الانتباه في Transformer (). يؤدي تطبيق LoRA مع على و إلى تحقيق الكفاءة المثلى في المهام اللاحقة.
النتائج
- GPT-3 175B: يخفض LoRA المعلمات القابلة للتدريب من 175,255.8M إلى 4.7M ( أو ) أو 37.7M ()، مما يقلل حجم نقطة الفحص من 350 جيجابايت إلى 35 ميجابايت (انخفاض بمقدار 10,000 ضعف) ويقلل ذاكرة VRAM أثناء التدريب من 1.2 تيرابايت إلى 350 جيجابايت. تزداد إنتاجية التدريب بنسبة (من 32.5 إلى 43.1 رمزاً في الثانية لكل وحدة GPU من طراز V100).
- الدقة في المهام اللاحقة (GPT-3):
- دقة التحقق من الصيغة المنطقية في WikiSQL: يحقق الضبط الدقيق الكامل ؛ بينما يحقق LoRA (37.7M) نسبة .
- دقة التحقق المتطابقة في MultiNLI: يحقق الضبط الدقيق الكامل ؛ بينما يحقق LoRA (4.7M) نسبة .
- تلخيص الحوار في SAMSum: سجل الضبط الدقيق الكامل درجات 52.0 / 28.0 / 44.5 في مقاييس ROUGE-1/2/L؛ بينما حقق LoRA (4.7M) درجات 53.8 / 29.8 / 45.9.
- RoBERTa وDeBERTa (مقياس GLUE): في نموذج RoBERTa Large، يطابق LoRA أداء الضبط الدقيق الكامل (متوسط نقاط مقابل ) باستخدام 0.8M معلمة مقابل 355.0M. وفي DeBERTa XXL (1.5B)، حقق LoRA متوسط على GLUE باستخدام 4.7M معلمة مقارنة بـ للضبط الدقيق الكامل (1,500.0M معلمة).
- تحليل الرتبة الجوهرية: يكشف تحليل تشابه الفضاء الجزئي أن الاتجاهات المفردة العليا لـ لكل من و تتداخل بشكل كبير (تشابه معياري للبعد الأول). بالإضافة إلى ذلك، يقوم بتضخيم الاتجاهات الموجودة أصلاً في ولكن غير المؤكد عليها بشدة، مبرزاً معامل تضخيم لـ .
القيود والأسئلة المفتوحة
- معالجة الدفعات لمهام متعددة (Multi-Task Batching): عندما تُدمج الأوزان منخفضة الرتبة داخل لإزالة تأخير الاستدلال، يصبح تجميع المدخلات لمهام متعددة في نفس الوقت خلال تمريرة أمامية واحدة أمراً غير مباشر ومعقداً.
- الاختيار الإرشادي للطبقات: تعتمد الممارسة الحالية على قواعد إرشادية تجريبية (تكييف و) بدلاً من إطار منهجي لتحديد المصفوفات التي ينبغي تكييفها عبر طبقات الانتباه وطبقات MLP.
- الانزياحات الكبيرة في المجال: بالنسبة للمهام اللاحقة التي تختلف جذرياً عن توزيع بيانات التدريب المسبق (مثل تكييف نموذج لغوي إنجليزي مع لغة هدف مختلفة كلياً)، قد يكون التكيف منخفض الرتبة غير كافٍ مقارنة بالتكيف كامل الرتبة أو الضبط الكامل.
المصطلحات الرئيسية
- Low-Rank Adaptation (LoRA)
- طريقة ضبط دقيق فعالة من حيث المعلمات تعمل على تجميد أوزان النموذج الأساسي وتدريب مصفوفات تفكيك منخفضة الرتبة بالتوازي مع الطبقات الكثيفة.
- Intrinsic Rank
- الأبعاد الفعالة المنخفضة أو عدد المتجهات المفردة المطلوبة لتمثيل تكيف المعلمات المفيد أثناء النقل إلى مهمة محددة.
- Adapter Layers
- وحدات عنق زجاجة خارجية تُدرج تسلسلياً في كتل Transformer، وتؤدي إلى عمليات حسابية تسلسلية لا تقبل الموازاة مما يسبب تأخيراً في الاستدلال.
- Prefix Tuning
- استراتيجية تكيف تضيف متجهات قابلة للتدريب في بداية رموز الإدخال أو الحالات المخفية للطبقات، مما يقلل من سياق التسلسل المتاح.
- Weight Folding / Weight Merging
- الجمع الحسابي للمصفوفات منخفضة الرتبة مباشرة في مصفوفة الأوزان المدربة مسبقاً للتخلص من الحمل الزائد أثناء الاستدلال.
- Grassmann Distance Subspace Similarity
- مقياس يقيس التداخل بين الفضاءات المتعامدة للمتجهات المفردة لتحديثات التكيف.
- Feature Amplification Factor
- النسبة بين معيار فروبينيوس لـ وإسقاط على الفضاء الجزئي المفرد لـ ، والتي تقيس مدى تأكيد الاتجاهات الخاصة بالمهمة.
أسئلة شائعة
لماذا لا يُدخل LoRA أي زمن تأخير إضافي في الاستدلال مقارنة بطبقات الموائمات؟
نظراً لأن LoRA خطي ()، يمكن حساب ناتج الضرب منخفض الرتبة صراحة وجمعه مع قبل التشغيل الفعلي (). ومن ثم ينفذ الاستدلال ضرباً قياسياً للمصفوفات دون طبقات عنق الزجاجة التسلسلية التي تسبب التأخير في بنيات الموائمات.
ما هي مصفوفات أوزان Transformer التي ينبغي تطبيق LoRA عليها؟
تُظهر التجارب على GPT-3 أن تكييف أوزان إسقاط كل من الاستعلام () والقيمة () يحقق أفضل أداء ضمن ميزانية معلمات ثابتة. كما أن تكييف عدة مصفوفات انتباه برتبة أصغر (مثل ) يتفوق على تخصيص جميع المعلمات لنوع واحد من المصفوفات برتبة أعلى.
ما هي الرتبة $r$ الكافية لتكييف النماذج اللغوية الكبيرة؟
غالباً ما تكون الرتبة الصغيرة جداً مثل أو أو كافية للمهام اللاحقة. ويوضح تحليل تشابه الفضاء الجزئي أن المتجهات المفردة العليا المكتسبة برتب صغيرة تتداخل بدرجة كبيرة مع تلك المكتسبة برتب أعلى (مثل )، في حين أن الرتب الأعلى تلتقط في الغالب ضوضاء تحسين عشوائية.
كيف يقوم LoRA بتهيئة مصفوفاته منخفضة الرتبة؟
تتم تهيئة المصفوفة باستخدام توزيع غاوسي عشوائي، بينما تتم تهيئة المصفوفة بالأصفار. ويضمن هذا أن يكون في بداية التدريب، مما يترك التمريرة الأمامية للنموذج المدرب مسبقاً دون أي تغيير مبدئي.
كتب الذكاء الاصطناعي الشرح في هذه الصفحة استنادًا إلى الورقة، وقد يحتوي على أخطاء. راجع الورقة للتفاصيل.