حاسبة معاملات LoRA
المدخلات
| الطبقات | 32 |
|---|---|
| الوحدات المُكيَّفة في كل طبقة | 4 |
| الحجم المخفي | 4,096 |
| رتبة LoRA | 8 |
حاسبة معاملات LoRA
قدّر عدد المعاملات القابلة للتدريب التي يضيفها ضبط LoRA الدقيق، وذاكرة المُحسِّن التي يتطلبها، انطلاقًا من عدد الطبقات والوحدات المُكيَّفة في كل طبقة والحجم المخفي ورتبة LoRA.
المدخلات
بنية النموذج
مُكيِّف LoRA
النتائج
أدخل قيمة لعرض النتائج.
تفاصيل
معاملات LoRA
التكييف منخفض الرتبة، أو LoRA، هو الطريقة الأشيع لضبط نموذج لغوي كبير ضبطًا دقيقًا بميزانية محدودة. فبدلًا من تحديث كل وزن، يُجمِّد النموذج الأساس ويدرّب زوجًا صغيرًا من المصفوفات منخفضة الرتبة بجوار كل مصفوفة وزن مُكيَّفة. والنتيجة تتصرف كأنها ضبط دقيق كامل تقريبًا، مع لمس جزء ضئيل من المعاملات. تقدّر هذه الحاسبة عدد المعاملات الذي يبلغه هذا الجزء، ومقدار ذاكرة المُحسِّن التي يحتاجها، انطلاقًا من شكل النموذج ورتبة المُكيِّف.
كيف يقلّص LoRA المجموعة القابلة للتدريب
تحوّل مصفوفة وزن المحوِّل متجهًا مخفيًا إلى آخر، فهي لطبقة مربَّعة تحوي نحو من القيم. وضبطها جميعًا دقيقًا مكلِف: إذ يجب على المُحسِّن تخزين التدرّجات والإحصاءات الجارية لكل قيمة. يستبدل LoRA بذلك التحديثَ الكثيف بجداء مصفوفتين رفيعتين — واحدة بحجم وأخرى بحجم ، حيث الرتبة أصغر بكثير من . ولا تتحرك الأوزان الأساس أبدًا؛ بل يُدرَّب هذان العاملان وحدهما، ويُضاف جداؤهما عند الاستدلال إلى المصفوفة الأصلية.
ولأن كل مصفوفة مُكيَّفة تساهم بـ من القيم القابلة للتدريب — أي حين يتساوى عرضا الدخل والخرج — تظل المجموعة القابلة للتدريب عادةً دون واحد بالمئة من النموذج الكامل. وهذا ما يجعل LoRA عمليًا على مُسرِّع واحد.
الصيغة
بعدد طبقات ، وعدد وحدات مُكيَّفة في كل طبقة، ورتبة ، وحجم مخفي ، يكون عدد المعاملات القابلة للتدريب:
P=L⋅m⋅2⋅r⋅dتحتفظ خوارزمية Adam بالدقة المختلطة بنحو ستة عشر بايت من حالة المُحسِّن والأوزان الرئيسة لكل معامل قابل للتدريب — النسخة الرئيسة بدقة 32 بت، إضافةً إلى تقديرَي العزم الأول والثاني — فتكون ذاكرة المُحسِّن بالميجابايت:
M=10616Pويعدّ هذا حالة المُكيِّف فقط. أما النموذج الأساس المُجمَّد فيظل يشغل ذاكرة لأوزانه، لكنه لا يحتاج تدرّجات ولا حالة مُحسِّن، وهنا يكمن مصدر التوفير.
مثال محلول
لنأخذ نموذجًا بـ 32 طبقة، نُكيِّف فيه إسقاطات الانتباه الأربعة في كل طبقة، عند الرتبة 8 وبحجم مخفي 4096:
P=32×4×2×8×4096=8388608أي نحو 8.39 مليون معامل قابل للتدريب. وتكون حالة المُحسِّن:
M=10616×8388608≈134.2 MBولنموذج أساس بسبعة مليارات معامل، تمثّل هذه المُكيِّفات البالغة 8.39 مليون نحو عُشر بالمئة من الكل — ومع ذلك تكفي لتخصيص النموذج لكثير من المهام اللاحقة.
اختيار الرتبة والوحدات
الرتبة هي مِفتاح السعة الرئيس. تشيع الرتب من 4 إلى 8 للتكييف الخفيف للمهام؛ بينما تتيح الرتب من 16 إلى 64 مجالًا أوسع حين تبتعد المهمة الهدف كثيرًا عن بيانات تدريب النموذج الأساس. ومضاعفة الرتبة تضاعف المعاملات القابلة للتدريب وذاكرة المُحسِّن معًا، فلا يجدر رفعها إلا حين تقصر الرتبة الأدنى. ويعكس مُدخَل الوحدات في كل طبقة المصفوفات التي تتلقى مُكيِّفًا: وحدتان للاستعلام والقيمة وحدهما، أو أربع لكتلة الانتباه الكاملة، أو أكثر إذا أُدرِجت مصفوفات التغذية الأمامية.
ولمقارنة المُكيِّف بحجم النموذج الكامل، انظر حاسبة عدد معاملات المحوّل. ولتقدير إجمالي ذاكرة جولة تدريب تشمل الأوزان المُجمَّدة والتنشيطات، انظر حاسبة ذاكرة VRAM لتدريب النماذج اللغوية الكبيرة.
الأسئلة الشائعة (FAQ)
ماذا تتحكم به رتبة LoRA؟
تُحدِّد الرتبة بُعد التحديث منخفض الرتبة المُضاف إلى كل مصفوفة وزن مُكيَّفة. تمنح الرتبة الأعلى المُكيِّف سعة أكبر لالتقاط التغيّرات عن النموذج الأساس، مقابل مزيد من المعاملات القابلة للتدريب وذاكرة المُحسِّن، وكلاهما ينمو طرديًا مع الرتبة. أما الرتبة الأدنى فأصغر وأسرع لكنها قد تقصر عن المهام الأصعب.
تستخدم معظم عمليات الضبط الدقيق رتبة بين 4 و 64، مع 8 أو 16 نقطةَ انطلاق شائعة؛ وتعتمد القيمة الأنسب على مدى ابتعاد المهمة الهدف عن النموذج الأساس.
كم يقلّ حجم ضبط LoRA الدقيق عن الضبط الدقيق الكامل؟
يدرّب LoRA المُكيِّفات منخفضة الرتبة وحدها ويُجمِّد الأوزان الأساس، لذا تظل المجموعة القابلة للتدريب عادةً دون واحد بالمئة من النموذج الكامل. فالنموذج الذي يملك سبعة مليارات معامل ويُكيَّف برتبة متواضعة كثيرًا ما يحوي بضعة ملايين فقط من المعاملات القابلة للتدريب.
ولأن حالة المُحسِّن تتناسب مع المعاملات القابلة للتدريب لا مع إجمالي المعاملات، يكون التوفير في الذاكرة كبيرًا. ويمكن تقدير حجم النموذج الكامل للمقارنة بحاسبة عدّ المعاملات من البنية.
ما الوحدات التي تُكيَّف عادةً؟
الخيار الأشيع هو مصفوفات إسقاط الانتباه — الاستعلام والمفتاح والقيمة والمُخرَج — وهو ما يقابل أربع وحدات في كل طبقة.
تُكيِّف بعض الوصفات إسقاطَي الاستعلام والقيمة وحدهما (وحدتان)، بينما تضيف أخرى مصفوفات التغذية الأمامية لتغطية أوسع مقابل كلفة أعلى في المعاملات. اضبط مُدخَل الوحدات في كل طبقة ليطابق المصفوفات التي تستهدفها إعداداتك.
إخلاء المسؤولية
يفترض هذا التقدير مصفوفات مُكيَّفة مربَّعة، ويعدّ عوامل LoRA وحالة مُحسِّن Adam بالدقة المختلطة عند نحو 16 بايت لكل معامل فقط. ولا يشمل النموذج الأساس المُجمَّد، ولا التنشيطات، ولا تدرّجات المعاملات غير المُكيَّفة، ولا أي ضبط للإزاحة أو التضمينات. عُدّه رقمًا تخطيطيًا لا محاسبةً دقيقة للذاكرة.