Menyesuaikan model Gemini menggunakan fine tuning yang diawasi

Panduan ini menunjukkan cara menyesuaikan model Gemini menggunakan fine-tuning yang diawasi.

Halaman ini membahas beberapa topik berikut:

Diagram berikut merangkum alur kerja keseluruhan:

Sebelum memulai

Sebelum dapat menyesuaikan model, Anda harus menyiapkan set data penyesuaian terawasi. Untuk mengetahui petunjuknya, lihat dokumentasi untuk modalitas data Anda:

Model yang didukung

Model Gemini berikut mendukung penyesuaian yang diawasi:

Membuat tugas penyesuaian

Anda dapat membuat tugas penyesuaian terawasi menggunakan Google Cloud konsol, Google Gen AI SDK, Vertex AI SDK untuk Python, REST API, atau Colab Enterprise. Tabel berikut membantu Anda memutuskan opsi mana yang terbaik untuk kasus penggunaan Anda.

Metode Deskripsi Kasus Penggunaan
Google Cloud console Antarmuka pengguna grafis untuk membuat dan mengelola tugas penyesuaian. Paling cocok untuk memulai, eksplorasi visual, atau tugas penyesuaian satu kali tanpa menulis kode.
Google Gen AI SDK SDK Python tingkat tinggi yang berfokus secara khusus pada alur kerja AI generatif. Ideal untuk developer Python yang menginginkan antarmuka yang disederhanakan dan berfokus pada AI generatif.
Vertex AI SDK untuk Python SDK Python komprehensif untuk semua layanan Vertex AI. Direkomendasikan untuk mengintegrasikan penyesuaian model ke dalam pipeline MLOps yang lebih besar dan skrip otomatisasi.
REST API Antarmuka independen bahasa untuk membuat permintaan HTTP langsung ke Vertex AI API. Gunakan untuk integrasi kustom, lingkungan non-Python, atau saat Anda memerlukan kontrol terperinci atas permintaan.
Colab Enterprise Lingkungan notebook interaktif dengan panel samping yang menghasilkan cuplikan kode untuk penyesuaian. Sangat baik untuk eksperimen, pengembangan iteratif, dan mendokumentasikan proses penyesuaian Anda dalam notebook.

Konsol

Untuk menyesuaikan model teks menggunakan konsol Google Cloud , lakukan hal berikut:

  1. Di bagian Vertex AI pada konsol Google Cloud , buka halaman Vertex AI Studio.

    Buka Vertex AI Studio

  2. Klik Create tuned model.

  3. Di bagian Detail model, konfigurasi berikut:

    1. Di kolom Tuned model name, masukkan nama untuk model yang disesuaikan baru Anda, hingga 128 karakter.
    2. Di kolom Model dasar, pilih gemini-2.5-flash.
    3. Di menu drop-down Region, Pilih region tempat tugas penyesuaian pipeline berjalan dan tempat model yang disesuaikan di-deploy.
  4. Di bagian Setelan penyesuaian, konfigurasikan hal berikut:

    1. Di kolom Number of epochs, masukkan jumlah epoch untuk penyesuaian model.
    2. Di kolom Ukuran Adaptor, masukkan ukuran adaptor yang akan digunakan untuk penyesuaian model.
    3. Di kolom Pengganda kecepatan pembelajaran, masukkan ukuran langkah di setiap iterasi. Nilai default adalah 1. .
  5. Opsional: Untuk menonaktifkan titik pemeriksaan perantara dan hanya menggunakan titik pemeriksaan terbaru, pilih tombol Ekspor hanya titik pemeriksaan terakhir.

  6. Klik Lanjutkan. Halaman Tuning dataset akan terbuka.

  7. Pilih set data penyesuaian Anda:

    • Untuk mengupload file set data baru dari komputer Anda, pilih Upload file ke Cloud Storage.
    • Di kolom Pilih file JSONL, klik Telusuri, lalu pilih file set data Anda.
    • Di kolom Lokasi set data, klik Telusuri, lalu pilih bucket Cloud Storage tempat Anda ingin menyimpan file set data.
    • Untuk menggunakan file set data yang sudah ada di bucket Cloud Storage, pilih File yang ada di Cloud Storage.
    • Di kolom Jalur file Cloud Storage, klik Telusuri, lalu pilih bucket Cloud Storage tempat file set data Anda berada.
  8. Opsional: Untuk mendapatkan metrik validasi selama pelatihan, pilih tombol Aktifkan validasi model.

    1. Di kolom Set data validasi, masukkan jalur Cloud Storage set data validasi Anda.
  9. Klik Mulai Penyesuaian.

    Model baru Anda akan muncul di bagian Model yang di-tune Gemini Pro di halaman Tune dan Distilasi. Setelah tugas penyesuaian selesai, Status akan menjadi Berhasil.

