Search⌘ K
AI Features

التكيف منخفض الرتبة (LoRA)

تعرف على تقنية التكيف منخفض الرتبة، وكيفية عملها أثناء ضبط النموذج بدقة، والمعلمات المختلفة المطلوبة لتنفيذها.

مع التطور السريع في مجال الذكاء الاصطناعي التوليدي، أصبحت نماذج التعلم الآلي جزءًا لا يتجزأ من حياتنا اليومية وعملياتنا التجارية. فهي تُحدث تحولًا جذريًا في أساليب تفاعلنا وعملنا وابتكارنا. وإلى جانب قدراتها المذهلة، غالبًا ما تتطلب هذه النماذج تدريبًا على مهام أو مجموعات بيانات أو مجالات محددة لتحقيق الأداء الأمثل. يساعدنا الضبط الدقيق على تدريب النموذج على مهام ومجموعات بيانات محددة، مما يُطلق العنان لإمكاناته الكاملة، إلا أنه عملية مكلفة حسابيًا وتستغرق وقتًا طويلًا. ومع توسع آفاق الذكاء الاصطناعي، تبرز الحاجة إلى تطوير تقنيات فعالة واقتصادية للضبط الدقيق، بما يضمن تحقيق أقصى أداء للنموذج.

في عام ٢٠٢٣، أطلقت Hugging Face رسميًا تقنية الضبط الدقيق الفعال للمعلمات (PEFT)، وهي منهجية تُدرّب النموذج باستخدام عدد قليل من المعلمات دون المساس بأدائه. تُطبّق تقنية PEFT عبر تقنيات متنوعة، إحداها هي التكيف منخفض الرتبة (LoRA)، وهي طريقة فعّالة لضبط نماذج التعلم الخطي (LLMs) بدقة، مع تحقيق التوازن بين الكفاءة وقابلية التكيف. دعونا نتعمق في تفاصيل تقنية LoRA ونرى كيف تعمل.

ما هي تقنية LoRA؟

LoRA هي تقنية تعمل عن طريق إضافة أوزان مُعاد ضبطها إلى نموذج مُدرَّب مسبقًا دون تعديل الأوزان الأصلية. تستخدم هذه التقنية تحويلًا منخفض الرتبة لإعادة ضبط أوزان النموذج باستخدام مصفوفتين منخفضتي الرتبة. يتم تدريب هاتين المصفوفتين فقط لتكييف النموذج مع مهمة جديدة، مما يقلل بشكل فعال من عدد المعلمات القابلة للتدريب. يُقلل هذا النهج بشكل كبير من التكاليف الحسابية ووقت التدريب، مما يجعل LoRA حلاً جذابًا لضبط النموذج بدقة وكفاءة.

كيف تعمل تقنية LoRa؟

تعمل خوارزمية LoRA عن طريق تجزئة مصفوفات الأوزان للنموذج المُدرَّب مسبقًا إلى مصفوفات أصغر ذات رتبة أقل تُقارب المصفوفات الأكبر. تُدخَل هذه المصفوفات الجديدة في كل طبقة من طبقات المحوّل وتُدرَّب للتكيف مع مجموعة البيانات. تُجمَّد الأوزان الأصلية للنموذج المُدرَّب مسبقًا لتجنب النسيان الكارثي. ثم تُدمج الأوزان المُحدَّثة مع الأوزان الأصلية لإنتاج النتائج.

Working of LoRA
Working of LoRA

Let’s understand this by taking an example. Consider a weight matrix WW with dimensions [m×n][m \times n] of a random layer of a pretrained model.

ملاحظة: مصفوفات الأوزان الأصلية كبيرة الحجم. نستخدم مصفوفة أوزان صغيرة ذات قيم عشوائية لتوضيح المفهوم.

Weight matrix of the pretrained model
Weight matrix of the pretrained model

LoRA adds new weights to the transformer layer obtained by decomposing the original weight matrix WW into two low-rank matrices, say A with dimensions [m×k][m \times k] ...