Gemma'yı Sarılma Yüz Dönüştürücüleri ile çalıştırma

ai.google.dev adresinde görüntüleme Google Colab'de çalıştırma Kaggle'da çalıştırın Vertex AI'da aç Kaynağı GitHub'da görüntüleyin

Gemma açık modelleriyle metin oluşturma, özetleme ve içerik analizi gibi görevleri gerçekleştirebilirsiniz. Bu eğiticide, metin içeriği oluşturmak için hem metin hem de resim girişi kullanarak Hugging Face Transformers ile Gemma'yı çalıştırmaya nasıl başlayacağınız gösterilmektedir. Transformers Python kitaplığı, Gemma dahil olmak üzere önceden eğitilmiş üretken yapay zeka modellerine erişmek için bir API sağlar. Daha fazla bilgi için Transformers belgelerine bakın.

Kurulum

Bu eğitime başlamadan önce aşağıdaki adımları tamamlayın:

  • Hugging Face'e giriş yapıp bir Gemma modeli için Lisansı onayla'yı seçerek Gemma'ya erişebilirsiniz.
  • Çalıştırmak istediğiniz Gemma model boyutunu çalıştırmak için yeterli kaynaklara sahip bir Colab çalışma zamanı seçin. Daha fazla bilgi edinin.
  • Hugging Face erişim jetonu oluşturun ve Colab ortamınıza ekleyin.

Erişim jetonunu yapılandırma

Hugging Face web sitesinden Gemma modellerinin indirilmesini etkinleştirmek için erişim jetonunuzu Colab'e ekleyin. Çalışma kodunuza eklemeden jetonunuzu güvenli bir şekilde kaydetmek için Colab'in Secrets özelliğini kullanın.

Hugging Face erişim jetonunuzu gizli olarak eklemek için:

  1. Arayüzün sol tarafındaki anahtar simgesini seçerek sır sekmesini açın veya Araçlar > Komut paleti'ni seçip secrets yazın ve Enter tuşuna basın.
  2. Yeni bir gizli giriş eklemek için Yeni gizli anahtar ekle'yi seçin.
  3. Ad alanına HF_TOKEN girin.
  4. Değer alanına Hugging Face erişim jetonunuzun metnini girin.
  5. Not defteri erişimi alanında, erişimi etkinleştirmek için anahtarı seçin.

Erişim jetonunuzu HF_TOKEN ve değer olarak girdikten sonra aşağıdaki kodu kullanarak Colab not defteri ortamınızda erişebilir ve ayarlayabilirsiniz:

from google.colab import userdata
from huggingface_hub import login

# Login into Hugging Face Hub
hf_token = userdata.get('HF_TOKEN') # If you are running inside a Google Colab
login(hf_token)

Python paketlerini yükleme

Gemma modelini çalıştırmak ve istekte bulunmak için gereken Hugging Face kitaplıklarını yükleyin.

# Install Pytorch & other libraries
%pip install "torch>=2.4.0"

# Install a transformers version that supports Gemma 3 (>= 4.51.3)
%pip install "transformers>=4.51.3"

Metinden metin oluşturma

Gemma'yı kullanmanın en basit yolu, metin yanıtı almak için Gemma modeline metin istemi göndermektir. Bu yöntem, neredeyse tüm Gemma varyantlarıyla çalışır. Bu bölümde, metinden metne oluşturma için Gemma modelini yüklemek ve yapılandırmak üzere Hugging Face Transformers kitaplığının nasıl kullanılacağı gösterilmektedir.

Model yükle

Gemma ile model yürütme pipeline sınıfının bir örneğini oluşturmak için torch ve transformers kitaplıklarını kullanın. Çıkış oluşturmak veya talimatları uygulamak için bir model kullanırken talimatlara göre ayarlanmış (IT) bir model seçin. Bu modellerin model kimliği dizesinde genellikle it bulunur. pipeline nesnesini kullanarak, kullanmak istediğiniz Gemma varyantını ve yapmak istediğiniz görev türünü (özellikle metinden metne oluşturma için "text-generation") belirtirsiniz. Bu işlem, aşağıdaki kod örneğinde gösterilmiştir:

import torch
from transformers import pipeline

pipeline = pipeline(
    task="text-generation",
    model="google/gemma-3-4b-it",
    device=0, # "cuda" for Colab, "msu" for iOS devices
    torch_dtype=torch.bfloat16
)

