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:
Di bagian Gemini Enterprise Agent Platform pada konsol Google Cloud , buka halaman Tuning.
Klik Create tuned model.
Pilih Penyesuaian preferensi.
Di bagian Model details, konfigurasikan hal berikut:
- Di kolom Tuned model name, masukkan nama untuk model baru yang telah disesuaikan, maksimal 128 karakter.
- Di kolom Base model, pilih model dasar yang akan disesuaikan.
- Di kolom drop-down Region, pilih region tempat tugas penyesuaian pipeline berjalan dan tempat model yang disesuaikan di-deploy.
Di bagian Tuning setting, konfigurasikan hal berikut:
- Di kolom Jumlah epoch, masukkan jumlah langkah yang akan dijalankan untuk penyesuaian model.
- Di kolom Adapter Size, masukkan ukuran adaptor yang akan digunakan untuk penyesuaian model.
- Opsional: Di kolom Beta, masukkan nilai beta yang diinginkan. Beta adalah koefisien yang mengontrol seberapa dekat model yang disesuaikan selaras dengan dasar pengukurannya.
- Di kolom Learning rate multiplier, masukkan ukuran langkah di setiap iterasi. Nilai default adalah 1. .
Opsional: Untuk menonaktifkan checkpoint perantara dan hanya menggunakan checkpoint terbaru, klik tombol Export last checkpoint only.
Klik Lanjutkan.
Halaman Tuning dataset akan terbuka.
Untuk mengupload file set data, pilih salah satu opsi berikut:
- Jika Anda belum mengupload set data, pilih tombol pilihan untuk Upload file to Cloud Storage.
- Di kolom Select JSONL file, klik Browse, lalu pilih file set data Anda.
- Di kolom Dataset location, klik Browse, lalu pilih bucket Cloud Storage tempat Anda ingin menyimpan file set data.
- Jika file set data Anda sudah ada di bucket Cloud Storage, pilih tombol pilihan untuk Existing file on Cloud Storage.
- Di kolom Cloud Storage file path, klik Browse, lalu pilih bucket Cloud Storage tempat file set data berada.
(Opsional) Untuk mendapatkan metrik validasi selama pelatihan, klik tombol Enable model validation.
- Di file Validation dataset, masukkan jalur Cloud Storage set data validasi Anda.
Klik Start Tuning.
Model baru Anda akan muncul di bagian Managed tuning di halaman Tune and Distill. Setelah model selesai disesuaikan, Status akan menampilkan Succeeded.
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. Region ini juga merupakan region default tempat model yang telah 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 file set data validasi Anda.
- EPOCH_COUNTOpsional: Jumlah penerusan lengkap yang dilakukan model pada seluruh set data pelatihan selama pelatihan. Biarkan tidak disetel untuk menggunakan nilai yang direkomendasikan yang telah diisi otomatis.
- BETAOpsional: Koefisien yang mengontrol seberapa dekat model yang disesuaikan selaras dengan baseline-nya.
- 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 berarti 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: Tetapkan ke
trueuntuk hanya menggunakan checkpoint terbaru. - TUNED_MODEL_DISPLAYNAMEOpsional: Nama tampilan untuk model yang disesuaikan. Jika tidak ditetapkan, nama acak akan dibuat.
- KMS_KEY_NAMEOpsional: ID resource Cloud KMS dari kunci enkripsi yang dikelola pelanggan yang digunakan untuk melindungi resource. Kunci memiliki format:
projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. Kunci tersebut harus berada di region yang sama dengan tempat resource komputasi dibuat. Untuk mengetahui informasi selengkapnya, lihat Kunci enkripsi yang dikelola pelanggan (CMEK). - SERVICE_ACCOUNTOpsional: Akun layanan yang dijalankan oleh workload tuningJob. Jika tidak ditentukan, Agen Layanan Fine-Tuning Aman Agent Platform dalam project akan digunakan. Lihat Agen Layanan Penyesuaian. Jika Anda berencana menggunakan Akun Layanan yang dikelola pelanggan, Anda harus memberikan peran
roles/aiplatform.tuningServiceAgentke akun layanan tersebut. Berikan juga peran Tuning Service Agentroles/iam.serviceAccountTokenCreatorke 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"
}'
Google Gen AI SDK
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 iterasi lengkap yang dilakukan model pada seluruh set data pelatihan selama pelatihan. Gemini Enterprise Agent Platform 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 disesuaikan dengan baseline-nya. Beta yang lebih rendah berarti pembaruan yang lebih agresif terhadap respons yang diinginkan. Rentang yang direkomendasikan adalah dari 0,01 hingga 0,5, inklusif. Nilai beta 0 akan menghentikan model dari pembelajaran.
- Adapter size: Ukuran Adaptor yang akan digunakan untuk tugas penyesuaian. Ukuran adaptor memengaruhi jumlah parameter yang dapat dilatih untuk tugas penyesuaian. Ukuran adaptor yang lebih besar berarti 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 konvergensi yang lebih cepat, atau menurunkan nilai untuk menghindari overfitting.
Melihat atau membatalkan tugas penyesuaian
Untuk mencantumkan tugas penyesuaian, melihat detail tugas penyesuaian, membatalkan tugas penyesuaian, atau menghapus model yang telah disesuaikan, lihat bagian berikut dalam dokumentasi supervised fine-tuning:
- Melihat daftar tugas penyesuaian
- Mendapatkan detail tugas penyesuaian
- Membatalkan tugas penyesuaian
- Menghapus model yang telah disesuaikan
Metrik penyesuaian model
Tugas penyesuaian model 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 berjalannya penyesuaian. Jika Anda tidak menentukan set data validasi saat membuat tugas penyesuaian, hanya visualisasi untuk metrik penyesuaian yang tersedia.
Langkah berikutnya
- Pelajari cara men-deploy model Gemini yang telah disesuaikan.