Strategi desain yang cepat seperti few-shot prompting mungkin tidak selalu menghasilkan hasil yang diperlukan. Fine-tuning adalah proses yang dapat meningkatkan kualitas performa pada tugas tertentu atau membantu model mematuhi output tertentu persyaratan, saat petunjuk tidak memadai, dan Anda memiliki banyak contoh yang menunjukkan {i>output<i} yang Anda inginkan.
Halaman ini menyediakan ringkasan konseptual tentang cara menyesuaikan model teks di balik layanan teks Gemini API. Jika Anda sudah siap untuk memulai tuning, lihat tutorial penyempurnaan kualitas.
Cara kerja fine-tuning
Tujuan {i>fine-tuning<i} adalah untuk lebih meningkatkan kinerja model untuk pada tugas spesifik Anda. Fine-tuning bekerja dengan menyediakan pelatihan {i>dataset<i} yang berisi banyak contoh tugas. Untuk tugas khusus, Anda bisa mendapatkan performa model meningkat signifikan dengan men-tune model menggunakan jumlah contoh. Penyesuaian model seperti ini terkadang disebut sebagai supervised fine-tuning, untuk membedakannya dari jenis fine-tuning lainnya.
Data pelatihan Anda harus disusun sebagai contoh dengan input prompt dan output respons yang diharapkan. Anda juga dapat menyesuaikan model secara langsung menggunakan data contoh di Google AI Studio. Tujuannya adalah untuk mengajari model agar meniru perilaku yang diinginkan atau tugas tertentu, dengan memberi 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 model. Parameter ini kemudian dapat digunakan pada waktu inferensi. Output dari adalah model baru, yang secara efektif merupakan kombinasi dari parameter yang dipelajari dengan model asli.
Menyiapkan set data
Sebelum dapat memulai fine-tuning, Anda memerlukan set data untuk melakukan penyesuaian pada model. Sebagai kinerja terbaik, contoh dalam {i>dataset<i} harus berkualitas tinggi, beragam, dan mewakili input dan output yang sebenarnya.
Format
Contoh yang disertakan dalam set data Anda harus cocok dengan produksi yang diharapkan kemacetan. Jika {i>dataset<i} Anda berisi format tertentu, kata kunci, petunjuk, atau informasi, data produksi harus diformat dengan cara yang sama dan berisi instruksi 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,
bahkan jika pertanyaan persisnya ada dalam contoh di {i>dataset<i}.
Menambahkan {i>prompt<i} atau {i>preamble<i} ke setiap contoh dalam {i>dataset<i} Anda juga dapat membantu meningkatkan performa model yang di-tuning. Catatan, jika {i>prompt<i} atau {i>preamble<i} dalam {i>dataset<i} Anda, data itu juga harus dimasukkan dalam prompt model pada waktu inferensi.
Ukuran data pelatihan
Anda dapat meningkatkan kualitas model hanya dengan 20 contoh. Data tambahan umumnya akan meningkatkan kualitas respons. Anda harus menargetkan antara 100 dan 500 contoh, bergantung pada aplikasi Anda. Tabel berikut menunjukkan ukuran set data yang direkomendasikan guna meningkatkan kualitas model teks untuk berbagai tugas umum:
Tugas | Jumlah contoh dalam set data |
---|---|
Klasifikasi | 100+ |
Perangkuman | 100-500+ |
Penelusuran dokumen | 100+ |
Upload set data tuning Anda
Data diteruskan secara inline menggunakan API atau melalui file yang diupload di Google di Generative AI Studio.
Untuk menggunakan library klien, sediakan file data dalam panggilan createTunedModel
.
Batas ukuran file adalah 4 MB. Lihat
panduan memulai penyempurnaan dengan Python
proses memulai.
Untuk memanggil REST API menggunakan cURL, berikan contoh pelatihan dalam format JSON ke
Argumen training_data
. Lihat
menyesuaikan panduan memulai dengan cURL
proses memulai.
Setelan penyesuaian lanjutan
Saat membuat tugas tuning, Anda dapat menetapkan setelan lanjutan berikut:
- Periode: Penerusan pelatihan penuh pada seluruh set pelatihan sehingga masing-masing telah diproses satu kali.
- Ukuran batch: Kumpulan contoh yang digunakan dalam satu iterasi pelatihan. Tujuan ukuran batch menentukan jumlah contoh dalam batch.
- Kecepatan pembelajaran: Angka floating point yang memberi tahu algoritma cara untuk menyesuaikan parameter model pada setiap iterasi. Sebagai contoh, kecepatan pembelajaran 0,3 akan menyesuaikan bobot dan bias tiga kali lebih banyak lebih kuat daripada kecepatan pembelajaran 0,1. Kecepatan pembelajaran yang tinggi dan rendah memiliki kelebihan dan kekurangannya masing-masing dan harus disesuaikan berdasarkan kasus penggunaan Anda.
- Pengganda kecepatan pembelajaran: Pengganda kecepatan mengubah nilai dengan kecepatan pembelajaran asli. Nilai 1 menggunakan kecepatan pembelajaran asli dari model transformer. Nilai yang lebih besar dari 1 akan meningkatkan kecepatan pemelajaran dan nilai antara 1 dan 0 menurunkan kecepatan pemelajaran.
Konfigurasi yang direkomendasikan
Tabel berikut menunjukkan konfigurasi yang disarankan untuk melakukan fine-tuning model dasar berikut:
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 prediksi model menyimpang dari ideal
prediksi dalam contoh pelatihan setelah setiap epoch. Idealnya, Anda perlu menghentikan
di titik terendah dalam kurva, tepat sebelum data itu stabil. Misalnya,
grafik di bawah ini menunjukkan dataran tinggi kurva kerugian sekitar epoch 4-6 yang berarti
Anda dapat menetapkan parameter Epoch
ke 4 dan tetap mendapatkan performa yang sama.
Memeriksa status tugas tuning
Anda dapat memeriksa status tugas tuning Anda di Google AI Studio di bagian
Tab My Library atau menggunakan properti metadata
dari model yang disesuaikan di
Gemini API.
Memecahkan masalah error
Bagian ini berisi tips tentang cara mengatasi error yang mungkin Anda alami saat membuat model yang di-tuning.
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 konfigurasi pengguna
autentikasi.
Untuk mengonfigurasi kredensial OAuth untuk Python, lihat 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 Anda membatalkan karena Anda ingin menghentikan pelatihan pada epoch sebelumnya, Anda harus membuat penyesuaian baru dan menyetel epoch ke nilai yang lebih rendah.
Langkah berikutnya
- Pelajari tentang praktik terbaik responsible AI.
- Mulai menggunakan panduan memulai yang lebih baik dengan Python atau menyesuaikan panduan memulai dengan cURL.