Gemma, yalnızca birkaç task oluşturma ayarını destekler. Kullanılabilir task ayarları hakkında daha fazla bilgi için Hugging Face Pipelines task() belgelerine bakın. Modelin çıkış kalitesini önemli ölçüde etkilemeden modelin hassasiyetini ve gereken bilgi işlem kaynaklarını azaltmak için torch veri türünü torch.bfloat16 kullanın. device ayarı için Colab'de "cuda", iOS cihazlarda "msu" kullanabilir veya sisteminizdeki ilk GPU'yu belirtmek için bunu 0 (sıfır) olarak ayarlayabilirsiniz. Pipeline sınıfını kullanma hakkında daha fazla bilgi için Hugging Face Pipelines belgelerine bakın.

Metin oluşturma işlemini çalıştırma

Gemma modelini bir pipeline nesnesine yükleyip yapılandırdıktan sonra modele istem gönderebilirsiniz. Aşağıdaki örnek kodda, text_inputs parametresinin kullanıldığı temel bir istek gösterilmektedir:

pipeline(text_inputs="roses are red")
[{'generated_text': 'roses are red, violets are blue, \ni love you more than you ever knew.\n\n**Explanation'}]

İstem şablonu kullanma

Daha karmaşık istemlerle içerik oluştururken isteğinizi yapılandırmak için bir istem şablonu kullanın. İstem şablonu, user veya model gibi belirli rollerden gelen girişleri belirtmenize olanak tanır ve Gemma modelleriyle çok turlu sohbet etkileşimlerini yönetmek için gerekli bir biçimdir. Aşağıdaki örnek kodda, Gemma için nasıl istem şablonu oluşturulacağı gösterilmektedir:

messages = [
    [
        {
            "role": "system",
            "content": [{"type": "text", "text": "You are a helpful assistant."},]
        },
        {
            "role": "user",
            "content": [{"type": "text", "text": "Roses are red..."},]
        },
    ],
]

pipeline(messages, max_new_tokens=50)

Resim verilerinden metin oluşturma

Gemma 3'ten itibaren, 4B ve üzeri model boyutlarında isteminizin bir parçası olarak görüntü verilerini kullanabilirsiniz. Bu bölümde, Transformers kitaplığını kullanarak bir Gemma modelini yükleyip yapılandırarak resim verilerini ve metin girişini kullanarak metin çıkışı oluşturma işlemi gösterilmektedir.

Model yükle

Gemma modelini görsel verilerle kullanılmak üzere yüklerken Transformer pipeline örneğini özellikle görsellerle kullanılacak şekilde yapılandırırsınız. Özellikle, aşağıdaki kod örneğinde gösterildiği gibi task parametresini "image-text-to-text" olarak ayarlayarak görsel verileri işleyebilen bir kanal yapılandırması seçmeniz gerekir:

import torch
from transformers import pipeline

pipeline = pipeline(
    task="image-text-to-text", # required for image input
    model="google/gemma-3-4b-it",
    device=0,
    torch_dtype=torch.bfloat16
)

Metin oluşturma işlemini çalıştırma

Gemma modelini pipeline örneğiyle görüntü girişini işleyecek şekilde yapılandırdıktan sonra modele görüntü içeren istemler gönderebilirsiniz. İsteminizin metnine resmi eklemek için <start_of_image> simgesini kullanın. Aşağıdaki örnek kodda, pipeline parametresinin kullanıldığı temel bir istek gösterilmektedir:

pipeline(
    "https://ai.google.dev/static/gemma/docs/images/thali-indian-plate.jpg",
    text="<start_of_image> What is shown in this image?"
)
[{'input_text': '<start_of_image> What is shown in this image?',
  'generated_text': '<start_of_image> What is shown in this image?\n\nThis image showcases a traditional Indian Thali. A Thali is a platter that contains a variety'}]

İstem şablonu kullanma

