Home
Login

مجموعة أدوات البدء السريع الرسمية لنموذج Gemma من Hugging Face، توفر العديد من البرامج النصية العملية وأجهزة الكمبيوتر المحمولة للاستدلال والضبط الدقيق وما إلى ذلك.

MITPython 11huggingfacehuggingface-gemma-recipes Last Updated: 2025-06-26

نظرة عامة على مشروع Hugging Face Gemma Recipes

huggingface-gemma-recipes هو مشروع مفتوح المصدر تتم صيانته رسميًا بواسطة Hugging Face، ويهدف إلى تزويد المستخدمين بأمثلة تعليمات برمجية ودروس تعليمية مبسطة تتعلق بنماذج Google Gemma. الهدف الأساسي للمشروع هو مساعدة المطورين على البدء بسرعة في استنتاج نماذج Gemma وضبطها الدقيق ومختلف سيناريوهات التطبيق العملي.

ميزات المشروع

🚀 بداية سريعة

  • توفير أمثلة تعليمات برمجية مبسطة لتقليل حاجز التعلم
  • دعم معالجة الإدخال متعددة الوسائط (نص، صورة، صوت)
  • دمج أحدث ميزات مكتبة Transformers

🎯 دعم متعدد الوسائط

يدعم هذا المشروع قدرات الوسائط المتعددة لسلسلة نماذج Gemma 3:

  • معالجة النصوص النقية: توليد النصوص التقليدية والإجابة على الأسئلة
  • فهم الصور: وصف الصور، الأسئلة المرئية
  • معالجة الصوت: تحويل الكلام إلى نص، تحليل الصوت
  • التفاعل متعدد الوسائط: إدخال مختلط من النص والصورة والصوت

الوظائف الأساسية

1. استنتاج النموذج

يوفر المشروع واجهة استنتاج نموذج موحدة، تدعم التحميل السريع واستخدام نماذج Gemma:

from transformers import AutoProcessor, AutoModelForImageTextToText
import torch

model_id = "google/gemma-3n-e4b-it"  # أو google/gemma-3n-e2b-it
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(model_id).to(device)

def model_generation(model, messages):
    inputs = processor.apply_chat_template(
        messages,
        add_generation_prompt=True,
        tokenize=True,
        return_dict=True,
        return_tensors="pt",
    )
    input_len = inputs["input_ids"].shape[-1]
    inputs = inputs.to(model.device, dtype=model.dtype)
    
    with torch.inference_mode():
        generation = model.generate(**inputs, max_new_tokens=32, disable_compile=False)
        generation = generation[:, input_len:]
        decoded = processor.batch_decode(generation, skip_special_tokens=True)
        print(decoded[0])

2. أمثلة الاستخدام

معالجة النصوص النقية

# سؤال وجواب نصي
messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "What is the capital of France?"}
        ]
    }
]
model_generation(model, messages)

معالجة الصوت

# تحويل الكلام إلى نص
messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "Transcribe the following speech segment in English:"},
            {"type": "audio", "audio": "https://huggingface.co/datasets/ariG23498/demo-data/resolve/main/speech.wav"},
        ]
    }
]
model_generation(model, messages)

فهم الصور

# وصف الصورة
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": "https://huggingface.co/datasets/ariG23498/demo-data/resolve/main/airplane.jpg"},
            {"type": "text", "text": "Describe this image."}
        ]
    }
]
model_generation(model, messages)

3. الضبط الدقيق للنموذج

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

موارد الضبط الدقيق

  • [Fine tuning Gemma 3n on T4]: برنامج تعليمي للضبط الدقيق مصمم خصيصًا لوحدة معالجة الرسومات T4
  • [Fine tuning Gemma 3n on images]: برنامج نصي للضبط الدقيق لمهام فهم الصور
  • [Fine tuning Gemma 3n on audio]: برنامج نصي للضبط الدقيق لمهام معالجة الصوت
  • [Fine tuning Gemma 3n on images using TRL]: خطة ضبط دقيق للصور تعتمد على مكتبة TRL

تكوين بيئة الضبط الدقيق

# تثبيت التبعيات
$ pip install -U -q -r requirements.txt

التثبيت والاستخدام

متطلبات النظام

  • Python 3.8+
  • PyTorch 2.0+
  • وحدة معالجة رسومات تدعم CUDA (موصى بها)

تثبيت سريع

# تثبيت التبعيات الأساسية
$ pip install -U -q transformers timm

# تثبيت التبعيات الكاملة (للضبط الدقيق)
$ pip install -U -q -r requirements.txt

سير العمل الأساسي للاستخدام

  1. استنساخ مستودع المشروع
  2. تثبيت حزم التبعية
  3. اختيار نموذج Gemma المناسب
  4. اختيار برنامج الاستنتاج أو الضبط الدقيق وفقًا للاحتياجات
  5. تنفيذ التعليمات البرمجية المقابلة

هيكل المشروع

huggingface-gemma-recipes/
├── notebooks/                 # دروس دفتر Jupyter
│   └── fine_tune_gemma3n_on_t4.ipynb
├── scripts/                   # برامج الضبط الدقيق
│   ├── ft_gemma3n_image_vt.py
│   ├── ft_gemma3n_audio_vt.py
│   └── ft_gemma3n_image_trl.py
├── requirements.txt           # قائمة التبعيات
└── README.md                 # وصف المشروع

المزايا التقنية

1. سهولة الاستخدام

  • أمثلة تعليمات برمجية مبسطة، بداية سريعة
  • تصميم واجهة موحدة، يقلل من تكاليف التعلم
  • وثائق وأمثلة كاملة

2. المرونة

  • دعم معالجة الإدخال متعددة الوسائط
  • توفير استراتيجيات ضبط دقيق متعددة
  • التوافق مع تكوينات الأجهزة المختلفة

3. التطبيق العملي

  • يعتمد على مكتبة Transformers الرسمية
  • دمج أحدث تقنيات تحسين النموذج
  • توفير جودة تعليمات برمجية على مستوى الإنتاج

سيناريوهات قابلة للتطبيق

البحث والتطوير

  • أبحاث الذكاء الاصطناعي متعددة الوسائط
  • تقييم أداء النموذج
  • استكشاف سيناريوهات تطبيق جديدة

التطبيقات التجارية

  • نظام خدمة العملاء الذكي
  • أدوات إنشاء المحتوى
  • منصة تحليل الوسائط المتعددة

التعليم والتدريب

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

المجتمع والدعم

يتمتع هذا المشروع، باعتباره مشروعًا مفتوح المصدر تتم صيانته رسميًا بواسطة Hugging Face، بالمزايا التالية:

  • دعم مجتمعي نشط
  • صيانة وتحديثات منتظمة
  • التزامن مع أحدث إصدارات النموذج
  • وثائق وأمثلة غنية

ملخص

huggingface-gemma-recipes هو مشروع مفتوح المصدر عالي الجودة يوفر حلاً كاملاً لاستخدام نماذج Gemma. سواء كنت مبتدئًا أو مطورًا متمرسًا، يمكنك العثور على الموارد والإرشادات المناسبة. إن دعم المشروع للوسائط المتعددة وخطط الضبط الدقيق المرنة تجعله أحد الأدوات المهمة في مجال تطوير الذكاء الاصطناعي الحالي.

Star History Chart