Google Gen AI SDK

import time

from google import genai
from google.genai.types import HttpOptions, CreateTuningJobConfig, TuningDataset

client = genai.Client(http_options=HttpOptions(api_version="v1"))

training_dataset = TuningDataset(
    gcs_uri="gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_train_data.jsonl",
)

tuning_job = client.tunings.tune(
    base_model="gemini-2.5-flash",
    training_dataset=training_dataset,
    config=CreateTuningJobConfig(
        tuned_model_display_name="Example tuning job",
    ),
)

running_states = set([
    "JOB_STATE_PENDING",
    "JOB_STATE_RUNNING",
])

while tuning_job.state in running_states:
    print(tuning_job.state)
    tuning_job = client.tunings.get(name=tuning_job.name)
    time.sleep(60)

print(tuning_job.tuned_model.model)
print(tuning_job.tuned_model.endpoint)
print(tuning_job.experiment)
# Example response:
# projects/123456789012/locations/us-central1/models/1234567890@1
# projects/123456789012/locations/us-central1/endpoints/123456789012345
# projects/123456789012/locations/us-central1/metadataStores/default/contexts/tuning-experiment-2025010112345678

if tuning_job.tuned_model.checkpoints:
    for i, checkpoint in enumerate(tuning_job.tuned_model.checkpoints):
        print(f"Checkpoint {i + 1}: ", checkpoint)
    # Example response:
    # Checkpoint 1:  checkpoint_id='1' epoch=1 step=10 endpoint='projects/123456789012/locations/us-central1/endpoints/123456789000000'
    # Checkpoint 2:  checkpoint_id='2' epoch=2 step=20 endpoint='projects/123456789012/locations/us-central1/endpoints/123456789012345'

Vertex AI SDK untuk Python


import time

import vertexai
from vertexai.tuning import sft

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"
vertexai.init(project=PROJECT_ID, location="us-central1")

sft_tuning_job = sft.train(
    source_model="gemini-2.0-flash-001",
    # 1.5 and 2.0 models use the same JSONL format
    train_dataset="gs://cloud-samples-data/ai-platform/generative_ai/gemini-1_5/text/sft_train_data.jsonl",
)

# Polling for job completion
while not sft_tuning_job.has_ended:
    time.sleep(60)
    sft_tuning_job.refresh()

print(sft_tuning_job.tuned_model_name)
print(sft_tuning_job.tuned_model_endpoint_name)
print(sft_tuning_job.experiment)
# Example response:
# projects/123456789012/locations/us-central1/models/1234567890@1
# projects/123456789012/locations/us-central1/endpoints/123456789012345
# <google.cloud.aiplatform.metadata.experiment_resources.Experiment object at 0x7b5b4ae07af0>

REST

