DEV Community

Cover image for Google Gemma 3 270M Yerel Olarak Nasıl Çalıştırılır: Geliştiriciler İçin Hızlı, Özel Yapay Zeka
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

Google Gemma 3 270M Yerel Olarak Nasıl Çalıştırılır: Geliştiriciler İçin Hızlı, Özel Yapay Zeka

Yerel donanım üzerinde çalışan, düşük gecikmeli ve kaynak dostu bir dil modeli arıyorsanız Google Gemma 3 270M iyi bir başlangıç noktasıdır. Gemma serisinin en küçük modeli olan Gemma 3 270M, 270 milyon parametreyle metin üretimi, soru-cevap, özetleme ve veri çıkarma gibi görevleri buluta bağımlı kalmadan cihazınızda çalıştırmanıza yardımcı olur.

Apidog'u bugün deneyin

İpucu: Yerel yapay zeka modellerinizin etrafında API tasarlıyor, test ediyor, mock servisler oluşturuyor veya dokümantasyon hazırlıyorsanız Apidog ile Gemma 3 270M tabanlı uç noktalarınızı daha düzenli bir geliştirme akışına bağlayabilirsiniz.

Yerel Yapay Zeka Görevleri İçin Neden Gemma 3 270M?

Gemma 3 270M özellikle şu senaryolar için uygundur:

  • Cihaz içi gizlilik: Girdi verileri yerel donanımda kalır.
  • Düşük gecikme: Ağ çağrısı olmadığı için yanıt süresi azalır.
  • Kaynak verimliliği: Dizüstü, masaüstü ve uygun mobil cihazlarda çalıştırılabilir.
  • API entegrasyonu: Yerel modeli küçük bir HTTP servisi arkasına koyarak uygulamalara bağlayabilirsiniz.

Model, 32.000 tokene kadar bağlam penceresi ve Q4_0 QAT gibi nicemleme seçenekleriyle doğruluk, bellek kullanımı ve hız arasında pratik bir denge sunar. INT4 modunda 200 MB'den az bellek kullanımıyla uç cihazlar ve mobil dağıtımlar için avantaj sağlar.

Gemma 3 270M Mimarisi: Verimlilik Nereden Geliyor?

Gemma 3 270M, transformatör tabanlı bir mimariye sahiptir:

  • 170M parametre: Gömme katmanları için kullanılır ve 256.000 tokenlik kelime dağarcığını destekler.
  • 100M parametre: Transformatör blokları için ayrılmıştır.
  • Çok dilli destek: Farklı dillerde metin işleme görevlerine uyarlanabilir.
  • Verimlilik teknikleri: INT4 nicemleme, döner konum gömmeleri ve grup sorgu dikkat mekanizması kullanır.

Bu yapı; talimat takibi, veri çıkarma, özetleme ve uyumluluk kontrolleri gibi görevlerde kullanılabilir. Kıyaslamalar, Gemma 3 270M'nin IFEval'de yüksek F1 puanları elde ettiğini gösterir. Bu da modeli, özellikle bellek ve pil tüketiminin kritik olduğu uygulamalarda pratik hale getirir.

Gemma 3 270M'yi Yerel Çalıştırmanın Faydaları

Yerel çıkarım yaklaşımı, uygulama mimarisinde bazı net avantajlar sağlar:

  • Veri gizliliği: İstekler cihaz dışına çıkmaz.
  • Düşük gecikme: Bulut API çağrısı olmadan yanıt üretilebilir.
  • Bulut maliyeti yok: Yinelenen yapay zeka API maliyetleri azalır.
  • Enerji verimliliği: 25 INT4 nicemlenmiş konuşma için Pixel 9 Pro pilinin yalnızca %0,75'ini kullandığı belirtilmiştir.
  • İnce ayar kolaylığı: LoRA gibi hafif yöntemlerle belirli görevlere uyarlanabilir.
  • Bağımsız geliştirme: Küçük ekipler ve bireysel geliştiriciler bulut bağımlılığı olmadan prototip geliştirebilir.

Sistem Gereksinimleri

Gemma 3 270M çoğu geliştirici ortamında çalıştırılabilir.

