DEV Community

Cover image for كيفية تشغيل جوجل جيما 3 270M محليًا: ذكاء اصطناعي سريع وخاص للمطورين
Yusuf Khalidd
Yusuf Khalidd

Posted on • Originally published at apidog.com

كيفية تشغيل جوجل جيما 3 270M محليًا: ذكاء اصطناعي سريع وخاص للمطورين

هل تريد تشغيل نموذج لغوي صغير وعملي على جهازك المحلي بدون الاعتماد على السحابة؟ يوفر Google Gemma 3 270M نموذجًا مدمجًا بـ 270 مليون معامل ضمن سلسلة Gemma، مناسبًا لتطبيقات الذكاء الاصطناعي منخفضة زمن الوصول مثل توليد النصوص، الأسئلة والأجوبة، التلخيص، واستخراج المعلومات، مع استهلاك موارد أقل من النماذج الأكبر.

جرّب Apidog اليوم

نصيحة عملية: إذا كنت تبني واجهة API حول نموذج محلي مثل Gemma 3 270M، يمكنك استخدام Apidog لتصميم نقاط النهاية، اختبارها، محاكاتها، وتوثيقها أثناء التطوير.

لماذا تستخدم Gemma 3 270M محليًا؟

استخدم Gemma 3 270M عندما تحتاج إلى:

  • خصوصية على الجهاز: لا تحتاج البيانات إلى مغادرة الجهاز.
  • زمن وصول منخفض: مناسب للواجهات التفاعلية وروبوتات الدردشة المحلية.
  • استهلاك موارد منخفض: يمكن تشغيله على أجهزة مكتبية، حواسيب محمولة، وبعض الأجهزة المحمولة.
  • نشر أبسط: لا تحتاج دائمًا إلى بنية سحابية أو مفاتيح API خارجية.

يدعم النموذج نافذة سياق تصل إلى 32,000 رمز، كما يدعم خيارات تكميم مثل Q4_0 QAT. في وضع INT4 يمكن الوصول إلى نتائج قريبة من الدقة الكاملة مع استخدام أقل من 200 ميجابايت من الذاكرة، ما يجعله مناسبًا للتطبيقات الطرفية والمحمولة.

هندسة Gemma 3 270M باختصار

يعتمد Gemma 3 270M على بنية محولات، ويتضمن:

  • 170 مليون معامل للتضمينات لدعم مفردات بحجم 256,000 رمز.
  • 100 مليون معامل لكتل المحولات.
  • دعمًا متعدد اللغات.
  • تكميم INT4 لتقليل استهلاك الذاكرة.
  • Rotary Position Embeddings لتحسين تمثيل الموضع.
  • Group Query Attention لتحسين الكفاءة.

يناسب النموذج مهام مثل:

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

كما تشير المعايير إلى أن Gemma 3 270M يحقق درجات F1 عالية في IFEval، ما يجعله خيارًا عمليًا عندما تكون الذاكرة والبطارية من القيود الأساسية.

فوائد تشغيل Gemma 3 270M على جهازك

  • خصوصية أفضل: المعالجة تتم محليًا.
  • زمن استجابة منخفض: مناسب لتجارب المستخدم الفورية.
  • بدون رسوم استدعاء سحابية متكررة: لا تعتمد على مزود API خارجي لكل طلب.
  • كفاءة طاقة: يستخدم 0.75% فقط من بطارية Pixel 9 Pro لإجراء 25 محادثة مكممة بـ INT4.
  • قابلية الضبط الدقيق: يمكن تكييفه مع بياناتك باستخدام LoRA.
  • مناسب للفرق الصغيرة: يمكن بناء النماذج الأولية والتجربة محليًا.

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

يمكن تشغيل Gemma 3 270M على إعدادات بسيطة نسبيًا:

