Menyiapkan data fine-tuning yang diawasi untuk model Gemini

Dokumen ini menjelaskan cara menetapkan set data fine-tuning yang diawasi untuk model Gemini model transformer. Anda dapat menyesuaikan jenis data teks, gambar, audio, dan dokumen.

Tentang set data fine-tuning yang diawasi

Set data fine-tuning yang diawasi digunakan untuk melakukan fine-tuning model yang telah dilatih tugas atau domain tertentu. Data input harus mirip dengan data yang diharapkan model temui dalam penggunaan di dunia nyata. Label output harus merepresentasikan jawaban atau hasil yang benar untuk setiap input.

Set data pelatihan

Untuk men-tuning model, Anda menyediakan set data pelatihan. Untuk hasil terbaik, sebaiknya yang dimulai dengan 100 contoh. Anda dapat meningkatkan skala hingga ribuan contoh jika diperlukan. Kualitas {i>dataset<i} 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 berikan set data validasi. Set data validasi membantu Anda mengukur efektivitas tugas tuning.

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 berisi data dengan parameter berikut:

Parameter

contents

Wajib: Content

Konten percakapan saat ini dengan model.

Untuk kueri satu putaran, ini adalah instance tunggal. 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 multi-bagian pesan.

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

Parameter

role

Opsional: string

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

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

Nilai model digunakan untuk menyisipkan pesan dari model ke dalam percakapan selama percakapan bolak-balik.

Untuk percakapan non-giliran, kolom ini dapat dibiarkan kosong atau tidak disetel.

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.

Suku Cadang

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 muncul di elemen pertama dari 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 memiliki project Google Cloud tempat Anda berencana untuk menyesuaikan model.

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

Mengikuti praktik terbaik desain prompt

Setelah Anda memiliki set data pelatihan dan telah melatih model, saatnya untuk mendesain prompt. 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