Untuk membuat tugas penyesuaian model, kirim permintaan POST menggunakan metode tuningJobs.create. Beberapa parameter tidak didukung oleh semua model. Sertakan hanya parameter yang berlaku untuk model yang sedang disesuaikan.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: .
  • TUNING_JOB_REGION: Region tempat tugas penyetelan berjalan. Ini juga merupakan region default tempat model yang disesuaikan diupload.
  • BASE_MODEL: Nama model dasar yang akan disesuaikan.
  • TRAINING_DATASET_URI: Cloud Storage URI set data pelatihan Anda. Set data harus diformat sebagai file JSONL. Untuk hasil terbaik, berikan minimal 100 hingga 500 contoh. Untuk mengetahui informasi selengkapnya, lihat Tentang set data penyesuaian yang diawasi .
  • VALIDATION_DATASET_URIOpsional: Cloud Storage URI dari file set data validasi Anda.
  • EPOCH_COUNTOpsional: Jumlah lintasan lengkap yang dilakukan model pada seluruh set data pelatihan selama pelatihan. Biarkan tidak disetel untuk menggunakan nilai yang direkomendasikan dan telah diisi otomatis.
  • ADAPTER_SIZEOpsional: Ukuran adaptor yang akan digunakan untuk tugas penyesuaian. Ukuran adaptor memengaruhi jumlah parameter yang dapat dilatih untuk tugas penyesuaian. Ukuran adaptor yang lebih besar menunjukkan bahwa model dapat mempelajari tugas yang lebih kompleks, tetapi memerlukan set data pelatihan yang lebih besar dan waktu pelatihan yang lebih lama.
  • LEARNING_RATE_MULTIPLIER: Opsional: Pengganda untuk diterapkan ke kecepatan pembelajaran yang direkomendasikan. Biarkan tidak disetel untuk menggunakan nilai yang direkomendasikan.
  • EXPORT_LAST_CHECKPOINT_ONLYOpsional: Setel ke true untuk hanya menggunakan checkpoint terbaru.
  • TUNED_MODEL_DISPLAYNAMEOpsional: Nama tampilan untuk model yang disesuaikan. Jika tidak disetel, nama acak akan dibuat.
  • KMS_KEY_NAMEOpsional: ID resource Cloud KMS dari kunci enkripsi yang dikelola pelanggan yang digunakan untuk melindungi resource. Kuncinya memiliki format: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. Kunci harus berada di region yang sama dengan tempat resource komputasi dibuat. Untuk informasi selengkapnya, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).
  • SERVICE_ACCOUNTOpsional: Akun layanan yang digunakan untuk menjalankan workload tuningJob. Jika tidak ditentukan, Agen Layanan Penyesuaian Aman Vertex AI di project akan digunakan. Lihat Menyesuaikan Agen Layanan. Jika Anda berencana menggunakan Akun Layanan yang dikelola pelanggan, Anda harus memberikan peran roles/aiplatform.tuningServiceAgent ke akun layanan tersebut. Berikan juga peran Tuning Service Agent roles/iam.serviceAccountTokenCreator ke Akun Layanan yang dikelola pelanggan.

Metode HTTP dan URL:

POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs

Isi JSON permintaan:

{
  "baseModel": "BASE_MODEL",
  "supervisedTuningSpec" : {
      "trainingDatasetUri": "TRAINING_DATASET_URI",
      "validationDatasetUri": "VALIDATION_DATASET_URI",
      "hyperParameters": {
          "epochCount": "EPOCH_COUNT",
          "adapterSize": "ADAPTER_SIZE",
          "learningRateMultiplier": "LEARNING_RATE_MULTIPLIER"
      },
      "export_last_checkpoint_only": EXPORT_LAST_CHECKPOINT_ONLY,
  },
  "tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME",
  "encryptionSpec": {
    "kmsKeyName": "KMS_KEY_NAME"
  },
  "serviceAccount": "SERVICE_ACCOUNT"
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content

Anda akan melihat respons JSON yang mirip seperti berikut:

Contoh perintah curl

PROJECT_ID=myproject
LOCATION=global
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/tuningJobs" \
-d \
$'{
   "baseModel": "gemini-2.5-flash",
   "supervisedTuningSpec" : {
      "training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_train_data.jsonl",
      "validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_validation_data.jsonl"
   },
   "tunedModelDisplayName": "tuned_gemini"
}'

Colab Enterprise

