الذكاء الاصطناعي

Fine-tuning و LoRA، تخصيص نماذج AI

دليل عملي لتخصيص النماذج اللغوية: Fine-tuning، LoRA، QLoRA، متى تستخدم كلاً منها، والتكلفة الحقيقية.

فريق مقالات، قسم التقنية ٤ سبتمبر ٢٠٢٦ 7 دقيقة قراءة

Fine-tuning الفنّ التقني الأعمق في AI. من نموذج عام إلى مساعِد متخصّص لعملك. مع تقنيات مثل LoRA وQLoRA، صار في متناول الأفراد. هذا الدليل شامل عملياً.

المشكلة التي يحلّها

النموذج العام (Llama، GPT-4، Claude):

  • يعرف كل شيء عامّاً
  • لا يعرف تخصّصك
  • أسلوبه محايد
  • قد يخطئ في مصطلحاتك

Fine-tuning يعطيك:

  • أسلوب علامتك التجارية
  • مصطلحات مجالك
  • ردود متّسقة
  • سلوك محدّد

البدائل:

  • Prompt Engineering: تعليمات جيدة (رخيص، مؤقّت)
  • RAG: معرفة إضافية (رخيص، معلوماتي)
  • Fine-tuning: سلوك دائم (مكلف، عميق)

أنواع Fine-tuning

1) Full Fine-tuning (التقليدي)

  • تعديل كل معاملات النموذج
  • مليارات المعاملات
  • يحتاج: GPU متعدّد (8× A100 على الأقلّ)
  • الوقت: أيّام
  • الكلفة: 10,000-100,000$
  • الجودة: الأعلى

الأنسب لـ: مؤسّسات كبرى، أبحاث عميقة.

2) LoRA (Low-Rank Adaptation)

الفكرة: بدل تعديل كل النموذج، أضف "طبقات صغيرة" جديدة تتعلّم الفرق.

الأرقام:

  • 0.1-1% من المعاملات فقط
  • 99% توفير في الحوسبة
  • الجودة قريبة من Full (95-98%)

كيف يعمل: نظرياً، التعديلات التي يحتاجها النموذج منخفضة الرتبة (Low-Rank)، يمكن تمثيلها بمصفوفتَين صغيرتَين بدل واحدة كبيرة.

الأثر:

  • تدريب على GPU واحد
  • ساعات بدل أيّام
  • 100-1000$ بدل 10,000$+

الأنسب لـ: شركات صغيرة، startups، مطوّرون فرديّون.

3) QLoRA (Quantized LoRA)

LoRA + Quantization:

  • ضغط النموذج من float16 إلى 4-bit
  • يعمل نموذج 70B على GPU 24GB (مثل RTX 4090)
  • الجودة تقلّ 3-5% فقط

الأنسب لـ: الأفراد، البحث الأكاديمي، Prototype.

4) DPO (Direct Preference Optimization)

  • بدل تدريب على "إجابات صحيحة"، تدريب على "أفضلية بين خيارَين"
  • أسرع، أرخص
  • شائع منذ 2023

5) PEFT (Parameter-Efficient Fine-Tuning)

  • عائلة تشمل LoRA، QLoRA، Prompt Tuning، Prefix Tuning
  • كلها تُخصّص جزءاً صغيراً من النموذج

متى تحتاج Fine-tuning

السيناريوهات المناسبة

الأسلوب المميّز: صوت علامتك التجارية المصطلحات المتخصّصة: طبّي، قانوني، هندسي اللغات النادرة: لهجات، لغات محلّية التنسيق المحدّد: JSON مخصّص، تقارير موحّدة الاتّساق: نفس النبرة عبر آلاف الاستعلامات

السيناريوهات غير المناسبة

إضافة معرفة جديدة: استخدم RAG البيانات المتغيّرة: RAG أفضل (تحديث فوري) الاستخدام الصغير: Prompt Engineering يكفي بدون بيانات: Fine-tuning يحتاج 1000+ مثال جيّد

البيانات، الأهمّ في Fine-tuning

القاعدة الذهبية

