Menyiapkan data fine-tuning yang diawasi untuk model Gemini

Dokumen ini menjelaskan cara menentukan set data penyempurnaan yang diawasi untuk model Gemini. Anda dapat menyesuaikan jenis data teks, gambar, audio, dan dokumen.

Tentang set data penyesuaian yang diawasi

Set data fine-tuning yang diawasi digunakan untuk menyempurnakan model terlatih ke tugas atau domain tertentu. Data input harus serupa dengan data yang Anda harapkan akan ditemui model dalam penggunaan di dunia nyata. Label output harus merepresentasikan jawaban atau hasil yang benar untuk setiap input.

Set data pelatihan

Untuk menyetel model, Anda memberikan set data pelatihan. Untuk hasil terbaik, sebaiknya Anda memulai dengan 100 contoh. Anda dapat menskalakan hingga ribuan contoh jika diperlukan. Kualitas set data jauh lebih penting daripada kuantitas.

Set data validasi

Sebaiknya Anda memberikan set data validasi. Set data validasi membantu Anda mengukur efektivitas tugas penyesuaian.

Batasan

Untuk mengetahui batasan pada set data, seperti token input dan output maksimum, ukuran set data validasi maksimum, dan ukuran file set data pelatihan maksimum, lihat Tentang penyesuaian terawasi untuk model Gemini.

Format set data

Set data penyesuaian model Anda harus dalam format JSON Lines (JSONL), dengan setiap baris berisi satu contoh penyesuaian. Sebelum menyesuaikan model, Anda harus mengupload set data ke bucket Cloud Storage.

Contoh set data untuk Gemini

{
  "systemInstruction": {
    "role": string,
    "parts": [
      {
        "text": string
      }
    ]
  },
  "contents": [
    {
      "role": string,
      "parts": [
        {
          // Union field data can be only one of the following:
          "text": string,
          "fileData": {
            "mimeType": string,
            "fileUri": string
          }
        }
      ]
    }
  ]
}

Parameter

Contoh ini berisi data dengan parameter berikut:

Parameter

contents

Wajib: Content

Konten percakapan saat ini dengan model.

Untuk kueri sekali putaran, ini adalah satu instance. Untuk kueri multi-turn, ini adalah kolom berulang yang berisi histori percakapan dan permintaan terbaru.

systemInstruction

Opsional: Content

Lihat Model yang didukung.

Petunjuk untuk model agar mengarahkannya ke performa yang lebih baik. Misalnya, "Jawab sesingkat mungkin" atau "Jangan gunakan istilah teknis dalam respons Anda".

String text dihitung dalam batas token.

Kolom role di systemInstruction diabaikan dan tidak memengaruhi performa model.

tools

Opsional. Potongan kode yang memungkinkan sistem berinteraksi dengan sistem eksternal untuk melakukan tindakan, atau serangkaian tindakan, di luar pengetahuan dan cakupan model. Lihat Pemanggilan fungsi.

Daftar Isi

Jenis data terstruktur dasar yang berisi konten multi-bagian dari pesan.

Class ini terdiri dari dua properti utama: role dan parts. Properti role menunjukkan individu yang membuat konten, sedangkan properti parts berisi beberapa elemen, yang masing-masing merepresentasikan segmen data dalam pesan.

Parameter

role

Opsional: string

Identitas entitas yang membuat pesan. Nilai-nilai berikut didukung:

  • user: Ini menunjukkan bahwa pesan dikirim oleh orang sungguhan, biasanya pesan buatan pengguna.
  • model: Ini menunjukkan bahwa pesan dibuat oleh model.

Nilai model digunakan untuk menyisipkan pesan dari model ke dalam percakapan selama percakapan multi-giliran.

Untuk percakapan non-multi-turn, kolom ini dapat dikosongkan atau tidak ditetapkan.

parts

part

Daftar bagian yang diurutkan yang membentuk satu pesan. Bagian yang berbeda mungkin memiliki jenis MIME IANA yang berbeda.

Untuk mengetahui batas pada input, seperti jumlah maksimum token atau jumlah gambar, lihat spesifikasi model di halaman Model Google.

Untuk menghitung jumlah token dalam permintaan Anda, lihat Mendapatkan jumlah token.

Bagian

Jenis data yang berisi media yang merupakan bagian dari pesan Content multi-bagian.

Parameter

text

Opsional: string

Perintah teks atau cuplikan kode.

fileData

Opsional: fileData

Data yang disimpan dalam file.

functionCall

Opsional: FunctionCall.

Objek ini berisi string yang merepresentasikan kolom FunctionDeclaration.name dan objek JSON terstruktur yang berisi parameter apa pun untuk panggilan fungsi yang diprediksi oleh model.

Lihat Pemanggilan fungsi.

functionResponse

Opsional: FunctionResponse.

Output hasil FunctionCall yang berisi string yang merepresentasikan kolom FunctionDeclaration.name dan objek JSON terstruktur yang berisi output apa pun dari panggilan fungsi. Bagian ini digunakan sebagai konteks untuk model.

Lihat Pemanggilan fungsi.

Contoh set data

Setiap contoh percakapan dalam set data penyesuaian terdiri dari kolom messages wajib dan kolom context opsional.

Kolom messages terdiri dari array pasangan konten peran:

  • Kolom role mengacu pada penulis pesan dan ditetapkan ke system, user, atau model. Peran system bersifat opsional dan hanya dapat muncul di elemen pertama dalam daftar pesan. Peran user dan model diperlukan dan dapat berulang secara bergantian.
  • Kolom content adalah konten pesan.

Untuk setiap contoh, panjang token maksimum untuk gabungan context dan messages adalah 131.072 token. Selain itu, setiap kolom content untuk kolom model tidak boleh melebihi 8.192 token.

{
  "messages": [
    {
      "role": string,
      "content": string
    }
  ]
}

Menjaga konsistensi dengan data produksi

Contoh dalam set data harus sesuai dengan traffic produksi yang Anda harapkan. Jika set data Anda berisi pemformatan, 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 konteks, model tidak akan mengenali pola, meskipun pertanyaan yang sama ada dalam contoh dalam set data.

Mengupload set data penyesuaian ke Cloud Storage

Untuk menjalankan tugas penyesuaian, Anda perlu mengupload satu atau beberapa set data ke bucket Cloud Storage. Anda dapat membuat bucket Cloud Storage baru atau menggunakan bucket yang sudah ada untuk menyimpan file set data. Region bucket tidak penting, tetapi sebaiknya Anda menggunakan bucket yang berada di projectGoogle Cloud yang sama tempat Anda berencana untuk menyesuaikan model.

Setelah bucket siap, upload file set data Anda ke bucket.

Mengikuti praktik terbaik desain perintah

Setelah Anda memiliki set data pelatihan dan melatih model, saatnya merancang perintah. Penting untuk mengikuti praktik terbaik desain perintah dalam set data pelatihan Anda untuk memberikan deskripsi mendetail tentang tugas yang akan dilakukan dan tampilan outputnya.

Langkah berikutnya