Anda dapat membuat tugas penyesuaian model di Vertex AI menggunakan panel samping di Colab Enterprise. Panel samping menambahkan cuplikan kode yang relevan ke notebook Anda. Kemudian, Anda dapat mengubah cuplikan kode dan menjalankannya untuk membuat tugas penyesuaian. Untuk mempelajari lebih lanjut cara menggunakan panel samping dengan tugas penyesuaian Vertex AI, lihat Berinteraksi dengan Vertex AI untuk menyesuaikan model.

  1. Di konsol Google Cloud , buka halaman Notebook saya Colab Enterprise.

    Buka Notebook saya

  2. Di menu Region, pilih region yang berisi notebook Anda.

  3. Klik notebook yang ingin Anda buka. Jika Anda belum membuat notebook, buat notebook terlebih dahulu.

  4. Di sebelah kanan notebook Anda, di panel samping, klik tombol  Penyetelan.

    Panel samping akan meluaskan tab Penyesuaian.

  5. Klik tombol Tune a Gemini model.

    Colab Enterprise menambahkan sel kode ke notebook Anda untuk menyesuaikan model Gemini.

  6. Di notebook, temukan sel kode yang menyimpan nilai parameter. Anda akan menggunakan parameter ini untuk berinteraksi dengan Vertex AI.

  7. Perbarui nilai untuk parameter berikut:

    • PROJECT_ID: ID project tempat notebook Anda berada.
    • REGION: Region tempat notebook Anda berada.
    • TUNED_MODEL_DISPLAY_NAME: Nama model yang disesuaikan.
  8. Di sel kode berikutnya, perbarui parameter penyesuaian model:

    • source_model: Model Gemini yang ingin Anda gunakan, misalnya, gemini-2.0-flash-001.
    • train_dataset: URL set data pelatihan Anda.
    • validation_dataset: URL set data validasi Anda.
    • Sesuaikan parameter lainnya sesuai kebutuhan.
  9. Jalankan sel kode yang ditambahkan panel samping ke notebook Anda.

  10. Setelah sel kode terakhir berjalan, klik tombol  Lihat tugas penyesuaian yang muncul.

  11. Panel samping menampilkan informasi tentang tugas penyesuaian model Anda.

    • Tab Monitor menampilkan metrik penyesuaian saat metrik sudah siap.
    • Tab Set data menampilkan ringkasan dan metrik tentang set data Anda setelah set data diproses.
    • Tab Details menampilkan informasi tentang tugas penyesuaian Anda, seperti metode penyesuaian dan model dasar (model sumber) yang Anda gunakan.
  12. Setelah tugas penyesuaian selesai, Anda dapat langsung membuka halaman tempat Anda dapat menguji model dari tab Detail penyesuaian. Klik Uji.

    Konsol Google Cloud akan membuka halaman Text chat Vertex AI, tempat Anda dapat menguji model.

Menyesuaikan hyperparameter

Untuk tugas penyesuaian pertama, gunakan hyperparameter default. Nilai ini ditetapkan ke nilai yang direkomendasikan berdasarkan hasil tolok ukur.

  • Epoch: Jumlah berapa kali model melihat seluruh set data pelatihan. Vertex AI akan otomatis menyesuaikan nilai default berdasarkan ukuran set data pelatihan Anda untuk mengoptimalkan kualitas model.
  • Ukuran adaptor: Memengaruhi jumlah parameter yang dapat dilatih. Ukuran adaptor yang lebih besar memungkinkan model mempelajari tugas yang lebih kompleks, tetapi memerlukan set data yang lebih besar dan waktu pelatihan yang lebih lama.
  • Pengganda Kecepatan Pembelajaran: Faktor yang diterapkan ke kecepatan pembelajaran yang direkomendasikan. Anda dapat menaikkan nilai ini agar konvergensi lebih cepat atau menurunkannya untuk membantu mencegah overfitting.

Untuk mengetahui diskusi tentang praktik terbaik untuk penyesuaian terawasi, lihat postingan blog Supervised Fine Tuning for Gemini: A best practices guide.

Melihat dan mengelola tugas penyesuaian

Anda dapat melihat daftar tugas penyesuaian, mendapatkan detail tugas tertentu, atau membatalkan tugas yang sedang berjalan.

Melihat daftar tugas penyesuaian

Untuk melihat daftar tugas penyesuaian dalam project Anda, gunakan Google Cloud konsol, Google Gen AI SDK, Vertex AI SDK untuk Python, atau kirim permintaan GET menggunakan metode tuningJobs.

Konsol

Untuk melihat tugas penyesuaian di konsol Google Cloud , buka halaman Vertex AI Studio.

Buka Vertex AI Studio