الجودة > الكميّة.

  • 1,000 مثال ممتاز > 10,000 مثال متوسّط
  • 100 مثال دقيق يفوق أحياناً

تنسيق البيانات

الشائع (Chat format):

[
  {
    "messages": [
      {"role": "system", "content": "أنت مساعد قانوني سعودي"},
      {"role": "user", "content": "ما شروط عقد العمل حسب نظام العمل؟"},
      {"role": "assistant", "content": "حسب المادة 51 من نظام العمل السعودي..."}
    ]
  },
  //... 1000+ مثال آخر
]

مصادر البيانات

الجيّدة:

  • محادثات حقيقية من CRM (مع تنقية)
  • عقود، وثائق مؤسّسية
  • FAQs موسّعة
  • أمثلة يدوية عالية الجودة

السيّئة:

  • بيانات مكرّرة
  • بيانات متحيّزة
  • بيانات محميّة بحقوق (خطر قانوني)
  • بيانات شخصية بلا موافقة

تنقية البيانات

دائماً افعل:

  • إزالة PII (Personally Identifiable Information)
  • تصحيح الأخطاء
  • توحيد التنسيق
  • إزالة المكرّرات
  • تحقّق من التوازن (لا فئة مهيمنة)

الأدوات

للأفراد والمبتدئين

Unsloth، الأشهر:

  • مفتوح مجاني
  • 2x أسرع من الأدوات القياسية
  • 50% ذاكرة أقلّ
  • يدعم Llama، Mistral، Gemma، Phi
  • يعمل على Google Colab (مجاناً بحدود)

Google Colab + Unsloth = Fine-tuning مجاني.

دليل سريع:

from unsloth import FastLanguageModel

# تحميل النموذج
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/Llama-3.2-3B-Instruct",
    max_seq_length = 2048,
    load_in_4bit = True, # QLoRA
)

# إضافة LoRA
model = FastLanguageModel.get_peft_model(
    model,
    r = 16, # rank
    target_modules = ["q_proj", "k_proj", "v_proj", "o_proj"],
    lora_alpha = 16,
    lora_dropout = 0,
    bias = "none",
)

# التدريب
from trl import SFTTrainer
trainer = SFTTrainer(
    model = model,
    tokenizer = tokenizer,
    train_dataset = your_dataset,
    max_seq_length = 2048,
    args = TrainingArguments(
        per_device_train_batch_size = 2,
        gradient_accumulation_steps = 4,
        warmup_steps = 5,
        num_train_epochs = 3,
        learning_rate = 2e-4,
        output_dir = "outputs",
    ),
)
trainer.train()

# حفظ
model.save_pretrained("my_fine_tuned_model")

للمطوّرين المتقدّمين

Axolotl:

  • شامل، مرن
  • YAML configuration
  • يدعم كل التقنيات (LoRA، QLoRA، DPO)

Hugging Face TRL + PEFT:

  • المكتبة القياسية
  • توثيق ممتاز
  • تكامل مع Hugging Face

للسحابة

Together AI:

  • Fine-tuning as a service
  • أسعار تنافسية
  • سهل الاستخدام

Modal + LoRAX:

  • سحابي مرن
  • تنشر نماذج LoRA بسرعة

Replicate:

  • Fine-tune + Deploy

للمؤسّسات

OpenAI Fine-tuning API:

  • لا كود
  • GPT-4o mini، GPT-4o
  • أرقام: 25$/مليون توكن تدريب
  • مغلق (لا تحصل على النموذج نفسه)

Anthropic: لا يقدّم Fine-tuning API عاماً (حتى 2026).

Google Vertex AI: Fine-tuning لـGemini.

AWS Bedrock: Fine-tuning لعدّة نماذج.

عملية Fine-tuning، الخطوات

1) حدّد الهدف

  • ما السلوك المطلوب؟
  • كيف تقيس النجاح؟

2) اجمع البيانات

  • 1000+ مثال جيّد كحد أدنى
  • تنوّع الحالات

3) نقّي وحضّر

  • تنسيق الشات القياسي
  • إزالة PII
  • تقسيم Train/Eval (80/20)

