Menyesuaikan dengan Gemini API

Strategi desain prompt seperti few-shot prompting mungkin tidak selalu memberikan hasil yang Anda butuhkan. Fine-tuning adalah proses yang dapat meningkatkan performa model Anda pada tugas tertentu atau membantu model mematuhi persyaratan output tertentu saat petunjuk tidak memadai, dan Anda memiliki sekumpulan contoh yang menunjukkan output yang diinginkan.

Halaman ini menyediakan panduan tentang cara meningkatkan kualitas model teks di balik layanan teks Gemini API.

Cara kerja fine-tuning

Tujuan fine-tuning adalah untuk lebih meningkatkan performa model sesuai tugas spesifik Anda. Fine-tuning bekerja dengan menyediakan model dengan set data pelatihan yang berisi banyak contoh tugas. Untuk tugas khusus, Anda bisa mendapatkan peningkatan performa model yang signifikan dengan menyesuaikan model menggunakan sejumlah kecil contoh.

Data pelatihan Anda harus disusun sebagai contoh dengan input perintah dan output respons yang diharapkan. Anda juga dapat menyesuaikan model menggunakan data contoh langsung di Google AI Studio. Tujuannya adalah mengajari model untuk meniru perilaku atau tugas yang diinginkan, dengan memberinya banyak contoh yang menggambarkan perilaku atau tugas tersebut.

Saat Anda menjalankan tugas tuning, model akan mempelajari parameter tambahan yang membantunya mengenkode informasi yang diperlukan untuk melakukan tugas yang diinginkan atau mempelajari perilaku yang diinginkan. Parameter ini kemudian dapat digunakan pada waktu inferensi. Output dari tugas tuning adalah model baru, yang secara efektif merupakan kombinasi dari parameter yang baru dipelajari, dan model asli.

Menyiapkan set data

Sebelum dapat memulai fine-tuning, Anda memerlukan set data untuk melakukan penyesuaian pada model. Untuk performa terbaik, contoh dalam set data harus berkualitas tinggi, beragam, dan mewakili input dan output yang sebenarnya.

Format

Contoh yang disertakan dalam set data Anda harus cocok dengan traffic produksi yang diharapkan. Jika set data Anda berisi format, kata kunci, petunjuk, atau informasi tertentu, data produksi harus diformat dengan cara yang sama dan berisi petunjuk yang sama.

Misalnya, jika contoh di set data Anda menyertakan "question:" dan "context:", traffic produksi juga harus diformat untuk menyertakan "question:" dan "context:" dalam urutan yang sama seperti yang tampak pada contoh set data. Jika Anda mengecualikan konteksnya, model tidak dapat mengenali polanya, meskipun pertanyaan persisnya ada dalam contoh dalam set data.

Menambahkan prompt atau preamble ke setiap contoh dalam set data juga dapat membantu meningkatkan performa model yang disesuaikan. Perhatikan bahwa jika prompt atau preamble disertakan dalam set data Anda, prompt atau preamble tersebut juga harus disertakan dalam prompt ke model yang disesuaikan pada waktu inferensi.

Ukuran data pelatihan

Anda dapat meningkatkan kualitas model hanya dengan 20 contoh. Data tambahan umumnya meningkatkan kualitas respons. Anda harus menargetkan antara 100 hingga 500 contoh, bergantung pada aplikasi Anda. Tabel berikut menunjukkan ukuran set data yang direkomendasikan guna menyesuaikan model teks untuk berbagai tugas umum:

Tugas Jumlah contoh dalam set data
Classification 100+
Ringkasan 100-500+
Penelusuran dokumen 100+

Upload set data tuning Anda

Data diteruskan secara inline menggunakan API atau melalui file yang diupload di Google AI Studio.

Klik tombol Import, lalu ikuti petunjuk dialog untuk mengimpor data dari file atau pilih perintah terstruktur dengan contoh untuk diimpor sebagai set data penyesuaian Anda.

Library klien

Untuk menggunakan library klien, sediakan file data dalam panggilan createTunedModel. Batas ukuran file adalah 4 MB. Lihat panduan memulai penyempurnaan dengan Python untuk memulai.