Tugas penyesuaian Gemini Anda tercantum dalam tabel Gemini Pro tuned models.

Google Gen AI SDK

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))

responses = client.tunings.list()
for response in responses:
    print(response.name)
    # Example response:
    # projects/123456789012/locations/us-central1/tuningJobs/123456789012345

Vertex AI SDK untuk Python

import vertexai
from vertexai.tuning import sft

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"
vertexai.init(project=PROJECT_ID, location="us-central1")

responses = sft.SupervisedTuningJob.list()

for response in responses:
    print(response)
# Example response:
# <vertexai.tuning._supervised_tuning.SupervisedTuningJob object at 0x7c85287b2680>
# resource name: projects/12345678/locations/us-central1/tuningJobs/123456789012345

REST

Untuk melihat daftar tugas penyesuaian model, kirim permintaan GET menggunakan metode tuningJobs.list.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: .
  • TUNING_JOB_REGION: Region tempat tugas penyetelan berjalan. Ini juga merupakan region default tempat model yang disesuaikan diupload.

Metode HTTP dan URL:

GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content

Anda akan menerima respons JSON yang mirip dengan berikut ini.

Mendapatkan detail tugas penyesuaian

Untuk mendapatkan detail tugas penyesuaian tertentu, gunakan Google Cloud konsol, Google Gen AI SDK, Vertex AI SDK untuk Python, atau kirim permintaan GET menggunakan metode tuningJobs.

Konsol

  1. Untuk melihat detail model yang disesuaikan di konsol Google Cloud , buka halaman Vertex AI Studio.

    Buka Vertex AI Studio

  2. Di tabel Gemini Pro tuned models, temukan model Anda, lalu klik Details.

    Halaman detail model akan terbuka.

Google Gen AI SDK

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Get the tuning job and the tuned model.
# Eg. tuning_job_name = "projects/123456789012/locations/us-central1/tuningJobs/123456789012345"
tuning_job = client.tunings.get(name=tuning_job_name)

print(tuning_job.tuned_model.model)
print(tuning_job.tuned_model.endpoint)
print(tuning_job.experiment)
# Example response:
# projects/123456789012/locations/us-central1/models/1234567890@1
# projects/123456789012/locations/us-central1/endpoints/123456789012345
# projects/123456789012/locations/us-central1/metadataStores/default/contexts/tuning-experiment-2025010112345678

Vertex AI SDK untuk Python

import vertexai
from vertexai.tuning import sft

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# LOCATION = "us-central1"
vertexai.init(project=PROJECT_ID, location=LOCATION)

tuning_job_id = "4982013113894174720"
response = sft.SupervisedTuningJob(
    f"projects/{PROJECT_ID}/locations/{LOCATION}/tuningJobs/{tuning_job_id}"
)

print(response)
# Example response:
# <vertexai.tuning._supervised_tuning.SupervisedTuningJob object at 0x7cc4bb20baf0>
# resource name: projects/1234567890/locations/us-central1/tuningJobs/4982013113894174720

REST

Untuk mendapatkan detail tugas penyesuaian model, kirim permintaan GET menggunakan metode tuningJobs.get dan tentukan TuningJob_ID.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: .
  • TUNING_JOB_REGION: Region tempat tugas penyetelan berjalan. Ini juga merupakan region default tempat model yang disesuaikan diupload.
  • TUNING_JOB_ID: ID tugas penyesuaian.

Metode HTTP dan URL:

GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID" | Select-Object -Expand Content

Anda akan menerima respons JSON yang mirip dengan berikut ini.

Membatalkan tugas penyesuaian

Untuk membatalkan tugas penyesuaian yang sedang berjalan, gunakan Google Cloud konsol, Vertex AI SDK untuk Python, atau kirim permintaan POST menggunakan metode tuningJobs.

Konsol

  1. Untuk membatalkan tugas penyesuaian di konsol Google Cloud , buka halaman Vertex AI Studio.

    Buka Vertex AI Studio

  2. Di tabel Gemini Pro tuned models, klik Manage run.

  3. Klik Cancel.

Vertex AI SDK untuk Python

import vertexai
from vertexai.tuning import sft

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# LOCATION = "us-central1"
vertexai.init(project=PROJECT_ID, location=LOCATION)