4) اختر النموذج الأساسي

  • Llama 3.3 8B: للاستخدام العام
  • Llama 3.3 70B: للجودة الأعلى
  • Mistral 7B: خفيف قوي
  • Falcon: للعربية

5) اختر التقنية

  • QLoRA: للتجربة
  • LoRA: للإنتاج
  • Full Fine-tune: للمؤسّسات الكبرى

6) درّب

  • 3-5 epochs عادةً
  • راقب الخسارة (Loss)
  • تجنّب Overfitting

7) قيّم

  • على eval set
  • على مهام حقيقية
  • قارن مع النموذج الأصلي

8) نشر

  • محلياً: Ollama، vLLM
  • سحابياً: Together، Modal، Replicate
  • على أجهزتك: للـEnterprise

أمثلة عملية

1) شات بوت خدمة عملاء

البيانات: 10,000 محادثة من CRM (مع تنقية) النموذج: Llama 3.3 8B التقنية: LoRA الوقت: 4 ساعات على A100 الكلفة: 20-50$ على Together النتيجة: بوت يفهم منتجاتك، بأسلوب علامتك

2) مساعد قانوني سعودي

البيانات: 5,000 استشارة قانونية مجهولة الهوية + الأنظمة السعودية النموذج: Llama 3.3 70B التقنية: QLoRA الوقت: 12 ساعة على A100 40GB الكلفة: 100-200$ النتيجة: مساعد يعرف الأنظمة السعودية، يستخدم مصطلحات دقيقة

3) كاتب محتوى بأسلوبك

البيانات: 500 مقال كتبته سابقاً النموذج: Mistral 7B التقنية: QLoRA الوقت: ساعتان على Colab الكلفة: مجاناً (Colab Free) النتيجة: نموذج يكتب مسوّدات بأسلوبك، تنقّح فقط

4) نموذج طبّي متخصّص

البيانات: أوراق PubMed + جلسات (مع أخلاقيات) النموذج: Llama 3.3 70B التقنية: Full Fine-tune (للجودة الأقصى) الوقت: 3 أيّام على 8× A100 الكلفة: 5,000-10,000$ النتيجة: نموذج مساعد للأطبّاء (تحت إشراف)

Fine-tuning للعربية

التحدّيات

  • بيانات عربية عالية الجودة أقلّ من الإنجليزية
  • Tokenization غير مثالي (النماذج مصمّمة للإنجليزية)
  • التشكيل والصرف تعقيدات

الحلول

النماذج المتاحة:

  • ALLaM (SDAIA)، 7B، 13B مفتوحة
  • Falcon (TII)، مفتوح
  • Jais (Inception)، مفتوح
  • Llama 3.3، عربية معقولة، Fine-tune يُحسّنها

البيانات:

  • CAMeL Tools (NYUAD)، مجموعات عربية مفتوحة
  • OSCAR Corpus، corpus عربي ضخم
  • AraBERT datasets
  • الأخبار العربية (بعد تنظيف)

النصيحة: للعربية، Fine-tune على Llama 3.3 أو Falcon قد يعطي نتائج أفضل من Fine-tune على نموذج عربي أصلاً، بسبب حجم النموذج الأصلي.

Fine-tune vs الحلول الأخرى، قرار

قرار سريع

استخدم Prompt Engineering فقط إذا:

  • عندك <100 مثال
  • الميزانية صفر
  • الاستخدام محدود

استخدم RAG إذا:

  • تحتاج إضافة معرفة
  • البيانات تتغيّر
  • الميزانية 100-500$

استخدم Fine-tuning إذا:

  • تحتاج تخصيص أسلوب/سلوك
  • الاستخدام مكثّف
  • الميزانية 500+$
  • عندك 1000+ مثال جيّد

استخدم Fine-tune + RAG إذا:

  • تحتاج الاثنَين (شائع للحلول المؤسّسية الجادّة)
  • الميزانية 2000$+

المخاطر

1) Overfitting

  • النموذج يحفظ البيانات، لا يعمّم
  • الحل: بيانات متنوّعة، Regularization