Senaryo Önerilen Gereksinim
CPU çıkarımı 4 GB RAM ve modern işlemci, örn. Intel Core i5
GPU hızlandırma NVIDIA kartlarda nicemlenmiş modeller için yaklaşık 2 GB VRAM
Apple Silicon MLX-LM ile yüksek performans
İnce ayar Küçük veri kümeleri için 8 GB RAM ve 4 GB VRAM'li GPU
İşletim sistemi Windows, macOS veya Linux
Python Python 3.10+
Depolama Model dosyaları için yaklaşık 1 GB

Yerel Çıkarım Aracı Seçimi

Gemma 3 270M'yi çalıştırmak için birkaç farklı yol kullanabilirsiniz.

Araç Ne zaman kullanılır?
Hugging Face Transformers Python ile esnek entegrasyon, script yazımı ve API geliştirme
LM Studio GUI ile hızlı deneme ve kodsuz prototipleme
llama.cpp Düşük seviye performans optimizasyonu ve kaynak kısıtlı cihazlar
MLX Apple M serisi çiplerde optimize çalışma

Genel öneri:

  • Yeni başlayanlar: LM Studio
  • Python geliştiricileri: Hugging Face Transformers
  • Performans odaklı kullanım: llama.cpp
  • Apple Silicon kullanıcıları: MLX

Gemma 3 270M'yi Hugging Face Transformers ile Çalıştırma

Python tabanlı bir uygulamaya entegre etmek istiyorsanız en pratik yollardan biri transformers kullanmaktır.

1. Gerekli paketleri kurun

pip install transformers torch
Enter fullscreen mode Exit fullscreen mode

2. Modeli yükleyin

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. Basit çıkarım çalıştırın

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. Bellek kullanımını azaltmak için nicemleme kullanın

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. Hugging Face erişimi gerekiyorsa giriş yapın

from huggingface_hub import login

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

Tokeninizi Hugging Face hesabınızdan alabilirsiniz.

Basit Bir Yerel API Oluşturma

Modeli doğrudan uygulama içinde çağırmak yerine küçük bir HTTP API arkasına koymak daha sürdürülebilir olabilir. Örneğin FastAPI ile basit bir /generate uç noktası oluşturabilirsiniz.

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 = 200

@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 {
        "output": text
    }
Enter fullscreen mode Exit fullscreen mode

Sunucuyu başlatın:

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

Test isteği:

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

Bu yapı sayesinde modeli web uygulamanıza, dahili araçlarınıza veya otomasyon akışlarınıza HTTP üzerinden bağlayabilirsiniz.

Gemma 3 270M'yi LM Studio ile Çalıştırma

LM Studio, yerel modelleri GUI üzerinden yönetmek isteyenler için daha hızlı bir başlangıç sunar.

  1. lmstudio.ai adresinden LM Studio'yu indirin ve kurun.

Gemma 3 270M için LM Studio yükleyici ekran görüntüsü

  1. Model merkezinde gemma-3-270m arayın.

LM Studio arama sonuçları ekran görüntüsü

  1. Nicemlenmiş bir varyant indirin, örneğin Q4_0.

  2. Modeli yükleyin.

  3. Parametreleri ihtiyacınıza göre ayarlayın:

context: 32k
temperature: 1.0
Enter fullscreen mode Exit fullscreen mode
  1. GPU varsa daha iyi hız için GPU offload seçeneğini etkinleştirin.

LM Studio, modeli hızlıca denemek, istemleri test etmek ve teknik olmayan ekip üyelerine prototip göstermek için kullanışlıdır.

Gemma 3 270M'yi llama.cpp ile Çalıştırma

Daha düşük seviye kontrol ve yüksek verimlilik istiyorsanız llama.cpp kullanabilirsiniz.

1. Depoyu klonlayın

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

2. GGUF model dosyalarını indirin

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

3. Modeli çalıştırın

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

4. NVIDIA GPU için CUDA ile derleyin

make GGML_CUDA=1
Enter fullscreen mode Exit fullscreen mode

GPU katmanlarını artırmak için şu parametreyi kullanabilirsiniz:

./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 İş Akışlarında Kullanım Örnekleri

Gemma 3 270M'yi bir API arkasına koyduktan sonra farklı görevleri ayrı uç noktalar olarak sunabilirsiniz.

1. Duygu analizi

prompt = "Classify sentiment: 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

Beklenen çıktı örneği:

Olumlu.
Enter fullscreen mode Exit fullscreen mode

