Menyesuaikan model Gemini menggunakan penyesuaian preferensi

Dokumen ini menjelaskan cara melakukan penyesuaian preferensi pada model Gemini.

Sebelum memulai

Sebelum memulai, Anda harus menyiapkan set data dengan mengikuti petunjuk di Menyiapkan data penyesuaian preferensi untuk model Gemini.

Membuat tugas penyesuaian

Konsol

Untuk mengonfigurasi penyesuaian preferensi 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 Create tuned model.

  3. Pilih Penyesuaian preferensi.

  4. Di bagian Detail model, konfigurasikan hal berikut:

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

    1. Di kolom Number of epochs, masukkan jumlah langkah yang akan dijalankan untuk penyesuaian model.
    2. Di kolom Adapter Size, masukkan ukuran adaptor yang akan digunakan untuk penyesuaian model.
    3. Opsional: Di kolom Beta, masukkan nilai beta yang diinginkan. Beta adalah koefisien yang mengontrol seberapa dekat model yang disesuaikan dengan dasar pengukurannya.
    4. Di kolom Pengganda kecepatan pembelajaran, masukkan ukuran langkah di setiap iterasi. Nilai default adalah 1. .
  6. Opsional: Untuk menonaktifkan titik pemeriksaan perantara dan hanya menggunakan titik pemeriksaan terbaru, klik tombol Ekspor hanya titik pemeriksaan terakhir.

  7. Klik Lanjutkan.

    Halaman Tuning dataset akan terbuka.

  8. 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 Lokasi set data, klik Telusuri, 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 Jalur file Cloud Storage, klik Telusuri, lalu pilih bucket Cloud Storage tempat file set data Anda berada.
  9. (Opsional) Untuk mendapatkan metrik validasi selama pelatihan, klik tombol Aktifkan validasi model.

    1. Di file Validation dataset, masukkan jalur Cloud Storage set data validasi Anda.
  10. Klik Mulai Penyesuaian.

    Model baru Anda akan muncul di bagian Penyetelan terkelola di halaman Penyetelan dan Distilasi. Setelah penyetelan model selesai, Status akan menampilkan Berhasil.

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 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.
  • BETAOpsional: Koefisien yang mengontrol seberapa dekat model yang disesuaikan dengan dasarnya.
  • 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 Halus 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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi 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": "${BASE_MODEL}",
   "preferenceOptimizationSpec" : {
      "trainingDatasetUri": "gs://mybucket/preference_tuning/data/train_data.jsonl",
      "validationDatasetUri": "gs://mybucket/preference_tuning/data/validation_data.jsonl"
   },
   "tunedModelDisplayName": "tuned_gemini"
}'

Menyesuaikan hyperparameter

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

  • Epoch: Jumlah lintasan lengkap yang dilakukan model pada seluruh set data pelatihan selama pelatihan. Vertex AI otomatis menyesuaikan nilai default dengan ukuran set data pelatihan Anda. Nilai ini didasarkan pada hasil tolok ukur untuk mengoptimalkan kualitas output model.
  • Beta: Koefisien yang mengontrol seberapa dekat model yang dioptimalkan dengan model dasarnya. Beta yang lebih rendah berarti pembaruan yang lebih agresif terhadap respons yang disukai. Rentang yang direkomendasikan adalah dari 0,01 hingga 0,5, inklusif. Nilai beta 0 akan menghentikan model dari pembelajaran.
  • 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 menunjukkan 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 yang akan diterapkan ke kecepatan pembelajaran yang direkomendasikan. Anda dapat meningkatkan nilai untuk melakukan konvergensi lebih cepat, atau mengurangi nilai untuk menghindari overfitting.

Melihat atau membatalkan tugas penyesuaian

Untuk mencantumkan tugas penyesuaian, melihat detail tugas penyesuaian, membatalkan tugas penyesuaian, atau menghapus model yang disesuaikan, lihat bagian berikut dalam dokumentasi penyesuaian terawasi:

Metrik penyesuaian model

Tugas penyesuaian model secara otomatis mengumpulkan metrik penyesuaian berikut:

  • /preference_optimization_train_loss: Kerugian preferensi untuk set data penyesuaian pada langkah pelatihan.

Metrik validasi model

Jika data validasi disediakan, tugas penyesuaian model akan otomatis mengumpulkan metrik validasi berikut:

  • /eval_total_loss: Kerugian preferensi untuk set data validasi pada langkah validasi.

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

Langkah berikutnya