إنتقل إلى المحتوى الرئيسي

الفصل 1: ما هو QLoRA؟

التكيف منخفض الرتبة المكمم​

يجمع QLoRA بين التكميم 4-بت وLoRA لتقليل متطلبات الذاكرة بشكل كبير مع الحفاظ على الجودة.


ابتكار QLoRA​

مقارنة الذاكرة​

النموذجFT الكاملLoRAQLoRA
7B~80GB~14GB~6GB
13B~160GB~26GB~10GB
70B~600GB~140GB~48GB

كيف يعمل QLoRA​

  1. تحميل النموذج الأساسي في 4-بت (صيغة NF4)
  2. إضافة محولات LoRA بدقة أعلى (bf16/fp16)
  3. تدريب فقط معلمات LoRA
  4. تدفق التدرجات عبر الأوزان المفككة
from transformers import BitsAndBytesConfig, AutoModelForCausalLM
from peft import LoraConfig, get_peft_model

# تكوين 4-بت
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_use_double_quant=True,
)

# تحميل النموذج المكمم
model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Llama-3.1-8B",
quantization_config=bnb_config,
device_map="auto",
)

# إضافة LoRA في الأعلى
lora_config = LoraConfig(r=16, lora_alpha=32, ...)
model = get_peft_model(model, lora_config)

المكونات الرئيسية​

NF4 (NormalFloat 4-بت)​

صيغة تكميم مصممة للأوزان الموزعة بشكل طبيعي:

  • عدد متساوٍ من القيم في كل حاوية
  • أفضل لأوزان الشبكات العصبية من التكميم المنتظم

التكميم المزدوج​

يكمم ثوابت التكميم:

  • يوفر حوالي 0.4 بت إضافية لكل معلمة
  • توفير إضافي في الذاكرة بنسبة ~11%

المحسنات المجزأة​

تتعامل مع ارتفاعات الذاكرة أثناء التدريب:

  • تنقل حالات المحسن إلى CPU عند الحاجة
  • تمنع أخطاء OOM

المقايضة بين الجودة والذاكرة​

الطريقةالذاكرةالجودة (نسبية)
FT الكامل100%100%
LoRA18%99%
QLoRA8%98%

يحقق QLoRA حوالي 98% من جودة التخصيص الكامل باستخدام حوالي 8% من الذاكرة.


متى تستخدم QLoRA​

✅ استخدم QLoRA عندما:

  • GPU لديه < 24GB VRAM
  • تدريب نماذج 7B+ على أجهزة المستهلك
  • التكلفة هي الشاغل الرئيسي
  • التجريب والتكرار بسرعة

❌ اعتبر LoRA/FT الكامل عندما:

  • الجودة القصوى حاسمة
  • لديك ذاكرة GPU وفيرة
  • نشر النموذج المدمج (تكلفة الدمج)

النقاط الرئيسية​

✅ QLoRA = تكميم 4-بت + LoRA ✅ يقلل الذاكرة بحوالي 60% مقارنة بـ LoRA ✅ خسارة جودة طفيفة (~1-2%) ✅ يمكن من تدريب نموذج 70B على 48GB ✅ يستخدم صيغة NF4 والتكميم المزدوج


تابع إلى الفصل 2: التكميم 4-بت →