cURL

Untuk memanggil REST API menggunakan cURL, berikan contoh pelatihan dalam format JSON ke argumen training_data. Lihat panduan memulai dengan cURL untuk memulai.

Setelan penyesuaian lanjutan

Saat membuat tugas tuning, Anda dapat menetapkan setelan lanjutan berikut:

  • Periode: Penerusan pelatihan penuh ke seluruh set pelatihan sehingga setiap contoh telah diproses satu kali.
  • Ukuran batch: Kumpulan contoh yang digunakan dalam satu iterasi pelatihan. Ukuran batch menentukan jumlah contoh dalam batch.
  • Kecepatan pembelajaran: Bilangan floating point yang memberi tahu algoritma seberapa kuat penyesuaian parameter model pada setiap iterasi. Misalnya, kecepatan pembelajaran 0,3 akan menyesuaikan bobot dan bias tiga kali lebih kuat daripada kecepatan pembelajaran 0,1. Kecepatan pembelajaran tinggi dan rendah memiliki kompromi uniknya sendiri dan harus disesuaikan berdasarkan kasus penggunaan Anda.
  • Pengganda kecepatan pembelajaran: Pengganda kecepatan mengubah kecepatan pembelajaran asli model. Nilai 1 menggunakan kecepatan pembelajaran asli dari model. Nilai yang lebih besar dari 1 akan meningkatkan kecepatan pemelajaran dan nilai antara 1 dan 0, yang akan menurunkan kecepatan pemelajaran.

Tabel berikut menunjukkan konfigurasi yang direkomendasikan untuk meningkatkan kualitas model dasar:

Hyperparameter Nilai default Penyesuaian yang direkomendasikan
Epoch 5

Jika kerugian mulai mendatar sebelum 5 epoch, gunakan nilai yang lebih kecil.

Jika kerugian meningkat dan tampaknya tidak stabil, gunakan nilai yang lebih tinggi.

Ukuran batch 4
Kecepatan pembelajaran 0,001 Gunakan nilai yang lebih kecil untuk set data yang lebih kecil.

Kurva kerugian menunjukkan seberapa besar menyimpang prediksi model dari prediksi ideal dalam contoh pelatihan setelah setiap epoch. Idealnya, Anda ingin berhenti pelatihan di titik terendah pada kurva tepat sebelum titik dataran tinggi. Misalnya, grafik di bawah menunjukkan dataran tinggi kurva kerugian sekitar epoch 4-6 yang berarti Anda dapat menetapkan parameter Epoch ke 4 dan tetap mendapatkan performa yang sama.

Diagram garis yang menunjukkan kurva penyimpangan untuk model tersebut. Garis melonjak di antara
epoch pertama dan kedua, lalu menurun tajam hingga hampir 0 dan naik level
setelah tiga epoch.

Memeriksa status tugas tuning

Anda dapat memeriksa status tugas tuning di Google AI Studio di tab My Library atau menggunakan properti metadata dari model yang disesuaikan di Gemini API.

Memecahkan masalah error

Bagian ini membahas tips tentang cara mengatasi error yang mungkin Anda alami saat membuat model yang disesuaikan.

Autentikasi

Penyesuaian menggunakan API dan library klien memerlukan autentikasi pengguna. Kunci API saja tidak cukup. Jika melihat error 'PermissionDenied: 403 Request had insufficient authentication scopes', Anda harus menyiapkan autentikasi pengguna.

Untuk mengonfigurasi kredensial OAuth untuk Python, baca tutorial penyiapan OAuth.

Model yang dibatalkan

Anda dapat membatalkan tugas tuning kapan saja sebelum tugas selesai. Namun, performa inferensi model yang dibatalkan tidak dapat diprediksi, terutama jika tugas tuning dibatalkan di awal pelatihan. Jika membatalkan karena ingin menghentikan pelatihan pada epoch yang lebih awal, Anda harus membuat tugas penyesuaian baru dan menetapkan epoch ke nilai yang lebih rendah.

Langkah selanjutnya