Halaman ini menjelaskan cara melakukan supervised fine-tuning dan distilasi pada model terbuka seperti Llama 3.1. Kecuali dinyatakan lain, petunjuk di halaman ini berlaku untuk supervised fine-tuning dan penyesuaian distilasi. Distilasi memungkinkan Anda menyesuaikan model siswa yang lebih kecil menggunakan output model pengajar yang lebih besar.
Mode penyesuaian yang didukung
- Supervised fine-tuning:
- Penyesuaian penuh
- Low-Rank Adaptation (LoRA): LoRA adalah mode penyesuaian yang efisien secara parameter yang hanya menyesuaikan subset parameter. Lebih hemat biaya dan memerlukan lebih sedikit data pelatihan daripada penyesuaian penuh. Di sisi lain, penyesuaian menyeluruh memiliki potensi kualitas yang lebih tinggi dengan menyesuaikan semua parameter.
- Penyesuaian penyulingan: Penyesuaian penyulingan menggunakan GenAI SDK, tempat Anda menentukan model pengajar untuk menghasilkan respons yang kemudian digunakan untuk menyesuaikan model siswa yang lebih kecil.
Kasus penggunaan yang direkomendasikan untuk penyesuaian penyulingan
Penyesuaian penyulingan paling efektif jika model pengajar jauh lebih mumpuni daripada model siswa dalam tugas target. Metode ini direkomendasikan untuk mentransfer kemampuan penalaran multi-langkah yang kompleks dari model pengajar yang lebih besar ke model siswa yang lebih kecil, termasuk:
- Penalaran matematika dan kuantitatif
- Penjawab pertanyaan ilmiah, medis, dan khusus domain lainnya yang memerlukan penalaran langkah demi langkah
- Tugas lain di mana model pengajar yang kuat dengan perilaku "berpikir" atau chain-of-thought secara konsisten menghasilkan respons berkualitas lebih tinggi daripada siswa.
Distilasi memberikan peningkatan yang lebih kecil pada tugas yang model siswanya sudah berperforma mendekati model pengajar, atau pada tugas pengambilan informasi bentuk pendek yang jejak penalaran pengajar tidak memberikan nilai tambah.
Model yang didukung
Model yang mendukung supervised fine-tuning
- Gemma 3 1B IT (
google/gemma3@gemma-3-1b-it) - Gemma 3 4B IT (
google/gemma3@gemma-3-4b-it) - Gemma 3 12B IT (
google/gemma3@gemma-3-12b-it) - Gemma 3 27B IT (
google/gemma3@gemma-3-27b-it) - Medgemma 1.5 4B IT (
google/medgemma@medgemma-4b-it) - Llama 3.1 8B (
meta/llama3_1@llama-3.1-8b) - Llama 3.1 8B Instruct (
meta/llama3_1@llama-3.1-8b-instruct) - Llama 3.2 1B Instruct (
meta/llama3-2@llama-3.2-1b-instruct) - Llama 3.2 3B Instruct (
meta/llama3-2@llama-3.2-3b-instruct) - Llama 3.3 70B Instruct (
meta/llama3-3@llama-3.3-70b-instruct) - Qwen 3 4B (
qwen/qwen3@qwen3-4b) - Qwen 3 8B (
qwen/qwen3@qwen3-8b) - Qwen 3 14B (
qwen/qwen3@qwen3-14b) - Qwen 3 32B (
qwen/qwen3@qwen3-32b) - Llama 4 Scout 17B 16E Instruct (
meta/llama4@llama-4-scout-17b-16e-instruct)
Model yang didukung penyesuaian distilasi
Model pengajar yang didukung:
- DeepSeek R1 0528 MaaS (
deepseek-ai/deepseek-r1-0528-maas) - DeepSeek V3.2 MaaS (
deepseek-ai/deepseek-v3.2-maas) - Qwen 3 Next 80B A3B Thinking MaaS (
qwen/qwen3-next-80b-a3b-thinking-maas)
Model siswa yang didukung:
- Qwen 3 4B (
qwen/qwen3@qwen3-4b) - Qwen 3 8B (
qwen/qwen3@qwen3-8b) - Qwen 3 14B (
qwen/qwen3@qwen3-14b) - Qwen 3 32B (
qwen/qwen3@qwen3-32b) - Gemma 3 1B IT (
google/gemma3@gemma-3-1b-it) - Gemma 3 4B IT (
google/gemma3@gemma-3-4b-it) - Gemma 3 12B IT (
google/gemma3@gemma-3-12b-it) - Gemma 3 27B IT (
google/gemma3@gemma-3-27b-it)
Region yang didukung
- Iowa (
us-central1) - Belanda (
europe-west4) - Oregon (
us-west1) - Columbus (
us-east5) - Singapura (
asia-southeast1)
Batasan
| Model | Spesifikasi | Nilai |
|---|---|---|
| Gemma 3 1B IT | Mode penyetelan | Penyesuaian penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Gemma 3 4B IT | Mode penyetelan | Penyesuaian penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Gemma 3 12B IT | Mode penyetelan | Penyesuaian penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Gemma 3 27B IT | Mode penyetelan | Parameter-efficient fine-tuning Fine-tuning penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Medgemma 1.5 4B IT | Mode penyetelan | Penyesuaian penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Llama 3.1 8B | Mode penyetelan | Parameter-efficient fine-tuning Fine-tuning penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Llama 3.1 8B Instruct | Mode penyetelan | Parameter-efficient fine-tuning Fine-tuning penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Llama 3.2 1B Instruct | Mode penyetelan | Penyesuaian penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Llama 3.2 3B Instruct | Mode penyetelan | Penyesuaian penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Llama 3.3 70B Instruct | Mode penyetelan | Parameter-efficient fine-tuning Fine-tuning penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Llama 4 Scout 17B 16E Instruct | Mode penyetelan | Fine-tuning yang efisien parameter |
| Panjang urutan maksimum | 2048 | |
| Modalities | Text Images* *Set data campuran yang berisi contoh teks saja dan gambar tidak didukung. Jika ada setidaknya satu contoh gambar dalam set data, semua contoh teks saja akan difilter. |
|
| Qwen 3 4B | Mode penyetelan | Penyesuaian penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Qwen 3 8B | Mode penyetelan | Penyesuaian penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Qwen 3 14B | Mode penyetelan | Penyesuaian penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks | |
| Qwen 3 32B | Mode penyetelan | Parameter-efficient fine-tuning Fine-tuning penuh |
| Panjang urutan maksimum | 8192 | |
| Modalities | Teks |
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Gemini Enterprise Agent Platform and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Gemini Enterprise Agent Platform and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Instal SDK dan impor library untuk metode penyesuaian Anda.
Supervised fine-tuning
Instal dan lakukan inisialisasi Vertex AI SDK untuk Python, lalu impor library berikut:
import os
import time
import uuid
import vertexai
vertexai.init(project=PROJECT_ID, location=REGION)
from google.cloud import aiplatform
from vertexai.tuning import sft, SourceModel
Penyesuaian distilasi
Instal SDK berikut:
pip install google-genai
Kemudian, impor library berikut:
import os
import time
import uuid
from google import genai
from google.genai import types
client = genai.Client(vertexai=True, project=PROJECT_ID, location=REGION)
Menyiapkan set data untuk penyesuaian
Set data pelatihan diperlukan untuk penyesuaian. Sebaiknya siapkan set data validasi opsional jika Anda ingin mengevaluasi performa model yang telah disesuaikan.
Set data Anda harus dalam salah satu format JSON Lines (JSONL) yang didukung berikut, dengan setiap baris berisi satu contoh penyesuaian.
Upload file JSONL Anda ke Cloud Storage.
Set data hanya teks
Penyelesaian perintah
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
Format chat berbasis giliran
{"messages": [
{"content": "You are a chatbot that helps with scientific literature and generates state-of-the-art abstracts from articles.",
"role": "system"},
{"content": "Summarize the paper in one paragraph.",
"role": "user"},
{"content": " Here is a one paragraph summary of the paper:\n\nThe paper describes PaLM, ...",
"role": "assistant"}
]}
GenerateContent
{
"systemInstruction": {
"parts": [{ "text": "You are a chatbot that helps with scientific literature and generates state-of-the-art abstracts from articles." }]},
"contents": [
{"role": "user",
"parts": [{ "text": "Summarize the paper in one paragraph." }]},
{"role": "assistant",
"parts": [{ "text": "Here is a one paragraph summary of the paper:\n\nThe paper describes PaLM, ..." }]}
]}
Set data multimodal
Format chat berbasis giliran
{"messages": [
{"role": "user", "content": [
{"type": "text", "text": "You are a chatbot that helps with scientific literature and generates state-of-the-art abstracts from articles."},
{"type": "image_url", "image_url": {
"url": "gs://your-gcs-bucket/your-image.jpeg",
"detail": "low"}}]
},
{"role": "assistant", "content": [
{"type": "text", "text": "Here is a one paragraph summary of the paper:\n\nThe paper describes PaLM, ..."}]
},
{"role": "user", "content": [
{"type": "text", "text": "You are a chatbot that helps with scientific literature and generates state-of-the-art abstracts from articles."},
{"type": "image_url", "image_url": {
"url": "data:image/jpeg;base64,<base64 image>",
"detail": "low"}}]
},
{"role": "assistant", "content": [
{"type": "text", "text": "Here is a one paragraph summary of the paper:\n\nThe paper describes PaLM, ..."}]
},
]}
GenerateContent
{
"systemInstruction": {
"parts": [{ "text": "You are a chatbot that helps with scientific literature and generates state-of-the-art abstracts from articles." }]},
"contents": [
{"role": "user",
"parts": [
{"text": "You are a chatbot that helps with scientific literature and generates state-of-the-art abstracts from articles." },
{"file_data": {
"mime_type": "image/jpeg", "file_uri": "gs://your-gcs-bucket/your-image.jpeg"}}]
},
{"role": "assistant",
"parts": [{ "text": "Here is a one paragraph summary of the paper:\n\nThe paper describes PaLM, ..." }]}
]}
Format yang didukung mencakup JPEG, PNG, WEBP, dan gambar berenkode Base64.
Perhatikan bahwa jika gambar Anda disimpan di bucket Cloud Storage yang berbeda dari
file JSONL Anda, pastikan Anda telah memberikan peran IAM Storage Object User
(roles/storage.objectUser) di kedua bucket untuk kedua akun layanan ini:
service-PROJECT_NUMBER@gcp-sa-vertex-moss-ft.iam.gserviceaccount.comservice-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
Buat tugas penyesuaian
Anda dapat menyesuaikan dari:
- Model dasar yang didukung, seperti Llama 3.1
Model yang memiliki arsitektur yang sama dengan salah satu model dasar yang didukung. Ini bisa berupa titik pemeriksaan model kustom dari repositori seperti Hugging Face atau model yang telah disesuaikan sebelumnya dari tugas penyesuaian Gemini Enterprise Agent Platform. Dengan begitu, Anda dapat terus menyesuaikan model yang telah disesuaikan.
Konsol Cloud (Diawasi)
Anda dapat memulai penyesuaian dengan cara berikut:
- Buka kartu model, klik Sesuaikan, lalu pilih Penyesuaian terkelola.
atau
- Buka halaman Penyesuaian, lalu klik Buat model yang disesuaikan.
Isi parameter, lalu klik Mulai penyesuaian.
Tindakan ini akan memulai tugas penyesuaian, yang dapat Anda lihat di halaman Penyesuaian di tab Penyesuaian terkelola.
Setelah tugas tuning selesai, Anda dapat melihat informasi tentang model yang di-tuning di tab Detail.
Agent Platform SDK (Diawasi)
Ganti nilai parameter dengan nilai Anda sendiri, lalu jalankan kode berikut untuk membuat tugas penyesuaian:
sft_tuning_job = sft.train(
source_model=SourceModel(
base_model="meta/llama3_1@llama-3.1-8b",
# Optional, folder that is either a custom model checkpoint or previously tuned model
custom_base_model="gs://{STORAGE-URI}",
),
tuning_mode="FULL", # FULL or PEFT_ADAPTER
epochs=3,
train_dataset="gs://{STORAGE-URI}", # JSONL file
validation_dataset="gs://{STORAGE-URI}", # JSONL file
output_uri="gs://{STORAGE-URI}",
)
SDK GenAI (Distilasi)
Ganti nilai parameter dengan nilai Anda sendiri, lalu jalankan kode berikut untuk membuat tugas penyesuaian distilasi:
tuning_job = client.tunings.tune(
base_model="qwen/qwen3@qwen3-4b",
training_dataset=types.TuningDataset(
gcs_uri="gs://{STORAGE-URI}"
),
config=types.CreateTuningJobConfig(
method="DISTILLATION",
base_teacher_model="qwen/qwen3-next-80b-a3b-thinking-maas",
epoch_count=3,
validation_dataset=types.TuningValidationDataset(
gcs_uri="gs://{STORAGE-URI}"
),
output_uri="gs://{STORAGE-URI}",
),
)
Artefak model yang disesuaikan
Setelah tugas penyesuaian selesai, artefak model untuk model yang disesuaikan akan disimpan di direktori output Cloud Storage Anda.
gs://<output_dir>/
# (Distillation tuning only) The labeled dataset from teacher model's inference
-> distillation_labelled_dataset.jsonl
gs://<output_dir>/postprocess/node-0/checkpoints/
# Final checkpoint
-> final/
-> model-00001-of-000xx.safetensors
-> model-000yy-of-000xx.safetensors
# Intermediate checkpoints
-> checkpoint-M/
-> model-00001-of-000xx.safetensors
-> model-000yy-of-000xx.safetensors
…
-> checkpoint-N/
-> model-00001-of-000xx.safetensors
-> model-000yy-of-000xx.safetensors
- Maksimum 10 titik pemeriksaan disimpan.
- Jika jumlah epoch (E) kurang dari 10, maka tepatnya E titik pemeriksaan disimpan (satu untuk setiap epoch).
- Pos pemeriksaan perantara dari rentang M hingga N diurutkan. Perhatikan bahwa titik pemeriksaan perantara tidak selalu diberi nomor secara berurutan. Misalnya, pos pemeriksaan mungkin diberi nomor 1, 3, 5, 10, bukan 1, 2, 3, 4.
Men-deploy model yang disesuaikan
Anda dapat men-deploy model yang di-tune ke endpoint Gemini Enterprise Agent Platform. Anda juga dapat mengekspor model yang telah di-tuning dari Cloud Storage dan men-deploy-nya di tempat lain.
Untuk men-deploy model yang di-tune ke endpoint Gemini Enterprise Agent Platform:
Cloud Console
Buka halaman Model Garden, lalu klik Deploy model with custom weights.
Isi parameter, lalu klik Deploy.
Agent Platform SDK untuk Python
Men-deploy G2 machine menggunakan
container bawaan:
from vertexai.preview import model_garden
MODEL_ARTIFACTS_STORAGE_URI = "gs://{STORAGE-URI}/postprocess/node-0/checkpoints/final"
model = model_garden.CustomModel(
gcs_uri=MODEL_ARTIFACTS_STORAGE_URI,
)
# deploy the model to an endpoint using GPUs. Cost will incur for the deployment
endpoint = model.deploy(
machine_type="g2-standard-12",
accelerator_type="NVIDIA_L4",
accelerator_count=1,
)
Mendapatkan inferensi
Setelah deployment berhasil, Anda dapat mengirim permintaan ke endpoint dengan perintah teks. Perhatikan bahwa beberapa perintah pertama akan memerlukan waktu lebih lama untuk dieksekusi.
# Loads the deployed endpoint
endpoint = aiplatform.Endpoint("projects/{PROJECT_ID}/locations/{REGION}/endpoints/{endpoint_name}")
prompt = "Summarize the following article. Article: Preparing a perfect risotto requires patience and attention to detail. Begin by heating butter in a large, heavy-bottomed pot over medium heat. Add finely chopped onions and minced garlic to the pot, and cook until they're soft and translucent, about 5 minutes. Next, add Arborio rice to the pot and cook, stirring constantly, until the grains are coated with the butter and begin to toast slightly. Pour in a splash of white wine and cook until it's absorbed. From there, gradually add hot chicken or vegetable broth to the rice, stirring frequently, until the risotto is creamy and the rice is tender with a slight bite.. Summary:"
# Define input to the prediction call
instances = [
{
"prompt": "What is a car?",
"max_tokens": 200,
"temperature": 1.0,
"top_p": 1.0,
"top_k": 1,
"raw_response": True,
},
]
# Request the prediction
response = endpoint.predict(
instances=instances
)
for prediction in response.predictions:
print(prediction)
Untuk mengetahui detail selengkapnya tentang cara mendapatkan inferensi dari model yang di-deploy, lihat Mendapatkan inferensi online.
Perhatikan bahwa model terbuka terkelola menggunakan metode
chat.completions, bukan metode
predict
yang digunakan oleh model yang di-deploy. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan inferensi dari model terkelola, lihat Melakukan panggilan ke model Llama.
Batas dan kuota
Kuota diterapkan pada jumlah tugas penyesuaian serentak. Setiap project dilengkapi dengan kuota default untuk menjalankan setidaknya satu tugas penyesuaian. Ini adalah kuota global,
yang dibagikan di semua region yang tersedia dan model yang didukung. Jika Anda ingin menjalankan lebih banyak tugas secara bersamaan, Anda harus meminta kuota tambahan untuk Global concurrent managed OSS model fine-tuning jobs per project.
Selain kuota tugas penyesuaian, penyesuaian model pengajaran menggunakan model pengajar, dan project Anda harus memiliki kuota yang cukup untuk model pengajar yang ditentukan. Model terbuka yang disediakan sebagai layanan (MaaS) menggunakan kuota bersama dinamis. Saat tugas penyesuaian memanggil model pengajar, tugas tersebut akan menggunakan kuota bersama project untuk model tersebut. Untuk informasi selengkapnya tentang kuota untuk model terbuka terkelola, lihat Model terkelola Gemini Enterprise Agent Platform untuk MaaS.
Harga
Anda ditagih untuk penyesuaian berdasarkan harga untuk Penyesuaian model. Jumlah token pelatihan dihitung dengan mengalikan jumlah token dalam set data pelatihan Anda dengan jumlah epoch. Untuk penyesuaian distilasi, Anda juga ditagih untuk panggilan API yang dilakukan ke model pengajar untuk membuat respons, berdasarkan harga untuk model terkelola.
Anda juga ditagih untuk layanan terkait, seperti Cloud Storage dan Prediksi Platform Agen Gemini Enterprise.
Pelajari harga Platform Agen Gemini Enterprise, harga Cloud Storage, dan gunakan Kalkulator Harga untuk membuat perkiraan biaya berdasarkan penggunaan yang Anda proyeksikan.