2. Özetleme

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

prompt = f"Summarize the following text:\n\n{text}"

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

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

print(summary)
Enter fullscreen mode Exit fullscreen mode

3. Soru-cevap

İstem:

İklim değişikliğine ne sebep olur?
Enter fullscreen mode Exit fullscreen mode

Bu kullanım; sohbet botları, dahili bilgi tabanları veya destek araçları için uygun kısa yanıtlar üretmekte kullanılabilir.

4. Sağlık kurumu varlık çıkarma

Klinik notlardan anahtar varlıkları çıkarmak için yapılandırılmış bir istem kullanabilirsiniz:

prompt = """
Extract medical entities from the following note.
Return JSON with: symptoms, medications, diagnoses.

Note:
Patient reports chest pain and shortness of breath. Prescribed aspirin.
"""
Enter fullscreen mode Exit fullscreen mode

Yerel işleme, hassas verilerin cihaz dışına çıkmasını önlemek istediğiniz senaryolarda avantaj sağlar.

Profesyonel ipucu: Bu model uç noktalarını tasarlamak, mocklamak, test etmek ve dokümante etmek için Apidog kullanarak yerel yapay zeka entegrasyonlarınızı daha üretime hazır hale getirebilirsiniz.

Gemma 3 270M'ye LoRA ile İnce Ayar Yapma

Belirli bir alan veya görev için modeli uyarlamak istiyorsanız parametre verimli ince ayar yöntemlerinden LoRA kullanılabilir.

Kurulum:

pip install peft
Enter fullscreen mode Exit fullscreen mode

Temel LoRA yapılandırması:

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

Eğitim iskeleti:

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

İnce ayar yaparken dikkat edin:

  • Küçük ve temiz veri kümeleriyle başlayın.
  • Adaptörleri ayrı kaydedip farklı görevler için yeniden yükleyin.
  • Eğitim kaybını ve doğrulama doğruluğunu izleyin.
  • Aşırı uyumu önlemek için veri çeşitliliğini artırın.

Performans Optimizasyon İpuçları

Daha stabil ve hızlı çıkarım için şu kontrolleri uygulayın:

  • 4-bit veya 8-bit nicemleme kullanın.
  • Benzer istekleri mümkünse toplu işleyin.
  • Üretim parametrelerini test ederek ayarlayın:
temperature = 1.0
top_k = 64
top_p = 0.95
Enter fullscreen mode Exit fullscreen mode
  • Uyumlu GPU'larda karışık hassasiyet kullanın.
  • VRAM kullanımını izleyin:
nvidia-smi
Enter fullscreen mode Exit fullscreen mode
  • transformers, torch, bitsandbytes gibi paketleri güncel tutun.
  • İstemlerde BOS tokenlarını iki kez eklememeye dikkat edin.
  • 32k bağlam penceresini aşmamak için uzun girdileri parçalara bölün.

Üretime Yaklaştırırken Kontrol Listesi

Yerel modelinizi uygulamanıza bağlamadan önce şu adımları tamamlayın:

  • [ ] Modeli hedef donanımda test edin.
  • [ ] Ortalama yanıt süresini ölçün.
  • [ ] Maksimum token limitlerini belirleyin.
  • [ ] Hatalı veya boş yanıtlar için fallback mantığı ekleyin.
  • [ ] API istek/yanıt şemasını netleştirin.
  • [ ] Loglama ve metrik takibi ekleyin.
  • [ ] Hassas veri politikalarını kontrol edin.
  • [ ] Uç noktaları dokümante edin ve test senaryoları oluşturun.

Sonuç

Gemma 3 270M, yerel donanımda düşük gecikmeli ve gizlilik odaklı yapay zeka özellikleri geliştirmek isteyenler için pratik bir seçenektir. Hugging Face Transformers ile Python uygulamalarına, LM Studio ile hızlı prototiplere, llama.cpp ile kaynak kısıtlı sistemlere entegre edilebilir.

Modeli bir API arkasına koyduğunuzda sohbet botları, özetleme servisleri, veri çıkarma araçları ve dahili otomasyonlar için yeniden kullanılabilir bir yapay zeka katmanı oluşturabilirsiniz. Apidog ise bu yerel model uç noktalarını tasarlama, test etme ve dokümante etme sürecini daha düzenli hale getirebilir.

Top comments (0)