ضبط Gemma للغة العربية

في هذا الدرس، سنستكشف كيفية ضبط نموذج Gemma لمهام اللغة المنطوقة بالعربية. حالة الاستخدام الملموسة لدينا تتضمن تخصيص النموذج ليتمكن من قراءة والرد على طلبات البريد الإلكتروني باللغة العربية في إعداد دعم العملاء. بنهاية هذا الدليل، ستتمكن من تكييف Gemma للتعامل مع مهام اللغة العربية المحددة، مما قد يحسن تطبيقات الذكاء الاصطناعي المحادثي مثل المساعدين الافتراضيين أو أنظمة فرز البريد الإلكتروني الآلية.
حول الأدوات والموارد المشار إليها
- Google Colab: بيئة دفاتر ملاحظات سحابية مجانية مع وحدات معالجة رسومية/معالجة موترات تسهل النماذج الأولية واختبار نماذج التعلم الآلي.
- Kaggle: منصة تستضيف مجموعات البيانات ودفاتر الملاحظات البرمجية والمسابقات. توفر وصولاً مريحاً لمجموعات بيانات عديدة للتدريب واختبار نماذج التعلم الآلي.
- Keras/Keras-NLP: واجهة برمجة تطبيقات للتعلم العميق عالية المستوى مكتوبة بلغة Python، تدعم مكتبات سهلة الاستخدام مثل
keras_nlpالتي تبسط ضبط نماذج اللغة. - Gemma: عائلة من نماذج اللغة المدربة مسبقاً من Google، مصممة لمهام فهم وتوليد اللغة المختلفة.
- LoRA (المحولات منخفضة الرتبة): تقنية ضبط فعالة للمعاملات تضيف "محولات" إلى النموذج، مما يتيح تدريباً أسرع وأكثر كفاءة في الموارد دون تعديل أوزان النموذج بالكامل.
الرد على طلبات البريد الإلكتروني بالعربية
تخيل أن لديك نظام دعم عملاء يتلقى حجماً كبيراً من رسائل البريد الإلكتروني بالعربية. العديد من هذه الرسائل تطرح أسئلة مماثلة حول تفاصيل المنتجات، وسياسات الإرجاع، أو معلومات الحساب. من خلال ضبط Gemma على مجموعة بيانات من استعلامات وردود البريد الإلكتروني النموذجية، يمكنك إنشاء نموذج يولد بسرعة ردوداً مفيدة ومدركة للسياق بالعربية.
مثال على arabic_email_dataset
إليك مثالاً صغيراً وتوضيحياً لما يمكن أن يبدو عليه جزء من مجموعة بياناتنا:
[
{
"prompt": "مرحباً، قمت بشراء حاسوب محمول منكم أمس وأود الاستفسار عن موعد تسليمه.",
"response": "مرحباً بك! شكراً لتواصلك معنا. طلبك في مرحلة الشحن حالياً ومن المتوقع أن يصلك خلال يومين إلى ثلاثة أيام. سنرسل لك رسالة تأكيد برقم تتبع الطلب قريباً."
},
{
"prompt": "أريد إرجاع منتج اشتريته من موقعكم لأن اللون غير مطابق لما طلبته.",
"response": "شكراً لتواصلك معنا. نحن نتفهم عدم رضاك عن المنتج. يُرجى زيارة صفحة الإرجاع في حسابك، واتباع الخطوات الموضحة. بعد وصول المنتج إلينا سنقوم بمعالجة طلب الإرجاع أو الاستبدال فوراً."
}
]الإعداد
اختيار وقت تشغيل Colab
- افتح دفتر ملاحظات Colab جديد على https://colab.research.google.com.
- في الزاوية العلوية اليمنى، اختر ▾ (خيارات اتصال إضافية).
- اختر تغيير نوع وقت التشغيل.
- تحت مسرّع الأجهزة، اختر L4 أو A100 GPU لضمان تدريب سريع.
إعداد Gemma على Kaggle
اتبع التعليمات في إعداد Gemma للوصول إلى Gemma على Kaggle.
تعيين متغيرات البيئة
عيّن متغيرات البيئة لـ KAGGLE_USERNAME و KAGGLE_KEY للوصول إلى مجموعات بيانات Kaggle.
import os
from google.colab import userdata, drive
os.environ["KAGGLE_USERNAME"] = userdata.get("KAGGLE_USERNAME")
os.environ["KAGGLE_KEY"] = userdata.get("KAGGLE_KEY")
drive.mount("/content/drive")تثبيت التبعيات
!pip install -q -U keras-nlp datasets
!pip install -q -U kerasتحميل نموذج Gemma
import keras_nlp
import keras
gemma_lm = keras_nlp.models.GemmaCausalLM.from_preset("gemma2_instruct_2b_en")
gemma_lm.summary()تحضير مجموعة البيانات العربية
from datasets import load_dataset
ds = load_dataset("json", data_files="your_arabic_email_dataset.json", split="train")
ds = ds.shuffle(seed=42)ضبط LoRA
قم بتمكين LoRA لضبط مجموعة فرعية من المعاملات بكفاءة.
gemma_lm.backbone.enable_lora(rank=4)تجميع النموذج:
optimizer = keras.optimizers.AdamW(learning_rate=1e-4, weight_decay=0.01)
gemma_lm.compile(
loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
optimizer=optimizer
)تدريب النموذج:
history = gemma_lm.fit(train, epochs=20)اختبار النموذج المضبوط
بعد التدريب، اختبر النموذج بتقديم استعلام بريد إلكتروني عربي جديد:
test_prompt = "أود الاستفسار عن سياسة الاستبدال لديكم."
encoded_input = tokenizer(test_prompt, return_tensors="tf")["input_ids"]
output = gemma_lm.generate(encoded_input, max_length=64)
decoded_response = tokenizer.decode(output[0], skip_special_tokens=True)
print("بريد المستخدم:", test_prompt)
print("رد Gemma:", decoded_response)الخلاصة
باتباع هذه الخطوات واستخدام ضبط LoRA، يمكنك تكييف نموذج Gemma لمهام اللغة العربية. حالة استخدامنا - الرد على رسائل البريد الإلكتروني العربية للعملاء - توضح كيف يمكنك إنشاء نماذج لغة أكثر صلة بالسياق ومتخصصة. يمكن توسيع هذا النهج إلى مجالات أخرى، مثل المساعدين الصوتيين، أو روبوتات الدردشة، أو ملخصات المستندات التي تعمل بالعربية.
لمزيد من التفاصيل، راجع وثائق Gemma و Gemma Cookbook.
ناقش مشروعك معنا
نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.
دعنا نجد أفضل الحلول لاحتياجاتك.
مقالات ذات صلة

ضبط Gemma لاستدعاء الدوال
دليل شامل حول ضبط نموذج Gemma لاستدعاء الدوال باستخدام Torch XLA وإطار عمل TRL من Hugging Face.

بناء مفسر الأكواد الخاص بك مع توليد الأدوات الديناميكية
تعلم كيفية إنشاء مفسر أكواد مخصص باستخدام التوليد الديناميكي للأدوات والتنفيذ مع o3-mini، مما يتيح حل المشاكل بمرونة وقابلية للتكيف.

استكشف تجزئة الصور والفيديو المحسنة مع SAM 2 لنتائج دقيقة ومدركة للسياق
اكتشف إمكانيات SAM 2 في تجزئة الصور والفيديو، بينما نرشدك خلال درسنا حول المعالجة المسبقة، وتدريب النموذج، والتتبع للحصول على تجزئات دقيقة.