![]() |
![]() |
![]() |
|
![]() |
Tạo văn bản, tóm tắt và phân tích nội dung chỉ là một số nhiệm vụ mà bạn có thể hoàn thành bằng các mô hình mở của Gemma. Hướng dẫn này sẽ hướng dẫn bạn cách bắt đầu chạy Gemma bằng cách sử dụng Hugging Face Transformers, sử dụng cả dữ liệu đầu vào văn bản và hình ảnh để tạo nội dung văn bản. Thư viện Transformers Python cung cấp một API để truy cập vào các mô hình AI tạo sinh được huấn luyện trước, bao gồm cả Gemma. Để biết thêm thông tin, hãy xem tài liệu về Công cụ chuyển đổi.
Thiết lập
Trước khi bắt đầu hướng dẫn này, hãy hoàn thành các bước sau:
- Truy cập vào Gemma bằng cách đăng nhập vào Hugging Face rồi chọn Acknowledge license (Xác nhận giấy phép) cho một mô hình Gemma.
- Chọn một môi trường thời gian chạy Colab có đủ tài nguyên để chạy kích thước mô hình Gemma mà bạn muốn chạy. Tìm hiểu thêm.
- Tạo Mã truy cập của Hugging Face rồi thêm mã này vào môi trường Colab.
Định cấu hình mã truy cập
Thêm mã thông báo truy cập vào Colab để cho phép tải các mô hình Gemma xuống từ trang web Hugging Face. Sử dụng tính năng Mật khẩu của Colab để lưu mã thông báo một cách an toàn mà không cần thêm mã thông báo đó vào mã đang hoạt động.
Cách thêm Mã truy cập Hugging Face dưới dạng một khoá bí mật:
- Mở thẻ bí mật bằng cách chọn biểu tượng khoá ở bên trái giao diện hoặc chọn Tools (Công cụ) > Command pallete (Bảng điều khiển lệnh), nhập
secrets
rồi nhấn Enter. - Chọn Thêm khoá bí mật mới để thêm một khoá bí mật mới.
- Trong trường Name (Tên), hãy nhập
HF_TOKEN
. - Trong trường Value (Giá trị), hãy nhập văn bản của Mã truy cập Hugging Face.
- Trong trường Quyền truy cập vào sổ tay, hãy chọn nút chuyển để bật quyền truy cập.
Sau khi nhập Mã truy cập dưới dạng HF_TOKEN
và giá trị, bạn có thể truy cập và đặt mã truy cập đó trong môi trường sổ tay Colab bằng mã sau:
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)
Cài đặt gói Python
Cài đặt các thư viện Hugging Face cần thiết để chạy mô hình Gemma và đưa ra yêu cầu.
# 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"
Tạo văn bản từ văn bản
Gợi ý một mô hình Gemma bằng văn bản để nhận phản hồi văn bản là cách đơn giản nhất để sử dụng Gemma và hoạt động với gần như tất cả các biến thể Gemma. Phần này trình bày cách sử dụng tính năng tải thư viện Hugging Face Transformers và định cấu hình mô hình Gemma để tạo văn bản từ văn bản.
Tải mô hình
Sử dụng thư viện torch
và transformers
để tạo một thực thể của lớp pipeline
thực thi mô hình bằng Gemma. Khi sử dụng mô hình để tạo đầu ra hoặc làm theo hướng dẫn, hãy chọn mô hình được điều chỉnh hướng dẫn (IT), thường có it
trong chuỗi mã nhận dạng mô hình. Khi sử dụng đối tượng pipeline
, bạn chỉ định biến thể Gemma mà bạn muốn sử dụng, loại tác vụ bạn muốn thực hiện, cụ thể là "text-generation"
để tạo văn bản sang văn bản, như trong ví dụ mã sau:
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 chỉ hỗ trợ một số chế độ cài đặt task
để tạo. Để biết thêm thông tin về các chế độ cài đặt task
hiện có, hãy xem tài liệu về task() của quy trình Hugging Face. Sử dụng loại dữ liệu ngọn đuốc torch.bfloat16
để giảm độ chính xác của mô hình và tính toán các tài nguyên cần thiết mà không ảnh hưởng đáng kể đến chất lượng đầu ra của mô hình. Đối với chế độ cài đặt device
, bạn có thể sử dụng "cuda"
cho Colab hoặc "msu"
cho thiết bị iOS, hoặc chỉ cần đặt giá trị này thành 0
(0) để chỉ định GPU đầu tiên trên hệ thống. Để biết thêm thông tin về cách sử dụng lớp Quy trình, hãy xem tài liệu về Quy trình của Hugging Face.
Chạy tính năng tạo văn bản
Sau khi tải và định cấu hình mô hình Gemma trong đối tượng pipeline
, bạn có thể gửi lời nhắc đến mô hình. Mã ví dụ sau đây cho thấy một yêu cầu cơ bản sử dụng tham số 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'}]
Sử dụng mẫu câu lệnh
Khi tạo nội dung có câu lệnh phức tạp hơn, hãy sử dụng mẫu câu lệnh để định cấu trúc yêu cầu. Mẫu lời nhắc cho phép bạn chỉ định dữ liệu đầu vào từ các vai trò cụ thể, chẳng hạn như user
hoặc model
, đồng thời là định dạng bắt buộc để quản lý các lượt tương tác trò chuyện nhiều lượt với mô hình Gemma. Mã ví dụ sau đây cho biết cách tạo một mẫu lời nhắc cho 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)
Tạo văn bản từ dữ liệu hình ảnh
Kể từ Gemma 3, đối với các kích thước mô hình từ 4B trở lên, bạn có thể sử dụng dữ liệu hình ảnh trong câu lệnh. Phần này cho biết cách sử dụng thư viện Transformers để tải và định cấu hình mô hình Gemma nhằm sử dụng dữ liệu hình ảnh và dữ liệu đầu vào văn bản để tạo dữ liệu đầu ra văn bản.
Tải mô hình
Khi tải mô hình Gemma để sử dụng với dữ liệu hình ảnh, bạn sẽ định cấu hình thực thể pipeline
của Transformer (Công cụ chuyển đổi) dành riêng cho việc sử dụng với hình ảnh. Cụ thể, bạn phải chọn một cấu hình quy trình có thể xử lý dữ liệu hình ảnh bằng cách đặt tham số task
thành "image-text-to-text"
, như trong ví dụ mã sau:
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
)
Chạy tính năng tạo văn bản
Sau khi định cấu hình mô hình Gemma để xử lý dữ liệu đầu vào hình ảnh bằng một thực thể pipeline
, bạn có thể gửi lời nhắc có hình ảnh đến mô hình. Sử dụng mã thông báo <start_of_image>
để thêm hình ảnh vào văn bản của câu lệnh. Mã ví dụ sau đây cho thấy một yêu cầu cơ bản sử dụng tham số 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'}]
Sử dụng mẫu câu lệnh
Khi tạo nội dung có câu lệnh phức tạp hơn, hãy sử dụng mẫu câu lệnh để định cấu trúc yêu cầu. Mẫu lời nhắc cho phép bạn chỉ định dữ liệu đầu vào từ các vai trò cụ thể, chẳng hạn như user
hoặc model
, đồng thời là định dạng bắt buộc để quản lý các lượt tương tác trò chuyện nhiều lượt với mô hình Gemma. Mã ví dụ sau đây cho biết cách tạo một mẫu lời nhắc cho 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)
Bạn có thể thêm nhiều hình ảnh vào câu lệnh bằng cách thêm các mục "type": "image",
bổ sung vào danh sách content
.
Tạo văn bản từ dữ liệu âm thanh
Với Gemma 3n, bạn có thể sử dụng dữ liệu âm thanh làm một phần của câu lệnh. Phần này cho biết cách sử dụng thư viện Transformers để tải và định cấu hình mô hình Gemma nhằm sử dụng dữ liệu âm thanh và dữ liệu đầu vào văn bản để tạo đầu ra văn bản.
Cài đặt gói Python
Bạn cần có phiên bản mới nhất của thư viện Transformers để sử dụng đầu vào âm thanh với Gemma. Cài đặt thư viện Hugging Face để chạy mô hình Gemma và đưa ra yêu cầu bằng dữ liệu âm thanh như minh hoạ bên dưới.
# 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"
Tải mô hình
Khi tải mô hình Gemma để sử dụng với dữ liệu âm thanh, bạn sẽ định cấu hình thực thể Transformer (Biến đổi) dành riêng cho việc sử dụng với dữ liệu âm thanh. Cụ thể, bạn phải xác định đối tượng processor
và model
bằng cách sử dụng các lớp AutoProcessor
và AutoModelForImageTextToText
, như trong mã ví dụ sau:
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")
Sử dụng mẫu câu lệnh
Khi tạo nội dung có âm thanh, hãy sử dụng mẫu câu lệnh để định cấu trúc yêu cầu của bạn. Mẫu lời nhắc cho phép bạn chỉ định dữ liệu đầu vào từ các vai trò cụ thể, chẳng hạn như user
hoặc model
, đồng thời là định dạng bắt buộc để quản lý các lượt tương tác trò chuyện nhiều lượt với mô hình Gemma. Mã ví dụ sau đây cho biết cách tạo một mẫu lời nhắc cho Gemma bằng dữ liệu đầu vào âm thanh:
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"},
]
}
]
Bạn có thể thêm nhiều hình ảnh vào câu lệnh bằng cách thêm các mục "type": "audio",
bổ sung vào danh sách content
. Nếu bạn đang đưa ra lời nhắc bằng dữ liệu âm thanh nhưng không có mẫu, hãy sử dụng cú pháp <audio_soft_token>
trong văn bản của lời nhắc.
Chạy tính năng tạo văn bản
Sau khi định cấu hình mô hình Gemma bằng đối tượng processor
và model
, đồng thời tạo một câu lệnh bằng dữ liệu âm thanh bằng mẫu câu lệnh, bạn có thể gửi câu lệnh đó để tạo đầu ra. Mã ví dụ sau đây cho thấy một yêu cầu sử dụng mẫu trò chuyện, tạo đầu ra, giải mã phản hồi:
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])
Các bước tiếp theo
Tạo và khám phá thêm với các mô hình Gemma:
- Chỉnh sửa Gemma cho các tác vụ văn bản bằng cách sử dụng Hugging Face Transformers
- Chỉnh sửa Gemma cho các tác vụ thị giác bằng cách sử dụng Hugging Face Transformers
- Thực hiện điều chỉnh tinh vi và suy luận phân tán trên các mô hình Gemma
- Sử dụng các mô hình mở Gemma bằng Vertex AI
- Tinh chỉnh Gemma bằng Keras và triển khai lên Vertex AI