tuning_job_id = "4982013113894174720"
job = sft.SupervisedTuningJob(
    f"projects/{PROJECT_ID}/locations/{LOCATION}/tuningJobs/{tuning_job_id}"
)
job.cancel()

REST

Untuk membatalkan tugas penyesuaian model, kirim permintaan POST menggunakan metode tuningJobs.cancel dan tentukan TuningJob_ID.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: .
  • TUNING_JOB_REGION: Region tempat tugas penyetelan berjalan. Ini juga merupakan region default tempat model yang disesuaikan diupload.
  • TUNING_JOB_ID: ID tugas penyesuaian.

Metode HTTP dan URL:

POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel" | Select-Object -Expand Content

Anda akan menerima respons JSON yang mirip dengan berikut ini.

Mengevaluasi model yang di-tuning

Setelah model disesuaikan, Anda dapat berinteraksi dengan endpointnya dengan cara yang sama seperti model dasar Gemini. Anda dapat menggunakan Vertex AI SDK untuk Python, Google Gen AI SDK, atau mengirim permintaan POST menggunakan metode generateContent.

Untuk model yang mendukung penalaran, seperti Gemini 2.5 Flash, tetapkan anggaran pemikiran ke 0 untuk tugas yang disesuaikan guna mengoptimalkan performa dan biaya. Selama fine-tuning yang diawasi, model belajar meniru kebenaran dasar dalam set data penyesuaian dan menghilangkan proses berpikir. Oleh karena itu, model yang di-tune dapat menangani tugas secara efektif tanpa anggaran penalaran.

Contoh berikut menunjukkan cara memberikan perintah pada model yang telah disesuaikan dengan pertanyaan "Mengapa langit berwarna biru?".

Konsol

  1. Untuk menguji model yang disesuaikan di konsol Google Cloud , buka halaman Vertex AI Studio.

    Buka Vertex AI Studio

  2. Di tabel Gemini Pro tuned models, temukan model Anda, lalu klik Test.

    Halaman baru akan terbuka tempat Anda dapat membuat percakapan dengan model yang telah disesuaikan.

Google Gen AI SDK

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Get the tuning job and the tuned model.
# Eg. tuning_job_name = "projects/123456789012/locations/us-central1/tuningJobs/123456789012345"
tuning_job = client.tunings.get(name=tuning_job_name)

contents = "Why is the sky blue?"

# Predicts with the tuned endpoint.
response = client.models.generate_content(
    model=tuning_job.tuned_model.endpoint,
    contents=contents,
)
print(response.text)
# Example response:
# The sky is blue because ...

Vertex AI SDK untuk Python

from vertexai.generative_models import GenerativeModel

sft_tuning_job = sft.SupervisedTuningJob("projects/<PROJECT_ID>/locations/<TUNING_JOB_REGION>/tuningJobs/<TUNING_JOB_ID>")
tuned_model = GenerativeModel(sft_tuning_job.tuned_model_endpoint_name)
print(tuned_model.generate_content(content))

REST

Untuk menguji model yang disesuaikan dengan perintah, kirim permintaan POST dan tentukan TUNED_ENDPOINT_ID.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: .
  • TUNING_JOB_REGION: Region tempat tugas penyetelan dijalankan. Ini juga merupakan region default tempat model yang disesuaikan diupload.
  • ENDPOINT_ID: ID endpoint model yang disesuaikan dari GET API.
  • TEMPERATURE: Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saat topP dan topK diterapkan. Suhu mengontrol tingkat keacakan dalam pemilihan token. Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu 0 berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk permintaan tertentu sebagian besar deterministik, tetapi sedikit variasi masih dapat dilakukan.

    Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons pengganti, coba tingkatkan suhunya.

  • TOP_P: Top-P mengubah cara model memilih token untuk output. Token dipilih dari yang paling mungkin hingga yang paling tidak mungkin sampai jumlah probabilitasnya sama dengan nilai top-P. Misalnya, jika token A, B, dan C memiliki probabilitas 0,3, 0,2, dan 0,1 dengan nilai top-P adalah 0.5, model akan memilih A atau B sebagai token berikutnya dengan menggunakan suhu dan mengecualikan C sebagai kandidat.

    Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak.

  • TOP_K: Top-K mengubah cara model memilih token untuk output. Top-K dari 1 berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua token dalam kosakata model (juga disebut decoding greedy), sedangkan nilai top-K dari 3 berarti token berikutnya dipilih di antara tiga token yang paling mungkin menggunakan suhu.

    Untuk setiap langkah pemilihan token, token top-K dengan probabilitas tertinggi akan diambil sampelnya. Kemudian token akan difilter lebih lanjut berdasarkan top-P dengan token akhir yang dipilih menggunakan pengambilan sampel suhu.

    Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak.

  • MAX_OUTPUT_TOKENS: Jumlah maksimum token yang dapat dibuat dalam respons. Token terdiri dari sekitar empat karakter. 100 token setara dengan sekitar 60-80 kata.

    Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk potensi respons yang lebih panjang.