Daha karmaşık istemlerle içerik oluştururken isteğinizi yapılandırmak için bir istem şablonu kullanın. İstem şablonu, user veya model gibi belirli rollerden gelen girişleri belirtmenize olanak tanır ve Gemma modelleriyle çok turlu sohbet etkileşimlerini yönetmek için gerekli bir biçimdir. Aşağıdaki örnek kodda, Gemma için nasıl istem şablonu oluşturulacağı gösterilmektedir:

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://ai.google.dev/static/gemma/docs/images/thali-indian-plate.jpg"},
            {"type": "text", "text": "What is shown in this image?"},
        ]
    },
    {
        "role": "assistant",
        "content": [
            {"type": "text", "text": "This image shows"},
        ],
    },
]

pipeline(text=messages, max_new_tokens=50, return_full_text=False)

content listesine ek "type": "image", girişleri ekleyerek isteminize birden fazla resim dahil edebilirsiniz.

Ses verilerinden metin oluşturma

Gemma 3n ile isteminizin bir parçası olarak ses verilerini kullanabilirsiniz. Bu bölümde, Transformers kitaplığını kullanarak bir Gemma modelini yükleyip ses verilerini ve metin girişini kullanarak metin çıkışı oluşturacak şekilde nasıl yapılandıracağınız gösterilmektedir.

Python paketlerini yükleme

Gemma ile ses girişini kullanmak için Transformers kitaplıklarının yeni bir sürümü gerekir. Gemma modelini çalıştırmak ve ses verileriyle istekte bulunmak için Hugging Face kitaplıklarını aşağıdaki şekilde yükleyin.

# Install Pytorch & other libraries
%pip install "torch>=2.4.0"

# Install a transformers version that supports Gemma 3n (>= 4.53)
%pip install "transformers>=4.53.0"

Model yükleme

Ses verileriyle kullanılmak üzere bir Gemma modeli yüklerken Transformer örneğini özellikle ses verileriyle kullanılacak şekilde yapılandırırsınız. Özellikle, aşağıdaki kod örneğinde gösterildiği gibi AutoProcessor ve AutoModelForImageTextToText sınıflarını kullanarak bir processor ve model nesnesi tanımlamanız gerekir:

import torch
from transformers import AutoProcessor, AutoModelForImageTextToText

GEMMA_MODEL_ID = "google/gemma-3n-E4B-it"

processor = AutoProcessor.from_pretrained(GEMMA_MODEL_ID, device_map="auto")
model = AutoModelForImageTextToText.from_pretrained(
            GEMMA_MODEL_ID, torch_dtype="auto", device_map="auto")

İstem şablonu kullanma

Ses içeren içerik oluştururken isteğinizi yapılandırmak için bir istem şablonu kullanın. İstem şablonu, user veya model gibi belirli rollerden giriş belirtmenize olanak tanır ve Gemma modelleriyle çok turlu sohbet etkileşimlerini yönetmek için gerekli bir biçimdir. Aşağıdaki örnek kodda, ses verisi girişiyle Gemma için istem şablonunun nasıl oluşturulacağı gösterilmektedir:

messages = [
    {
        "role": "user",
        "content": [
            {"type": "audio", "audio": "https://ai.google.dev/gemma/docs/audio/roses-are.wav"},
            {"type": "text", "text": "Transcribe this audio and complete the statement"},
        ]
    }
]

content listesine ek "type": "audio", girişleri ekleyerek isteminize birden fazla ses dosyası dahil edebilirsiniz. Ses verileriyle istemde bulunuyorsanız ancak şablon kullanmıyorsanız isteminizin metninde <audio_soft_token> söz dizimini kullanın.

Metin oluşturma işlemini çalıştırma

Gemma modelini processor ve model nesnesiyle yapılandırıp istem şablonunu kullanarak ses verileri içeren bir istem oluşturduktan sonra, istemi göndererek çıkış oluşturabilirsiniz. Aşağıdaki örnek kodda, sohbet şablonu kullanılarak yapılan bir istek, çıktı oluşturma ve yanıtın kodunu çözme işlemi gösterilmektedir:

input_ids = processor.apply_chat_template(
        messages,
        add_generation_prompt=True,
        tokenize=True, return_dict=True,
        return_tensors="pt",
)
input_ids = input_ids.to(model.device, dtype=model.dtype)

# Generate output from the model
outputs = model.generate(**input_ids, max_new_tokens=128)

# decode and print the output as text
text = processor.batch_decode(
    outputs,
    skip_special_tokens=False,
    clean_up_tokenization_spaces=False
)
print(text[0])

Sonraki adımlar

Gemma modelleriyle daha fazlasını oluşturun ve keşfedin: