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

الفصل 1: ما هو التخصيص الدقيق؟

تخصيص النماذج المدربة مسبقًا لاحتياجاتك​

التخصيص الدقيق هو عملية أخذ نموذج لغة مدرب مسبقًا واستمرار تدريبه على مجموعة بيانات محددة لتكييفه لمهام أو مجالات معينة.


أساس التعلم بالنقل​

ماذا يحدث أثناء التدريب المسبق؟​

قبل أن يمكن تخصيص النموذج، يمر بعملية التدريب المسبق:

  1. جمع البيانات: تريليونات من الرموز من الكتب، المواقع، الكود، إلخ.
  2. توقع الرمز التالي: يتعلم النموذج التنبؤ بما سيأتي بعد ذلك
  3. اكتساب المعرفة: يطور النموذج فهمًا للغة، الحقائق، الاستدلال
  4. قدرات عامة: القراءة، الكتابة، التلخيص، البرمجة، وأكثر
مثال

النماذج مثل Llama-3.1 مدربة مسبقًا على أكثر من 15 تريليون رمز، مما يمنحها معرفة وقدرات واسعة قبل أي تخصيص.


ما الذي يغيره التخصيص الدقيق​

عند تخصيص نموذج، تقوم بتعديل أوزانه الداخلية لـ:

1. التكيف مع مهام محددة​

  • اتباع صيغ تعليمات معينة
  • توليد هياكل مخرجات محددة (JSON، markdown، إلخ.)
  • التركيز على أنواع معينة من المشاكل

2. تعلم معرفة المجال​

  • المصطلحات والبروتوكولات الطبية
  • الاستدلال القانوني والاستشهادات
  • العمليات واللغة الخاصة بالشركة

3. ضبط السلوك والأسلوب​

  • نبرة الصوت (رسمية، غير رسمية، تقنية)
  • تفضيلات طول الاستجابة
  • السمات الشخصية والشخصية

التدريب المسبق مقابل التخصيص الدقيق​

الجانبالتدريب المسبقالتخصيص الدقيق
حجم البياناتتريليونات من الرموزالآلاف إلى الملايين
الحوسبةآلاف من وحدات معالجة الرسوميات، أشهر1-8 وحدات معالجة الرسوميات، ساعات إلى أيام
الهدففهم اللغة العامةتكييف المهام المحددة
من يقوم بهمختبرات الذكاء الاصطناعي الكبيرةأي شخص لديه وصول إلى وحدة معالجة الرسوميات
التكلفةملايين الدولاراتمئات إلى آلاف

عملية التخصيص الدقيق​

الخطوة 1: اختر نموذجًا أساسيًا​

اختر نموذجًا مدربًا مسبقًا مناسبًا لحالتك:

from transformers import AutoModelForCausalLM

# Load a pre-trained base model
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B")

الخطوة 2: حضر مجموعة بياناتك​

نسق بياناتك لمهمة التدريب:

# Example instruction-following format
training_example = {
"instruction": "Summarize the following article",
"input": "The European Central Bank announced...",
"output": "The ECB raised interest rates by 0.25%..."
}

الخطوة 3: إعداد التدريب​

اضبط معلمات التدريب:

from transformers import TrainingArguments

training_args = TrainingArguments(
output_dir="./fine-tuned-model",
learning_rate=2e-5,
num_train_epochs=3,
per_device_train_batch_size=4,
)

الخطوة 4: التدريب​

قم بتشغيل عملية التخصيص الدقيق:

from trl import SFTTrainer

trainer = SFTTrainer(
model=model,
train_dataset=dataset,
args=training_args,
)
trainer.train()

الخطوة 5: التقييم والنشر​

اختبر نموذجك وقم بنشره:

# Save the fine-tuned model
model.save_pretrained("./my-custom-model")

# Use it for inference
output = model.generate(input_ids, max_new_tokens=100)

ما يمكن أن يحققه التخصيص الدقيق​

✅ نتائج ممتازة​

  • نقل الأسلوب: جعل النموذج يكتب بصوت شركتك
  • اتباع الصيغ: إنتاج هياكل JSON محددة بشكل موثوق
  • تخصص المجال: الخبرة الطبية، القانونية، المالية
  • اتباع التعليمات: اتباع تعليمات متعددة الخطوات المعقدة
  • الشخصية/الشخصية: شخصية وسلوك متسق

⚠️ نتائج متوسطة​

  • اللغات الجديدة: يعمل ولكن قد يحتاج إلى بيانات كبيرة
  • الاستدلال المعقد: تحسينات ممكنة ولكن محدودة
  • المعرفة الواقعية: من الأفضل استخدام RAG للحقائق الديناميكية

❌ نتائج ضعيفة​

  • المعلومات في الوقت الحقيقي: لا يمكن للنموذج تعلم ما لم يتم تدريبه عليه
  • الدقة الرياضية: التخصيص الدقيق وحده لن يصلح أخطاء الحساب
  • تغييرات البنية الأساسية: لا يمكن إضافة قدرات جديدة

أنواع التخصيص الدقيق​

1. التخصيص الدقيق الكامل​

تحديث جميع معلمات النموذج:

  • أعلى إمكانات للتخصيص
  • يتطلب أكبر قدر من الذاكرة والحوسبة
  • خطر النسيان الكارثي

2. التخصيص الدقيق الفعال للمعلمات (PEFT)​

تحديث فقط مجموعة صغيرة من المعلمات:

  • متطلبات ذاكرة أقل بكثير
  • تدريب أسرع
  • غالبًا ما تكون الجودة قابلة للمقارنة مع التخصيص الدقيق الكامل
  • أمثلة: LoRA، QLoRA، Prefix Tuning، IA3

3. تدريب التعليمات​

التدريب على أزواج التعليمات والاستجابة:

  • تعليم النماذج اتباع التعليمات
  • يستخدم صيغ مثل Alpaca أو ShareGPT
  • أساس للنماذج بأسلوب الدردشة

4. المحاذاة/RLHF​

تدريب النماذج لتتوافق مع تفضيلات البشر:

  • يستخدم التغذية الراجعة البشرية أو بيانات التفضيلات
  • طرق: RLHF، DPO، ORPO
  • يخلق نماذج مفيدة، غير ضارة، وصادقة

مثال من العالم الحقيقي​

لنفترض أنك تبني روبوت دعم العملاء لشركة برمجيات:

بدون تخصيص دقيق​

قد يقوم النموذج الأساسي بـ:

  • تقديم استجابات عامة وطويلة
  • عدم معرفة ميزات منتجك
  • استخدام نبرة غير متسقة
  • تفويت المصطلحات الخاصة بشركتك

مع التخصيص الدقيق​

يمكن للنموذج المخصص أن:

  • يستجيب بإيجاز بصوت شركتك
  • يشير إلى ميزات المنتج المحددة بشكل صحيح
  • يتبع قوالب استجابة فريق الدعم الخاص بك
  • يصعد بشكل مناسب عند الحاجة
# Example training data for support bot
examples = [
{
"instruction": "Customer asks about pricing",
"input": "How much does the Pro plan cost?",
"output": "Great question! Our Pro plan is $29/month when billed annually, or $35/month for monthly billing. It includes unlimited projects, priority support, and advanced analytics. Would you like me to explain any specific features?"
},
# ... hundreds more examples
]

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

✅ التخصيص الدقيق يكيف النماذج المدربة مسبقًا لمهام أو مجالات محددة

✅ يبني على التعلم بالنقل—الاستفادة من المعرفة من التدريب المسبق

✅ توجد طرق مختلفة (كامل، PEFT، تدريب التعليمات، المحاذاة)

✅ التخصيص الدقيق قوي ولكنه ليس دائمًا الحل الصحيح

✅ تتضمن العملية: نموذج أساسي → بياناتك → تدريب → نموذج مخصص


الخطوات التالية​

الآن بعد أن فهمت ما هو التخصيص الدقيق، دعنا نستكشف متى يكون الخيار الصحيح في الفصل 2: متى يتم التخصيص الدقيق مقابل استخدام RAG.


تحقق سريع​

قبل المتابعة، تأكد من أنك تستطيع الإجابة:

  1. ما العلاقة بين التدريب المسبق والتخصيص الدقيق؟
  2. ما هي ثلاثة أشياء يمكن أن يساعد التخصيص الدقيق النموذج على تعلمها؟
  3. ما الفرق بين التخصيص الدقيق الكامل وPEFT؟