الاستخدام المتطلبات المقترحة
CPU فقط 4 جيجابايت RAM ومعالج حديث مثل Intel Core i5
GPU 2 جيجابايت VRAM على بطاقات NVIDIA للنماذج المكممة
Apple Silicon أداء جيد عبر MLX-LM، مع أكثر من 650 رمزًا/ثانية على M4 Max
الضبط الدقيق 8 جيجابايت RAM و4 جيجابايت VRAM لمجموعات البيانات الصغيرة
نظام التشغيل Windows أو macOS أو Linux
Python Python 3.10+
التخزين حوالي 1 جيجابايت لملفات النموذج

اختيار أداة التشغيل المحلية

يمكنك تشغيل Gemma 3 270M بعدة طرق. اختر الأداة حسب مستوى التحكم الذي تحتاجه:

الأداة الأفضل لـ
Hugging Face Transformers التطوير ببايثون، التكامل مع التطبيقات، والمرونة
LM Studio تجربة مرئية بدون كود وإدارة النماذج محليًا
llama.cpp أداء مرتفع وتحكم منخفض المستوى
MLX أجهزة Apple M-series

اقتراح سريع:

  • إذا كنت تريد تجربة سريعة: استخدم LM Studio.
  • إذا كنت تبني تطبيقًا أو API: استخدم Transformers أو llama.cpp.
  • إذا كنت على Apple Silicon: جرّب MLX.

تشغيل Gemma 3 270M باستخدام Hugging Face Transformers

1. ثبّت المكتبات

pip install transformers torch
Enter fullscreen mode Exit fullscreen mode

إذا كنت ستستخدم نماذج مقيدة أو تحتاج إلى تسجيل الدخول إلى Hugging Face:

pip install huggingface_hub
Enter fullscreen mode Exit fullscreen mode

2. حمّل النموذج

from transformers import AutoTokenizer, AutoModelForCausalLM

model_name = "google/gemma-3-270m"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto"
)
Enter fullscreen mode Exit fullscreen mode

3. نفّذ استدلالًا بسيطًا

input_text = "Explain quantum computing in simple terms."

inputs = tokenizer(input_text, return_tensors="pt").to(model.device)

outputs = model.generate(
    **inputs,
    max_new_tokens=200
)

response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
Enter fullscreen mode Exit fullscreen mode

4. استخدم التكميم لتقليل الذاكرة

from transformers import AutoModelForCausalLM, BitsAndBytesConfig

quant_config = BitsAndBytesConfig(load_in_4bit=True)

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    quantization_config=quant_config,
    device_map="auto"
)
Enter fullscreen mode Exit fullscreen mode

5. سجّل الدخول إذا كان الوصول يتطلب رمزًا

from huggingface_hub import login

login(token="your_hf_token")
Enter fullscreen mode Exit fullscreen mode

احصل على الرمز من إعدادات حسابك في Hugging Face.

تشغيل Gemma 3 270M باستخدام LM Studio

يوفر LM Studio واجهة رسومية مناسبة للتجربة السريعة بدون كتابة كود.

1. نزّل LM Studio

حمّله من lmstudio.ai وثبّته على جهازك.

صورة

2. ابحث عن النموذج

ابحث عن:

gemma-3-270m
Enter fullscreen mode Exit fullscreen mode

في مركز النماذج داخل LM Studio.

صورة

3. اختر نسخة مكممة

ابدأ بنسخة مثل:

Q4_0
Enter fullscreen mode Exit fullscreen mode

هذا الخيار مناسب إذا كنت تريد تقليل استهلاك الذاكرة.

4. اضبط الإعدادات

استخدم إعدادات بداية مثل:

context: 32k
temperature: 1.0
Enter fullscreen mode Exit fullscreen mode

ثم اختبر النموذج بمطالبات قصيرة قبل استخدامه في تطبيقك.

5. فعّل GPU Offload

إذا كان جهازك يدعم ذلك، فعّل تفريغ بعض الطبقات إلى GPU لتحسين السرعة.

LM Studio مناسب للنماذج الأولية السريعة، ومفيد للفرق التي تريد اختبار النموذج قبل دمجه برمجيًا.

تشغيل Gemma 3 270M باستخدام llama.cpp

استخدم llama.cpp إذا كنت تريد أداءً عاليًا وتحكمًا أكبر في التشغيل، خصوصًا على الأجهزة محدودة الموارد.

1. استنسخ المشروع وابنه

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make -j
Enter fullscreen mode Exit fullscreen mode

2. نزّل ملفات GGUF

huggingface-cli download unsloth/gemma-3-270m-it-GGUF --include "*.gguf"
Enter fullscreen mode Exit fullscreen mode

3. شغّل النموذج

./llama-cli -m gemma-3-270m-it-Q4_K_M.gguf -p "Build a simple AI app."
Enter fullscreen mode Exit fullscreen mode

4. فعّل CUDA اختياريًا

إذا كنت تستخدم بطاقة NVIDIA:

make GGML_CUDA=1
Enter fullscreen mode Exit fullscreen mode

ثم يمكنك ضبط استخدام GPU مثلًا عبر:

./llama-cli \
  -m gemma-3-270m-it-Q4_K_M.gguf \
  -p "Build a simple AI app." \
  --n-gpu-layers 999
Enter fullscreen mode Exit fullscreen mode

بناء API محلية حول Gemma 3 270M

للاستخدام داخل تطبيق ويب أو خدمة خلفية، يمكنك تغليف النموذج داخل API بسيطة.

مثال باستخدام FastAPI:

pip install fastapi uvicorn transformers torch
Enter fullscreen mode Exit fullscreen mode
from fastapi import FastAPI
from pydantic import BaseModel
from transformers import AutoTokenizer, AutoModelForCausalLM

app = FastAPI()

model_name = "google/gemma-3-270m"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto"
)

class GenerateRequest(BaseModel):
    prompt: str
    max_new_tokens: int = 150

@app.post("/generate")
def generate_text(request: GenerateRequest):
    inputs = tokenizer(request.prompt, return_tensors="pt").to(model.device)

    outputs = model.generate(
        **inputs,
        max_new_tokens=request.max_new_tokens
    )

    text = tokenizer.decode(outputs[0], skip_special_tokens=True)

    return {
        "response": text
    }
Enter fullscreen mode Exit fullscreen mode

شغّل الخادم:

uvicorn main:app --reload
Enter fullscreen mode Exit fullscreen mode

اختبر الطلب:

curl -X POST http://127.0.0.1:8000/generate \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Summarize what local AI means.", "max_new_tokens": 120}'
Enter fullscreen mode Exit fullscreen mode

بعد ذلك يمكنك توثيق نقطة النهاية واختبارها ومحاكاتها عبر Apidog.

أمثلة عملية لاستخدام Gemma 3 270M داخل API

1. تحليل المشاعر

prompt = "Classify the sentiment as Positive, Neutral, or Negative: This product is amazing!"

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=20)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Enter fullscreen mode Exit fullscreen mode

مخرج متوقع:

Positive
Enter fullscreen mode Exit fullscreen mode

2. التلخيص

text = """
Long article here...
"""

prompt = f"Summarize the following text in 3 bullet points:\n\n{text}"

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=200)

summary = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(summary)
Enter fullscreen mode Exit fullscreen mode

3. الإجابة على الأسئلة

question = "ما الذي يسبب تغير المناخ؟"

prompt = f"أجب بإيجاز وبالعربية:\n{question}"

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=150)

answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(answer)
Enter fullscreen mode Exit fullscreen mode

هذا النمط مناسب لروبوتات الدردشة أو واجهات قواعد المعرفة الداخلية.

4. استخراج كيانات من نصوص صحية

clinical_note = """
Patient reports chest pain and shortness of breath. Current medication includes aspirin.
"""

prompt = f"""
Extract medical entities from the following note.
Return JSON with symptoms and medications.

Note:
{clinical_note}
"""

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=200)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Enter fullscreen mode Exit fullscreen mode

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

الضبط الدقيق لـ Gemma 3 270M باستخدام LoRA

إذا كنت تحتاج إلى تكييف النموذج مع مجال محدد، استخدم LoRA لتقليل تكلفة التدريب.

1. ثبّت PEFT

pip install peft
Enter fullscreen mode Exit fullscreen mode

2. أضف إعدادات LoRA

from peft import LoraConfig, get_peft_model

lora_config = LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["q_proj", "v_proj"]
)

model = get_peft_model(model, lora_config)
Enter fullscreen mode Exit fullscreen mode

3. شغّل التدريب

from transformers import Trainer, TrainingArguments

training_args = TrainingArguments(
    output_dir="./results"
)

trainer = Trainer(
    model=model,
    args=training_args
)

trainer.train()
Enter fullscreen mode Exit fullscreen mode

استخدم هذا الأسلوب عندما تريد:

  • تدريب النموذج على مجموعة بيانات صغيرة.
  • حفظ محولات LoRA وإعادة استخدامها.
  • التبديل بين مهام متعددة دون إعادة تدريب النموذج الكامل.

راقب دائمًا:

  • قيمة الخسارة أثناء التدريب.
  • دقة التحقق.
  • علامات الإفراط في التخصيص.

تحسين الأداء

طبّق هذه الخطوات قبل نقل النموذج إلى استخدام فعلي:

  • استخدم 4-bit أو 8-bit quantization لتقليل الذاكرة.
  • اجمع الطلبات عندما يكون ذلك ممكنًا لتحسين الإنتاجية.
  • اضبط معاملات التوليد:
temperature = 1.0
top_k = 64
top_p = 0.95
Enter fullscreen mode Exit fullscreen mode
  • فعّل الدقة المختلطة على وحدات GPU المتوافقة.
  • راقب استهلاك VRAM:
nvidia-smi
Enter fullscreen mode Exit fullscreen mode
  • حدّث المكتبات بانتظام:
pip install -U transformers torch
Enter fullscreen mode Exit fullscreen mode
  • تجنب إدخال رمزي BOS مكررين داخل المطالبات.
  • راقب طول السياق لتجنب اقتطاع المدخلات.

بنية مقترحة لتطبيق محلي

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

Frontend
   |
   v
Backend API / FastAPI
   |
   v
Gemma 3 270M local inference
   |
   v
Structured response / JSON
Enter fullscreen mode Exit fullscreen mode

مثال لنقطة نهاية:

POST /generate
Content-Type: application/json
Enter fullscreen mode Exit fullscreen mode

جسم الطلب:

{
  "prompt": "Summarize this text...",
  "max_new_tokens": 150
}
Enter fullscreen mode Exit fullscreen mode

الاستجابة:

{
  "response": "..."
}
Enter fullscreen mode Exit fullscreen mode

استخدم أداة API لتوثيق هذه العقود مبكرًا، واختبر الحالات مثل:

  • مطالبة فارغة.
  • نص طويل جدًا.
  • max_new_tokens غير صالح.
  • استجابة بطيئة.
  • فشل تحميل النموذج.

الخلاصة

يوفر Gemma 3 270M طريقة عملية لتشغيل ميزات ذكاء اصطناعي محليًا مع زمن وصول منخفض وخصوصية أعلى واستهلاك موارد محدود. يمكنك استخدامه للتلخيص، التصنيف، الإجابة على الأسئلة، استخراج البيانات، وبناء واجهات API محلية حول النموذج.

إذا كنت تبني تطبيقًا يعتمد على API، فابدأ بنقطة نهاية بسيطة حول النموذج، ثم وثّقها واختبرها مبكرًا باستخدام Apidog قبل دمجها في الواجهة الأمامية أو الخدمات الداخلية.

Top comments (0)