Menyiapkan data fine-tuning yang diawasi untuk model Gemini

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

Tentang set data penyesuaian yang diawasi

Set data penyesuaian yang diawasi digunakan untuk menyesuaikan model terlatih ke tugas atau domain tertentu. Data input harus mirip dengan data yang diharapkan model temui dalam penggunaan di dunia nyata. Label output harus mewakili jawaban atau hasil yang benar untuk setiap input.

Set data pelatihan

Untuk menyesuaikan model, Anda harus menyediakan 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 kuantitasnya.

Batasan:

  • Token input dan output maksimum per contoh: 32.000
  • Ukuran file maksimum set data pelatihan: Hingga 1 GB untuk JSONL.

Set data validasi

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

Batasan:

  • Token input dan output maksimum per contoh: 32.000
  • Jumlah maksimum contoh dalam set data validasi: 256
  • Ukuran file maksimum set data pelatihan: Hingga 1 GB untuk JSONL.

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-1.5-pro dan gemini-1.5-flash

{
  "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 satu giliran, ini adalah satu instance. Untuk kueri multi-giliran, ini adalah kolom berulang yang berisi histori percakapan dan permintaan terbaru.

systemInstruction

Opsional: Content

Tersedia untuk gemini-1.5-flash dan gemini-1.5-pro.

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

String text dihitung dalam batas token.

Kolom role dari systemInstruction diabaikan dan tidak memengaruhi performa model.

Daftar Isi

Jenis data terstruktur dasar yang berisi konten multibagian dari pesan.

Class ini terdiri dari dua properti utama: role dan parts. Properti role menunjukkan individu yang memproduksi konten, sedangkan properti parts berisi beberapa elemen, yang masing-masing mewakili 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: Hal ini menunjukkan bahwa pesan dihasilkan oleh model.

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

Untuk percakapan non-multi-giliran, 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 batas 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 multibagian.

Parameter

text

Opsional: string

Dialog teks atau cuplikan kode.

fileData

Opsional: fileData

Data yang disimpan dalam file.

Contoh set data untuk Gemini 1.0 Pro

Setiap contoh percakapan dalam set data penyesuaian terdiri dari kolom pesan yang diperlukan.

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 terjadi pada elemen pertama daftar pesan. Peran user atau model diperlukan dan dapat diulang secara bergantian.

Kolom content adalah content pesan.

Untuk setiap contoh, panjang token maksimum untuk gabungan context dan messages adalah 32.768 token. Selain itu, setiap kolom konten 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 project Google 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 memiliki set data pelatihan dan melatih model, saatnya untuk mendesain perintah. Penting untuk mengikuti praktik terbaik desain perintah dalam set data pelatihan Anda untuk memberikan deskripsi mendetail tentang tugas yang akan dilakukan dan tampilan output.

Langkah selanjutnya