Menyesuaikan model Gemini menggunakan fine tuning yang diawasi

Dokumen ini menjelaskan cara menyesuaikan model Gemini menggunakan penyesuaian yang diawasi.

Sebelum memulai

Sebelum memulai, Anda harus menyiapkan set data penyesuaian yang diawasi. Bergantung pada kasus penggunaan Anda, ada persyaratan yang berbeda.

Model yang Didukung

  • gemini-1.5-pro-002 (Di GA)
  • gemini-1.5-flash-002(Di GA)
  • gemini-1.0-pro-002 (Dalam pratinjau, hanya mendukung penyesuaian teks)

Membuat tugas penyesuaian

Anda dapat membuat tugas penyesuaian yang diawasi menggunakan REST API, Vertex AI SDK untuk Python, konsol Google Cloud, atau Colab Enterprise.

REST

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

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • TUNING_JOB_REGION: Region tempat tugas penyesuaian berjalan. Ini juga merupakan region default tempat model yang telah disesuaikan diupload.
  • BASE_MODEL: Nama model dasar yang akan disesuaikan. Nilai yang didukung: gemini-1.5-pro-002, gemini-1.5-flash-002, dan gemini-1.0-pro-002.
  • 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 informasi selengkapnya, lihat Tentang set data penyesuaian terpantau .
  • VALIDATION_DATASET_URIOpsional: Cloud Storage URI dari file set data validasi Anda.
  • EPOCH_COUNTOpsional: Jumlah penerusan lengkap yang dilakukan model di seluruh set data pelatihan selama pelatihan. Biarkan tidak ditetapkan 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 menyiratkan 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 ditetapkan untuk menggunakan nilai yang direkomendasikan.
  • TUNED_MODEL_DISPLAYNAMEOpsional: Nama tampilan untuk model yang disesuaikan. Jika tidak ditetapkan, nama acak akan dibuat.

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
      },
  },
  "tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME"
}

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=us-central1
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-1.5-pro-002",
   "supervisedTuningSpec" : {
      "training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
      "validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl"
   },
   "tunedModelDisplayName": "tuned_gemini_pro"
}'

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-1.5-pro-002",
    train_dataset="gs://cloud-samples-data/ai-platform/generative_ai/gemini-1_5/text/sft_train_data.jsonl",
    # The following parameters are optional
    validation_dataset="gs://cloud-samples-data/ai-platform/generative_ai/gemini-1_5/text/sft_validation_data.jsonl",
    epochs=4,
    adapter_size=4,
    learning_rate_multiplier=1.0,
    tuned_model_display_name="tuned_gemini_1_5_pro",
)

# 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>

Konsol

Untuk menyesuaikan model teks dengan penyesuaian yang diawasi menggunakan konsol Google Cloud, lakukan langkah-langkah berikut:

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

    Buka Vertex AI Studio

  2. Klik Buat model yang disesuaikan.

  3. Di bagian Metode penyesuaian, pilih tombol pilihan untuk Penyesuaian yang diawasi.

  4. Di bagian Detail model, konfigurasikan hal berikut:

    1. Di kolom Tuned model name, masukkan nama untuk model yang disesuaikan baru Anda, maksimal 128 karakter.
    2. Di kolom Base model, pilih gemini-1.5-pro-002.
    3. Di kolom drop-down Region, Pilih region tempat tugas penyesuaian pipeline berjalan dan tempat model yang disesuaikan di-deploy.
  5. Opsional: luaskan panah drop-down Advanced Options dan konfigurasikan hal berikut:

    1. Di kolom Jumlah epoch, masukkan jumlah langkah yang akan dijalankan untuk penyesuaian model.
    2. Di kolom Adapter Size, masukkan ukuran adaptor yang akan digunakan untuk penyesuaian model.
    3. Di kolom Pengganda kecepatan pembelajaran, masukkan Masukkan ukuran langkah di setiap iterasi. Nilai default adalah 1.
  6. Klik Lanjutkan.

    Halaman Tuning dataset akan terbuka.

  7. Untuk mengupload file set data, pilih salah satu opsi berikut:

    1. Jika Anda belum mengupload set data, pilih tombol pilihan untuk Upload file ke Cloud Storage.
    2. Di kolom Select JSONL file, klik Browse, lalu pilih file set data Anda.
    3. Di kolom Dataset location, klik Browse, lalu pilih bucket Cloud Storage tempat Anda ingin menyimpan file set data.
    4. Jika file set data Anda sudah ada di bucket Cloud Storage, pilih tombol pilihan untuk File yang ada di Cloud Storage.
    5. Di kolom Cloud Storage file path, klik Browse, lalu pilih bucket Cloud Storage tempat file set data berada.
  8. (Opsional) Untuk mendapatkan metrik validasi selama pelatihan, klik tombol Enable model validation.

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

    Model baru Anda akan muncul di bagian Model yang disesuaikan Gemini Pro di halaman Tune and Distill. Setelah model selesai dioptimalkan, Status akan menampilkan Berhasil.

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 akan 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 Notebooks Colab Enterprise.

    Buka Notebooks

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

  3. Pada tab My notebooks, klik notebook yang ingin Anda buka. Jika Anda belum membuat notebook, buat notebook terlebih dahulu.

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

    Panel samping akan memperluas 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 parameter value. 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-1.0-pro-002.
    • 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 tersebut 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 tab Detail penyesuaian ke halaman tempat Anda dapat menguji model. Klik Uji.

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

Menyesuaikan Hyperparameter

Sebaiknya kirim tugas penyesuaian pertama Anda tanpa mengubah hyperparameter. Nilai default adalah nilai yang direkomendasikan berdasarkan hasil benchmark kami untuk menghasilkan kualitas output model terbaik.

  • Epoch: Jumlah penerusan lengkap yang dilakukan model di seluruh set data pelatihan selama pelatihan. Vertex AI akan otomatis menyesuaikan nilai default dengan ukuran set data pelatihan Anda. Nilai ini didasarkan pada hasil benchmark untuk mengoptimalkan kualitas output model.
  • Ukuran adaptor: Ukuran adaptor yang akan digunakan untuk tugas penyesuaian. Ukuran adaptor memengaruhi jumlah parameter yang dapat dilatih untuk tugas penyesuaian. Ukuran adaptor yang lebih besar menyiratkan bahwa model dapat mempelajari tugas yang lebih kompleks, tetapi memerlukan set data pelatihan yang lebih besar dan waktu pelatihan yang lebih lama.
  • Pengganda Kecepatan Pembelajaran: Pengganda untuk diterapkan ke kecepatan pembelajaran yang direkomendasikan. Anda dapat meningkatkan nilai untuk berkonvergensi lebih cepat, atau menurunkan nilai untuk menghindari overfitting.

Melihat daftar tugas penyesuaian

Anda dapat melihat daftar tugas penyesuaian dalam project saat ini menggunakan konsol Google Cloud, Vertex AI SDK untuk Python, atau dengan mengirim permintaan GET menggunakan metode tuningJobs.

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: Project ID Anda.
  • TUNING_JOB_REGION: Region tempat tugas penyesuaian berjalan. Ini juga merupakan region default tempat model yang telah 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.

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

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 di bagian Model yang disesuaikan Gemini Pro.

Mendapatkan detail tugas penyesuaian

Anda bisa mendapatkan detail tugas penyesuaian dalam project saat ini menggunakan konsol Google Cloud, Vertex AI SDK untuk Python, atau dengan mengirim permintaan GET menggunakan metode tuningJobs.

REST

Untuk melihat daftar 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: Project ID Anda.
  • TUNING_JOB_REGION: Region tempat tugas penyesuaian berjalan. Ini juga merupakan region default tempat model yang telah 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.

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

Konsol

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

    Buka Vertex AI Studio

  2. Di tabel Model yang disesuaikan Gemini Pro, temukan model Anda, lalu klik Details.

    Detail model Anda akan ditampilkan.

Membatalkan tugas penyesuaian

Anda dapat membatalkan tugas penyesuaian dalam project saat ini menggunakan konsol Google Cloud, Vertex AI SDK untuk Python, atau dengan mengirim permintaan POST menggunakan metode tuningJobs.

REST

Untuk melihat daftar tugas penyesuaian model, kirim permintaan GET menggunakan metode tuningJobs.cancel dan tentukan TuningJob_ID.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • TUNING_JOB_REGION: Region tempat tugas penyesuaian berjalan. Ini juga merupakan region default tempat model yang telah 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.

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()

Konsol

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

    Buka Vertex AI Studio

  2. Di tabel Model yang dioptimalkan Gemini Pro, klik Kelola operasi.

  3. Klik Cancel.

Menguji model yang dioptimalkan dengan perintah

Anda dapat menguji tugas penyesuaian dalam project saat ini menggunakan Vertex AI SDK untuk Python, atau dengan mengirim permintaan POST menggunakan metode tuningJobs.

Contoh berikut meminta model dengan pertanyaan "Mengapa langit berwarna biru?".

REST

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

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • TUNING_JOB_REGION: Region tempat tugas penyesuaian dijalankan. Ini juga merupakan region default tempat model yang telah 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 (lihat top-K) 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 respons yang berpotensi 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:

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))

Konsol

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

    Buka Vertex AI Studio

  2. Di tabel Model yang dioptimalkan Gemini Pro, pilih Uji.

    Tindakan ini akan membuka halaman tempat Anda dapat membuat percakapan dengan model yang dioptimalkan.

Metrik penyesuaian dan validasi

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

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

    Buka Vertex AI Studio

  2. Di tabel Tune and Distill, klik nama model yang dioptimalkan yang ingin Anda lihat metriknya.

    Metrik penyesuaian muncul di tab Monitor.

Metrik penyesuaian model

Tugas penyesuaian model secara otomatis mengumpulkan metrik penyesuaian berikut untuk gemini-1.5-pro-002.

  • /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:

Anda dapat mengonfigurasi tugas penyesuaian model untuk mengumpulkan metrik validasi berikut untuk gemini-1.5-pro-002.

  • /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.

Visualisasi metrik tersedia setelah tugas penyesuaian mulai berjalan. Nilai ini akan diperbarui secara real time seiring dengan progres penyesuaian. Jika Anda tidak menentukan set data validasi saat membuat tugas penyesuaian, hanya visualisasi untuk metrik penyesuaian yang tersedia.

Langkah selanjutnya