![]() |
![]() |
![]() |
|
![]() |
Membuat teks, meringkas, dan menganalisis konten hanyalah beberapa tugas yang dapat Anda lakukan dengan model terbuka Gemma. Tutorial ini menunjukkan cara mulai menjalankan Gemma menggunakan Hugging Face Transformers menggunakan input teks dan gambar untuk membuat konten teks. Library Python Transformers menyediakan API untuk mengakses model AI generatif terlatih, termasuk Gemma. Untuk informasi selengkapnya, lihat dokumentasi Transformer.
Penyiapan
Sebelum memulai tutorial ini, selesaikan langkah-langkah berikut:
- Dapatkan akses ke Gemma dengan login ke Hugging Face dan memilih Acknowledge license untuk model Gemma.
- Pilih runtime Colab dengan resource yang memadai untuk menjalankan ukuran model Gemma yang ingin Anda jalankan. Pelajari lebih lanjut.
- Buat Token Akses Hugging Face dan tambahkan ke lingkungan Colab Anda.
Mengonfigurasi Token Akses
Tambahkan token akses Anda ke Colab untuk mengaktifkan download model Gemma dari situs Hugging Face. Gunakan fitur Secret Colab untuk menyimpan token dengan aman tanpa menambahkannya ke kode yang sedang berjalan.
Untuk menambahkan Token Akses Hugging Face sebagai Secret:
- Buka tab secret dengan memilih ikon kunci di sisi kiri antarmuka, atau pilih Tools > Command palette, ketik
secrets
, lalu tekan Enter. - Pilih Tambahkan secret baru untuk menambahkan entri secret baru.
- Di kolom Name, masukkan
HF_TOKEN
. - Di kolom Value, masukkan teks Token Akses Hugging Face Anda.
- Di kolom Notebook access, pilih tombol untuk mengaktifkan akses.
Setelah memasukkan Token Akses sebagai HF_TOKEN
dan nilai, Anda dapat mengakses dan menetapkannya dalam lingkungan notebook Colab menggunakan kode berikut:
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)
Menginstal paket Python
Instal library Hugging Face yang diperlukan untuk menjalankan model Gemma dan membuat permintaan.
# 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"
Membuat teks dari teks
Meminta model Gemma dengan teks untuk mendapatkan respons teks adalah cara termudah untuk menggunakan Gemma dan berfungsi dengan hampir semua varian Gemma. Bagian ini menunjukkan cara menggunakan pemuatan library Hugging Face Transformers dan mengonfigurasi model Gemma untuk pembuatan teks ke teks.
Memuat model
Gunakan library torch
dan transformers
untuk membuat instance class pipeline
eksekusi model dengan Gemma. Saat menggunakan model untuk menghasilkan output atau mengikuti petunjuk, pilih model yang disesuaikan dengan petunjuk (IT), yang biasanya memiliki it
dalam string ID model. Dengan menggunakan objek pipeline
, Anda menentukan varian Gemma yang ingin digunakan, jenis tugas yang ingin dilakukan, khususnya "text-generation"
untuk pembuatan teks ke teks, seperti yang ditunjukkan dalam contoh kode berikut:
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 hanya mendukung beberapa setelan task
untuk pembuatan. Untuk mengetahui informasi selengkapnya tentang setelan task
yang tersedia, lihat dokumentasi task() Hugging Face Pipelines. Gunakan jenis data torch torch.bfloat16
untuk mengurangi presisi model dan resource komputasi yang diperlukan, tanpa memengaruhi kualitas output model secara signifikan. Untuk setelan device
, Anda dapat menggunakan "cuda"
untuk Colab, atau "msu"
untuk perangkat iOS, atau cukup tetapkan ke 0
(nol) untuk menentukan GPU pertama di sistem Anda. Untuk informasi selengkapnya tentang penggunaan class Pipeline, lihat dokumentasi Pipeline Hugging Face.
Menjalankan pembuatan teks
Setelah model Gemma dimuat dan dikonfigurasi dalam objek pipeline
, Anda dapat mengirim perintah ke model. Contoh kode berikut menunjukkan permintaan dasar menggunakan parameter text_inputs
:
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'}]
Menggunakan template perintah
Saat membuat konten dengan perintah yang lebih kompleks, gunakan template perintah untuk menyusun permintaan Anda. Template perintah memungkinkan Anda menentukan input dari peran tertentu, seperti user
atau model
, dan merupakan format yang diperlukan untuk mengelola interaksi chat multi-giliran dengan model Gemma. Contoh kode berikut menunjukkan cara membuat template perintah untuk Gemma:
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)
Membuat teks dari data gambar
Mulai dari Gemma 3, untuk ukuran model 4B dan yang lebih tinggi, Anda dapat menggunakan data gambar sebagai bagian dari perintah. Bagian ini menunjukkan cara menggunakan library Transformers untuk memuat dan mengonfigurasi model Gemma agar menggunakan data gambar dan input teks untuk menghasilkan output teks.
Memuat model
Saat memuat model Gemma untuk digunakan dengan data gambar, Anda mengonfigurasi instance pipeline
Transformer secara khusus untuk digunakan dengan gambar. Secara khusus, Anda harus memilih konfigurasi pipeline yang dapat menangani data visual dengan menetapkan parameter task
ke "image-text-to-text"
, seperti yang ditunjukkan dalam contoh kode berikut:
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
)
Menjalankan pembuatan teks
Setelah mengonfigurasi model Gemma untuk menangani input gambar dengan instance pipeline
, Anda dapat mengirim perintah dengan gambar ke model. Gunakan token <start_of_image>
untuk menambahkan gambar ke teks perintah Anda. Contoh kode berikut menunjukkan permintaan dasar menggunakan parameter pipeline
:
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'}]
Menggunakan template perintah
Saat membuat konten dengan perintah yang lebih kompleks, gunakan template perintah untuk menyusun permintaan Anda. Template perintah memungkinkan Anda menentukan input dari peran tertentu, seperti user
atau model
, dan merupakan format yang diperlukan untuk mengelola interaksi chat multi-giliran dengan model Gemma. Contoh kode berikut menunjukkan cara membuat template perintah untuk Gemma:
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)
Anda dapat menyertakan beberapa gambar dalam perintah dengan menyertakan entri "type": "image",
tambahan dalam daftar content
.
Membuat teks dari data audio
Dengan Gemma 3n, Anda dapat menggunakan data audio sebagai bagian dari perintah. Bagian ini menunjukkan cara menggunakan library Transformers untuk memuat dan mengonfigurasi model Gemma agar menggunakan data audio dan input teks untuk menghasilkan output teks.
Menginstal paket Python
Library Transformers versi terbaru diperlukan untuk menggunakan input audio dengan Gemma. Instal library Hugging Face untuk menjalankan model Gemma dan membuat permintaan dengan data audio seperti yang ditunjukkan di bawah.
# 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"
Memuat model
Saat memuat model Gemma untuk digunakan dengan data audio, Anda mengonfigurasi instance Transformer secara khusus untuk digunakan dengan data audio. Secara khusus, Anda harus menentukan objek processor
dan model
menggunakan class AutoProcessor
dan AutoModelForImageTextToText
, seperti yang ditunjukkan dalam contoh kode berikut:
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")
Menggunakan template perintah
Saat membuat konten dengan audio, gunakan template perintah untuk menyusun permintaan Anda. Template perintah memungkinkan Anda menentukan input dari peran tertentu, seperti user
atau model
, dan merupakan format yang diperlukan untuk mengelola interaksi chat multi-giliran dengan model Gemma. Contoh kode berikut menunjukkan cara membuat template perintah untuk Gemma dengan input data audio:
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"},
]
}
]
Anda dapat menyertakan beberapa gambar dalam perintah dengan menyertakan entri "type": "audio",
tambahan dalam daftar content
. Jika Anda meminta data audio, tetapi tanpa template, gunakan sintaksis <audio_soft_token>
dalam teks perintah Anda.
Menjalankan pembuatan teks
Setelah mengonfigurasi model Gemma dengan objek processor
dan model
, serta membuat perintah dengan data audio menggunakan template perintah, Anda dapat mengirim perintah untuk menghasilkan output. Contoh kode berikut menunjukkan permintaan menggunakan template chat, pembuatan output, decoding respons:
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])
Langkah berikutnya
Buat dan jelajahi lebih lanjut dengan model Gemma:
- Menyesuaikan Gemma untuk tugas teks menggunakan Hugging Face Transformers
- Menyesuaikan Gemma untuk tugas visi menggunakan Hugging Face Transformers
- Melakukan penyesuaian dan inferensi terdistribusi pada model Gemma
- Menggunakan model terbuka Gemma dengan Vertex AI
- Menyesuaikan Gemma menggunakan Keras dan men-deploy ke Vertex AI