با گسترش هوش مصنوعی، شرکت‌ها به دنبال مدل‌هایی هستند که هم کارایی بالا داشته باشند و هم در منابع سخت‌افزاری سبک‌تر عمل کنند. گوگل در این مسیر خانواده‌ای از مدل‌های هوش مصنوعی به نام Gemma معرفی کرده است. یکی از نسخه‌های مهم این خانواده، Gemma 3 270M است که به‌عنوان یک مدل کوچک اما قدرتمند شناخته می‌شود. این مدل با وجود اندازه نسبتاً کم (۲۷۰ میلیون پارامتر)، می‌تواند کاربردهای گسترده‌ای در توسعه اپلیکیشن‌ها و سیستم‌های هوشمند داشته باشد.

Gemma 3 270M چیست؟

Gemma 3 270M یک مدل زبان (LLM) کم‌مصرف از سری مدل‌های Gemma گوگل است. این مدل با معماری بهینه طراحی شده تا روی سخت‌افزارهای محدود (مثل لپ‌تاپ‌های معمولی یا حتی برخی دستگاه‌های موبایل) نیز قابل اجرا باشد.

ویژگی‌های کلیدی

  • تعداد پارامترها: ۲۷۰ میلیون (کوچک‌تر از مدل‌های چند میلیاردی)
  • بهینه‌سازی مصرف انرژی: اجرای سریع روی GPU یا حتی CPU معمولی
  • قابل اجرا روی دستگاه‌های لبه (On-device/Edge): بی‌نیاز از زیرساخت سنگین ابری
  • قابل شخصی‌سازی برای سناریوهای مختلف

چرا گوگل Gemma 3 270M را توسعه داد؟

مدل‌های بزرگ اگرچه قدرتمندند، اما برای اجرا به منابع عظیم و هزینه بالا نیاز دارند. Gemma 3 270M با هدف دسترس‌پذیر کردن هوش مصنوعی برای تیم‌های کوچک، استارتاپ‌ها و سناریوهای لوکال عرضه شده است تا بدون وابستگی به سرورهای گران، تجربه‌ای روان از LLM ارائه کند.

کاربردهای Gemma 3 270M

۱) پردازش زبان طبیعی (NLP) سبک

پاسخ به پرسش‌ها، تکمیل متن، خلاصه‌سازی و ترجمه‌های ساده.

۲) چت‌بات‌های کم‌هزینه

مناسب برای وب‌سایت‌ها و اپ‌های موبایل که به پاسخ‌های سریع و سبک نیاز دارند.

۳) آموزش و پژوهش

کم‌هزینه برای آزمایش‌های دانشگاهی، پروژه‌های کلاسی و نمونه‌سازی سریع.

مزایا و محدودیت‌ها

مزایا: سبک و کم‌مصرف، راه‌اندازی آسان، مناسب اجرای محلی، هزینه عملیاتی پایین.
محدودیت‌ها: دقت و پوشش دانشی کمتر از مدل‌های چندمیلیاردی، مناسب‌تر برای وظایف سبک تا متوسط.

مقایسه کوتاه با مدل‌های بزرگ‌تر

ویژگی Gemma 3 270M مدل‌های چند میلیاردی
حجم 270M پارامتر میلیاردها پارامتر
منابع لازم CPU/GPU معمولی GPU/TPU قدرتمند
هزینه اجرا پایین بالا
دقت کلی متوسط بسیار بالا
سناریو موبایل/لوکال/آموزشی سازمانی و پیچیده

آموزش اجرای Gemma 3 270M با پایتون

در این بخش یک راه‌اندازی پایه برای تولید متن نشان می‌دهیم.

نصب

pip install torch transformers accelerate

بارگذاری و تولید متن

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

model_id = "google/gemma-3-270m"  # نمونه نام مدل
dtype = torch.bfloat16 if torch.cuda.is_available() else torch.float32

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=dtype,
    device_map="auto" if torch.cuda.is_available() else None
)

prompt = "هوش مصنوعی چیست و چرا اهمیت دارد؟"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=120, do_sample=True, top_p=0.9)
print(tokenizer.decode(out[0], skip_special_tokens=True))

نکته‌های کارایی

  • اگر GPU دارید، از device_map="auto" و torch_dtype=bfloat16 استفاده کنید.
  • روی CPU می‌توانید max_new_tokens را کوچک‌تر بگیرید تا سریع‌تر شوید.

اجرای پیشرفته در Google Colab

مرحله ۱: انتخاب GPU

از منوی Runtime → Change runtime type، گزینه GPU (ترجیحاً T4/A100) را فعال کنید.

مرحله ۲: نصب و راه‌اندازی

!pip install torch transformers accelerate bitsandbytes gradio

مرحله ۳: بارگذاری با کمّی‌سازی (اختیاری برای RAM/GPU کمتر)

from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
import torch

model_id = "google/gemma-3-270m"
bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_use_double_quant=True)

tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="auto",
    quantization_config=bnb_config
)

def infer(prompt, max_new_tokens=120):
    inputs = tok(prompt, return_tensors="pt").to(model.device)
    out = model.generate(**inputs, max_new_tokens=max_new_tokens, do_sample=True, top_p=0.9)
    return tok.decode(out[0], skip_special_tokens=True)

print(infer("یک پاراگراف درباره کاربردهای یادگیری ماشین بنویس."))

مرحله ۴: ساخت دمو وب با Gradio

import gradio as gr

def chat_fn(msg, hist):
    return infer(msg), hist

demo = gr.ChatInterface(fn=chat_fn, title="Gemma 3 270M (Colab Demo)")
demo.launch(share=True)
  • خروجی share=True یک URL عمومی موقت می‌دهد تا دمو را تست کنید.
  • اگر سرعت برایتان مهم است، اندازه پاسخ (max_new_tokens) را کاهش دهید.

اجرای به صورت وب‌اپ در Hugging Face Spaces

برای ساخت یک دمو پایدار و قابل اشتراک، از Spaces استفاده کنید.

ساختار پیشنهادی پروژه

/ (ریپو Space)
├── app.py
├── requirements.txt
└── README.md

app.py (رابط Gradio سبک)

import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

MODEL_ID = "google/gemma-3-270m"
tok = AutoTokenizer.from_pretrained(MODEL_ID)
model = AutoModelForCausalLM.from_pretrained(MODEL_ID, torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32, device_map="auto" if torch.cuda.is_available() else None)

def respond(msg, hist):
    inputs = tok(msg, return_tensors="pt").to(model.device)
    out = model.generate(**inputs, max_new_tokens=120, do_sample=True, top_p=0.9)
    return tok.decode(out[0], skip_special_tokens=True)

demo = gr.ChatInterface(respond, title="Gemma 3 270M — Minimal Space")
demo.launch()

requirements.txt

transformers
torch
accelerate
gradio

نکته‌های Space

  • در تنظیمات Space، Hardware را روی CPU basic یا T4 Small بگذارید. برای مدل‌های سبک، T4 Small کافی است.
  • اگر با محدودیت حافظه روبه‌رو شدید، از کمّی‌سازی 4-بیتی (bitsandbytes) استفاده کنید:
    • به requirements.txt اضافه کنید: bitsandbytes
    • و در app.py همانند کد Colab از BitsAndBytesConfig بهره ببرید.
  • برای کاهش هزینه، پاسخ کوتاه‌تر و batch size کوچک نگه دارید.

توصیه‌های عملی برای پروداکشن سبک

  • کش توکنایزر/وزن‌ها: از کش محلی یا دیسک موقت سرویس‌دهنده استفاده کنید تا زمان راه‌اندازی کمتر شود.
  • نظارت ساده: زمان پاسخ، طول پاسخ و نرخ خطا را لاگ کنید.
  • حدّ نرخ (Rate Limit): برای جلوگیری از فشار ناگهانی، محدودیت درخواست قرار دهید.
  • پروپت مهندسی: برای مدل‌های کوچک، دستورهای دقیق‌تر و کوتاه‌تر نتیجه بهتری می‌دهند.

آینده مدل‌های کوچک مثل Gemma 3 270M

مدل‌های فشرده در کنار On-device AI می‌توانند تجربه‌های بلادرنگ و خصوصی‌تری بسازند. انتظار می‌رود ترکیب کمّی‌سازی، فاین‌تیون سبک (LoRA/QLoRA) و سرویس‌دهی روی GPUهای ارزان، مسیر محبوب استقرار LLMها در سال‌های پیش‌رو باشد.

جمع‌ بندی

Gemma 3 270M یک مدل کم‌مصرف، سریع و کاربردی است که برای پروژه‌های سبک تا متوسط عالی عمل می‌کند. در این مطلب ابتدا با توانایی‌ها و محدودیت‌های آن آشنا شدیم، سپس اجرای پایه با پایتون را دیدیم و در ادامه دو سناریوی عملی برای استقرار سریع روی Google Colab و Hugging Face Spaces ارائه کردیم. با رعایت نکته‌های کارایی و بهینه‌سازی، می‌توانید یک دمو یا سرویس واقعی کم‌هزینه و چابک بر پایه این مدل بسازید.