اختبار: الغوص العميق في LoRA
اختبر معرفتك بالرياضيات، التنفيذ، وأفضل الممارسات في LoRA.
30 سؤالًا - انقر على كل سؤال لكشف الإجابة الصحيحة.
السؤال 1
ما الذي يرمز إليه LoRA؟
A) Low-Rank Adaptation
B) Linear Output Regularization Algorithm
C) Layer-wise Optimization for Representations
D) Large Output Reduction Approach
إظهار الإجابة
الإجابة الصحيحة: A
LoRA يرمز إلى Low-Rank Adaptation، مشيرًا إلى تحليل المصفوفة ذات الرتبة المنخفضة المستخدمة لتمثيل تحديثات الأوزان.
السؤال 2
كيف يمثل LoRA تحديثات الأوزان؟
A) كمصفوفة واحدة
B) كمنتج لمصفوفتين ذات رتبة منخفضة (BA)
C) كمصفوفة متفرقة
D) كمتجه
إظهار الإجابة
الإجابة الصحيحة: B
LoRA يمثل تحديثات الأوزان ΔW كمنتج لمصفوفتين: B (d×r) و A (r×k)، حيث r أصغر بكثير من d و k.
السؤال 3
لماذا يتم تهيئة مصفوفة B إلى الصفر؟
A) لتسريع التدريب
B) بحيث BA=0 في البداية، مما يبقي المخرج الأولي دون تغيير
C) لتوفير الذاكرة
D) يتم تهيئته عشوائيًا، وليس إلى الصفر
إظهار الإجابة
الإجابة الصحيحة: B
عندما يتم تهيئة B إلى الصفر، يكون BA=0، مما يعني أن النموذج يبدأ بنفس السلوك تمامًا كنموذج الأساس، مما يضمن بداية تدريب مستقرة.
السؤال 4
ما هو عامل التحجيم الفعال لـ r=16 و alpha=32؟
A) 0.5
B) 1.0
C) 2.0
D) 16
إظهار الإجابة
الإجابة الصحيحة: C
التحجيم الفعال هو alpha/r = 32/16 = 2.0.
السؤال 5
بالنسبة لمصفوفة أوزان 4096×4096 مع r=16، كم عدد معلمات LoRA المضافة؟
A) 16,777,216
B) 131,072
C) 65,536
D) 4,194,304
إظهار الإجابة
الإجابة الصحيحة: B
LoRA يضيف r×d + r×k = 16×4096 + 16×4096 = 131,072 معلمة.
السؤال 6
أي الطبقات تستهدف عادةً LoRA في المحولات؟
A) فقط طبقات التضمين
B) إسقاطات الاستعلام، المفتاح، والقيمة (q_proj, k_proj, v_proj)
C) فقط طبقة المخرج
D) تطبيع الطبقة
إظهار الإجابة
الإجابة الصحيحة: B
طبقات إسقاط الانتباه (q_proj, k_proj, v_proj, o_proj) هي المستهدفة عادةً لـ LoRA.
السؤال 7
ما هو الغرض من معلمة lora_alpha؟
A) ضبط معدل التعلم
B) تحجيم مساهمة تحديثات LoRA
C) تحديد حجم الدفعة
D) التحكم في معدل الإسقاط
إظهار الإجابة
الإجابة الصحيحة: B
lora_alpha هو عامل تحجيم يتحكم في حجم مساهمة LoRA. التحجيم الفعال هو alpha/r.
السؤال 8
ما هي الدالة المستخدمة لتطبيق LoRA على نموذج؟
A) apply_lora()
B) get_peft_model()
C) create_lora()
D) add_adapter()
إظهار الإجابة
الإجابة الصحيحة: B
get_peft_model(base_model, lora_config) تُستخدم لتغليف نموذج الأساس بتكوين LoRA.
السؤال 9
ما الذي يفعله model.merge_and_unload()؟
A) يحفظ النموذج على القرص
B) يدمج أوزان LoRA في نموذج الأساس ويزيل المحول
C) يحمل محولًا جديدًا
D) يفرغ ذاكرة GPU
إظهار الإجابة
الإجابة الصحيحة: B
merge_and_unload() يدمج أوزان محول LoRA في أوزان نموذج الأساس، مما يخلق نموذجًا قياسيًا بدون عبء المحول.
السؤال 10
ما هو معدل التعلم النموذجي لضبط LoRA؟
A) 1e-2
B) 1e-4 إلى 5e-4
C) 1e-6
D) 1.0
إظهار الإجابة
الإجابة الصحيحة: B
ضبط LoRA عادةً يستخدم معدلات تعلم في نطاق 1e-4 إلى 5e-4، أعلى من الضبط الكامل.
السؤال 11
ما هو الرتبة الموصى بها لبدء تجارب LoRA؟
A) r=1
B) r=16
C) r=256
D) r=1024
إظهار الإجابة
الإجابة الصحيحة: B
r=16 هو نقطة بداية شائعة، حيث يوفر توازنًا جيدًا بين السعة والكفاءة.
السؤال 12
ماذا يعني "الرتبة المنخفضة" في LoRA؟
A) النموذج مصنف بجودة منخفضة
B) المصفوفات ذات أبعاد صغيرة (r أصغر بكثير من d)
C) معدل التعلم منخفض
D) النموذج يحتوي على طبقات قليلة
إظهار الإجابة
الإجابة الصحيحة: B
"الرتبة المنخفضة" تعني أن البعد الوسيط r أصغر بكثير من الأبعاد الأصلية (r ≪ d)، مما يؤدي إلى عدد أقل من المعلمات.
السؤال 13
ما هو العبء الزائد للاستدلال في LoRA بعد الدمج؟
A) أبطأ بنسبة 10%
B) أبطأ بنسبة 50%
C) صفر (مطابق لنموذج الأساس)
D) أبطأ بمرتين
إظهار الإجابة
الإجابة الصحيحة: C
بعد الدمج، تصبح أوزان LoRA جزءًا من أوزان نموذج الأساس، مما يؤدي إلى عدم وجود عبء إضافي في الاستدلال.
السؤال 14
ما هي العلاقة بين alpha والرتبة عادةً؟
A) يجب أن تكون Alpha أصغر بكثير من الرتبة
B) Alpha عادةً 1-2x الرتبة
C) Alpha تساوي مربع الرتبة
D) لا علاقة بينهما
إظهار الإجابة
الإجابة الصحيحة: B
الممارسة الشائعة هي ضبط alpha لتكون 1-2x الرتبة (مثلًا، r=16، alpha=32).
السؤال 15
كيف تتحقق من المعلمات القابلة للتدريب في نموذج PEFT؟
A) model.count_params()
B) model.print_trainable_parameters()
C) model.trainable()
D) model.params()
إظهار الإجابة
الإجابة الصحيحة: B
model.print_trainable_parameters() يعرض عدد ونسبة المعلمات القابلة للتدريب.
السؤال 16
ما هو استخدام lora_dropout؟
A) تقليل حجم النموذج
B) تنظيم لمنع الإفراط في التكييف
C) تسريع التدريب
D) تحسين الذاكرة
إظهار الإجابة
الإجابة الصحيحة: B
lora_dropout يطبق تنظيم الإسقاط على طبقات LoRA للمساعدة في منع الإفراط في التكييف.
السؤال 17
ما هي معلمة التحيز في LoraConfig؟
A) ضبط تحيز معدل التعلم
B) ما إذا كان سيتم تدريب مصطلحات التحيز في طبقات LoRA
C) تحيز أخذ العينات من البيانات
D) تصحيح تحيز التدرج
إظهار الإجابة
الإجابة الصحيحة: B
معلمة التحيز تتحكم فيما إذا كان سيتم تدريب مصطلحات التحيز: "none" (لا تدرب)، "all" (تدرب الكل)، أو "lora_only" (تدرب فقط تحيزات LoRA).
السؤال 18
ما هي معادلة التمرير الأمامي في LoRA؟
A) h = Wx
B) h = Wx + BAx
C) h = BA + Wx
D) h = W + BA
إظهار الإجابة
الإجابة الصحيحة: B
التمرير الأمامي هو h = Wx + (α/r)BAx، يجمع بين المسار الأساسي المجمد مع مسار LoRA القابل للتدريب.
السؤال 19
ما الذي يجعل LoRA فعالًا في الذاكرة أثناء التدريب؟
A) ضغط النموذج
B) تخزين التدرجات/المحسن فقط للمحولات الصغيرة، وليس الأوزان المجمدة
C) استخدام int8 افتراضيًا
D) تقليل حجم الدفعة تلقائيًا
إظهار الإجابة
الإجابة الصحيحة: B
تأتي وفورات الذاكرة من عدم تخزين التدرجات وحالات المحسن للأوزان الأساسية المجمدة—فقط معلمات LoRA الصغيرة تحتاج إليها.
السؤال 20
هل يمكن استخدام محولات LoRA متعددة على نموذج أساسي واحد؟
A) لا، يسمح بمحول واحد فقط
B) نعم، باستخدام add_adapter و set_adapter
C) محولين فقط
D) فقط أثناء التدريب
إظهار الإجابة
الإجابة الصحيحة: B
يمكن إضافة محولات متعددة باستخدام add_adapter() والتبديل بينها باستخدام set_adapter().
السؤال 21
ما هو استخدام TaskType.CAUSAL_LM؟
A) مهام التصنيف
B) نمذجة اللغة السببية (توليد النصوص)
C) توليد الصور
D) الترجمة فقط
إظهار الإجابة
الإجابة الصحيحة: B
TaskType.CAUSAL_LM يشير إلى أن النموذج يستخدم لنمذجة اللغة السببية، وهو توليد النصوص القياسي.
السؤال 22
ماذا يجب أن تفعل إذا كان فقدان التدريب NaN؟
A) زيادة معدل التعلم
B) خفض معدل التعلم، تمكين قص التدرج
C) استخدام حجم دفعة أكبر
D) التدريب لفترة أطول
إظهار الإجابة
الإجابة الصحيحة: B
عادةً ما يشير فقدان NaN إلى عدم استقرار عددي. تشمل الحلول خفض معدل التعلم، تمكين قص التدرج، والتحقق من مشاكل البيانات.
السؤال 23
ما هو حجم ملف محول LoRA النموذجي لنموذج 7B؟
A) ~15GB
B) ~1GB
C) ~10-50MB
D) ~500MB
إظهار الإجابة
الإجابة الصحيحة: C
ملفات محول LoRA عادةً ما تكون 10-50MB، مقارنة بالنماذج الكاملة التي تكون ~15GB+ لـ 7B معلمات.
السؤال 24
ما هو DoRA؟
A) تنسيق مجموعة بيانات
B) Weight-Decomposed Low-Rank Adaptation
C) نوع من المحسنات
D) بنية نموذج
إظهار الإجابة
الإجابة الصحيحة: B
DoRA (Weight-Decomposed Low-Rank Adaptation) هو نوع من LoRA يفصل بين حجم الوزن والاتجاه.
السؤال 25
كيف تحفظ فقط محول LoRA؟
A) model.save_pretrained(path)
B) model.save_weights(path)
C) model.save_adapter(path)
D) كلا A و C يعملان
إظهار الإجابة
الإجابة الصحيحة: A
model.save_pretrained(path) على نموذج PEFT يحفظ فقط المحول افتراضيًا، وليس نموذج الأساس.
السؤال 26
ما هو الغرض من التحقق من التدرج مع LoRA؟
A) حفظ نقاط التحقق من التدريب
B) مبادلة الحساب بالذاكرة لتقليل استخدام VRAM
C) تدريب أسرع
D) جودة أفضل
إظهار الإجابة
الإجابة الصحيحة: B
التحقق من التدرج يعيد حساب التنشيطات أثناء تمرير الخلفية بدلًا من تخزينها، مما يقلل من استخدام الذاكرة على حساب حساب إضافي.
السؤال 27
ما هي المعلمة التي تحدد أي الطبقات تحصل على LoRA؟
A) r
B) lora_alpha
C) target_modules
D) lora_dropout
إظهار الإجابة
الإجابة الصحيحة: C
معلمة target_modules تحدد أي مصفوفات الأوزان تحصل على محولات LoRA.
السؤال 28
ما هي صيغة عدد المعلمات في LoRA؟
A) d × k
B) r × (d + k)
C) r × r
D) d + k
إظهار الإجابة
الإجابة الصحيحة: B
LoRA يضيف r×d (لـ B) + r×k (لـ A) = r×(d+k) معلمات لكل مصفوفة وزن.
السؤال 29
لماذا يعمل LoRA بشكل جيد لضبط النماذج؟
A) يستخدم المزيد من المعلمات
B) تحديثات الضبط لها أبعاد داخلية منخفضة
C) يدرب أسرع دائمًا
D) صممته OpenAI
إظهار الإجابة
الإجابة الصحيحة: B
تظهر الأبحاث أن تحديثات الضبط غالبًا ما تقع في فضاء منخفض الأبعاد، مما يعني أنه يمكن تمثيلها بشكل فعال بمصفوفات ذات رتبة منخفضة.
السؤال 30
ما هو النهج الموصى به لنشر الإنتاج؟
A) احتفظ بالمحول منفصلًا دائمًا
B) دمج المحول في نموذج الأساس لتبسيط النشر
C) استخدم الضبط الكامل بدلًا من ذلك
D) لا تستخدم LoRA في الإنتاج أبدًا
إظهار الإجابة
الإجابة الصحيحة: B
بالنسبة للإنتاج، دمج المحول في نموذج الأساس يبسط النشر ويزيل عبء المحول في الاستدلال.
النتائج
| النتيجة | المستوى |
|---|---|
| 27-30 | ممتاز - خبير LoRA! |
| 21-26 | جيد - راجع تفاصيل التنفيذ |
| 15-20 | متوسط - أعد زيارة جميع الفصول |
| أقل من 15 | يحتاج إلى مراجعة شاملة |