2) Catastrophic Forgetting

  • النموذج ينسى مهاراته الأصلية
  • الحل: LoRA أفضل (يحافظ على النموذج الأصلي)

3) البيانات المسمومة

  • بيانات سيّئة = نموذج سيّئ
  • الحل: تنقية صارمة

4) التحيّز

  • إذا بياناتك متحيّزة، النموذج يعكسها
  • الحل: مراجعة، تنوّع

5) الحقوق

  • بيانات محميّة قد تجرّك لقضايا
  • الحل: بيانات ملكك أو مرخّصة

المستقبل

  • Fine-tuning أسرع وأرخص، تحسينات مستمرّة
  • AutoML للـFine-tuning، أدوات بلا كود
  • Fine-tuning السحابي، Together، Modal يهيمنان
  • Fine-tune تعاوني، Federated Learning
  • نماذج صغيرة أفضل، أحياناً 1B نموذج مخصّص > 70B عام

المصادر الرسمية


اقرأ أيضاً: RAG، التعزيز بالاسترجاع · Llama و Mistral · النماذج اللغوية الصغيرة · OpenAI API، دليل البدء

هل أفادك هذا المقال؟

كن أول من يقيّم

الأسئلة الشائعة

تدريب نموذج مسبق التدريب (مثل Llama) على بياناتك الخاصّة لتخصيص سلوكه. مثال: تدرّب Llama على 10,000 محادثة عميل، يصبح النموذج شات بوت متخصّص لخدمتك. مكلف تقنياً لكن يُنتج نماذج قوية جدّاً.
**Full Fine-tuning**: تعديل كل معاملات النموذج (مليارات). مكلف جدّاً (10,000-100,000$ للنماذج الكبيرة)، يحتاج GPU متعدّد، يستغرق أيّاماً. **LoRA**: تعديل جزء صغير فقط (0.1-1%)، بنفس النتيجة تقريباً. أرخص 10-100x، أسرع، ممكن على GPU واحد.
LoRA + Quantization (ضغط النموذج لدقّة أقلّ). يعمل نموذج 70B على GPU 24GB واحد (Consumer). أرخص طريقة تخصيص للأفراد. الجودة تقلّ 3-5% فقط عن Full Fine-tuning.
Fine-tuning لتغيير **السلوك والأسلوب**: نبرة، تنسيق، لغة متخصّصة. RAG لإضافة **معرفة جديدة**: بيانات شركتك، مستندات، حقائق. القاعدة: للنبرة والأسلوب Fine-tune. للمعلومات RAG. للاثنَين معاً: Fine-tune + RAG.
بحسب النموذج والحجم. **LoRA على Llama 8B**: 20-100$ على cloud (Together AI، Modal). **Full Fine-tune 70B**: 5,000-50,000$. **OpenAI Fine-tuning API** (GPT-4o mini): يبدأ من 25$/مليون توكن تدريب. للتجربة: 50-200$ كافٍ. للإنتاج: 500-5000$.
الأشهر: **Unsloth** (سريع، مجاني)، **Axolotl** (شامل)، **Hugging Face TRL + PEFT** (قياسي)، **OpenAI Fine-tuning API** (بلا كود، مغلق)، **Together AI** (سحابي رخيص)، **Modal + LoRAX** (سحابي مرن).
نعم. **ALLaM**، **Falcon**، **Jais** مفتوحة (جزئياً). تحتاج بيانات عربية جيّدة (10,000+ مثال)، GPU، ومعرفة تقنية. أدوات مثل Unsloth تدعم Llama والنماذج المتّصلة بالعربية. **الأهمّ**: جودة البيانات > كميّتها.

مقالات ذات صلة

نشرة مقالات الأسبوعية

اشترك تصلك أحدث المقالات + مختارات نادرة كل أحد. بلا سبام، ألغي الاشتراك بضغطة.

لا نشارك بريدك مع أي طرف ثالث. راجع سياسة الخصوصية.

التعليقات

بريدك لن يظهر ولن يُرسل إليه شيء — يُستخدم فقط لمنع الإزعاج.

لا تعليقات بعد — كن أول من يكتب.