Metode HTTP dan URL:

POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent

Isi JSON permintaan:

{
    "contents": [
        {
            "role": "USER",
            "parts": {
                "text" : "Why is sky blue?"
            }
        }
    ],
    "generation_config": {
        "temperature":TEMPERATURE,
        "topP": TOP_P,
        "topK": TOP_K,
        "maxOutputTokens": MAX_OUTPUT_TOKENS
    }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content

Anda akan melihat respons JSON yang mirip seperti berikut:

Menghapus model yang disesuaikan

Untuk menghapus model yang di-tuning:

Vertex AI SDK untuk Python

from google.cloud import aiplatform

aiplatform.init(project=PROJECT_ID, location=LOCATION)

# To find out which models are available in Model Registry
models = aiplatform.Model.list()

model = aiplatform.Model(MODEL_ID)
model.delete()

REST

Panggil metode models.delete.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: .
  • REGION: Region tempat model yang disesuaikan berada.
  • MODEL_ID: Model yang akan dihapus.

Metode HTTP dan URL:

DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/models/MODEL_ID" | Select-Object -Expand Content

Anda akan menerima kode status yang menandakan proses berhasil (2xx), dan sebuah respons kosong.

Metrik penyesuaian dan validasi

Anda dapat mengonfigurasi tugas penyesuaian model untuk mengumpulkan dan melaporkan metrik penyesuaian dan evaluasi, yang kemudian dapat divisualisasikan di Vertex AI Studio.

Untuk melihat metrik model yang disesuaikan:

  1. Di bagian Vertex AI pada konsol Google Cloud , buka halaman Vertex AI Studio.

    Buka Vertex AI Studio

  2. Di tabel Tune and Distill, klik nama model yang di-tune yang ingin Anda lihat.

Metrik muncul di tab Monitor. Visualisasi tersedia setelah tugas penyesuaian dimulai dan diperbarui secara real time.

Metrik penyesuaian model

Tugas penyesuaian model secara otomatis mengumpulkan metrik penyesuaian berikut untuk Gemini 2.0 Flash:

  • /train_total_loss: Kerugian untuk set data penyesuaian pada langkah pelatihan.
  • /train_fraction_of_correct_next_step_preds: Akurasi token pada langkah pelatihan. Satu prediksi terdiri dari serangkaian token. Metrik ini mengukur akurasi token yang diprediksi jika dibandingkan dengan kebenaran dasar dalam set data penyesuaian.
  • /train_num_predictions: Jumlah token yang diprediksi pada langkah pelatihan.

Metrik validasi model

Jika Anda memberikan set data validasi saat membuat tugas penyesuaian, metrik validasi berikut akan dikumpulkan untuk Gemini 2.0 Flash. Jika Anda tidak menentukan set data validasi, hanya metrik penyesuaian yang tersedia.

  • /eval_total_loss: Kerugian untuk set data validasi pada langkah validasi.
  • /eval_fraction_of_correct_next_step_preds: Akurasi token pada langkah validasi. Satu prediksi terdiri dari serangkaian token. Metrik ini mengukur akurasi token yang diprediksi jika dibandingkan dengan kebenaran dasar dalam set data validasi.
  • /eval_num_predictions: Jumlah token yang diprediksi pada langkah validasi.

Langkah berikutnya