Penyesuaian video

Halaman ini memberikan prasyarat dan petunjuk mendetail untuk menyesuaikan Gemini pada data video menggunakan pembelajaran terawasi.

Kasus penggunaan

Dengan penyesuaian, Anda dapat mengadaptasi model Gemini dasar untuk tugas khusus. Berikut beberapa kasus penggunaan video:

  • Ringkasan video otomatis: Menyesuaikan LLM untuk membuat ringkasan yang ringkas dan koheren dari video panjang, yang mencakup tema, peristiwa, dan narasi utama. Hal ini berguna untuk penemuan konten, pengarsipan, dan ulasan cepat.

  • Pengenalan dan pelokalan peristiwa yang mendetail: Penyesuaian memungkinkan LLM mengidentifikasi dan menunjukkan tindakan, peristiwa, atau objek tertentu dalam linimasa video dengan akurasi yang lebih tinggi. Misalnya, mengidentifikasi semua kemunculan produk tertentu dalam video pemasaran atau tindakan tertentu dalam rekaman pertandingan olahraga.

  • Moderasi konten: Penyesuaian khusus dapat meningkatkan kemampuan LLM untuk mendeteksi konten sensitif, tidak pantas, atau melanggar kebijakan dalam video, sehingga tidak hanya mendeteksi objek sederhana, tetapi juga memahami konteks dan nuansa.

  • Teks dan subtitel video: Meskipun sudah menjadi aplikasi umum, penyesuaian dapat meningkatkan akurasi, kefasihan, dan kesadaran konteks dari teks dan subtitel yang dibuat otomatis, termasuk deskripsi isyarat nonverbal.

Batasan

  • Ukuran file video maksimum: 100 MB. Hal ini mungkin tidak cukup untuk file video berukuran besar. Berikut beberapa solusi sementara yang direkomendasikan:
    • Jika hanya ada sedikit file besar, hapus file tersebut agar tidak disertakan dalam file JSONL.
    • Jika ada banyak file besar dalam set data Anda dan tidak dapat diabaikan, kurangi resolusi visual file. Hal ini dapat mengganggu performa.
    • Bagi video menjadi beberapa bagian untuk membatasi ukuran file hingga 100 MB dan gunakan video yang dibagi-bagi tersebut untuk penyesuaian. Pastikan untuk mengubah anotasi stempel waktu yang sesuai dengan video asli ke linimasa video baru (yang dibagi-bagi).
  • Durasi video maksimum per contoh: 5 menit dengan MEDIA_RESOLUTION_MEDIUM dan 20 menit dengan MEDIA_RESOLUTION_LOW.
  • Contoh yang dihapus: Jika contoh berisi video yang lebih panjang dari panjang maksimum yang didukung, contoh tersebut dihapus dari set data. Contoh yang dihapus tidak ditagih atau digunakan untuk pelatihan. Jika lebih dari 10% set data dihapus, tugas akan gagal dengan pesan error sebelum dimulainya pelatihan.
  • Resolusi media yang berbeda tidak didukung: Nilai mediaResolution untuk setiap contoh di seluruh set data pelatihan harus konsisten. Semua baris dalam file JSONL yang digunakan untuk pelatihan dan validasi harus memiliki nilai mediaResolution yang sama.

Format set data

Kolom fileUri menentukan lokasi set data Anda. Nilai ini dapat berupa URI untuk file di bucket Cloud Storage, atau dapat berupa URL HTTP atau HTTPS yang tersedia secara publik.

Kolom mediaResolution digunakan untuk menentukan jumlah token per frame untuk video input, sebagai salah satu nilai berikut:

  • MEDIA_RESOLUTION_LOW: 64 token per frame
  • MEDIA_RESOLUTION_MEDIUM: 256 token per frame

Penyesuaian model dengan MEDIA_RESOLUTION_LOW kira-kira 4 kali lebih cepat daripada penyesuaian dengan MEDIA_RESOLUTION_MEDIUM dengan peningkatan performa minimal.

Jika segmen video digunakan untuk pelatihan dan validasi, segmen video berada di kolom videoMetadata. Selama penyesuaian, titik data ini didekode untuk berisi informasi dari segmen yang diekstrak dari file video yang ditentukan, mulai dari stempel waktu startOffset (offset awal, dalam detik) hingga endOffset.

Untuk melihat contoh format generik, lihat Contoh set data untuk Gemini.

Bagian berikut menyajikan contoh format set data video.

Contoh skema JSON untuk kasus saat video lengkap digunakan untuk pelatihan dan validasi

Skema ini ditambahkan sebagai satu baris dalam file JSONL.

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "fileData": {
            "fileUri": "gs://<path to the mp4 video file>",
            "mimeType": "video/mp4"
          },
        },
        {
          "text": "
          You are a video analysis expert. Detect which animal appears in the
          video.The video can only have one of the following animals: dog, cat,
          rabbit.\n Output Format:\n Generate output in the following JSON
          format:\n
          [{\n
            \"animal_name\": \"<CATEGORY>\",\n
          }]\n"
        }
      ]
    },
    {
      "role": "model",
      "parts": [
        {
          "text": "```json\n[{\"animal_name\": \"dog\"}]\n```"
        }
       ]
    },
  ],
  "generationConfig": {
    "mediaResolution": "MEDIA_RESOLUTION_LOW"
  }
}

Contoh skema JSON untuk kasus saat segmen video digunakan untuk pelatihan dan validasi

Skema ini ditambahkan sebagai satu baris dalam file JSONL.

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "fileData": {
            "fileUri": "gs://<path to the mp4 video file>",
            "mimeType": "video/mp4"
          },
         "videoMetadata": {
            "startOffset": "5s",
            "endOffset": "25s"
          }
        },
        {
          "text": "
          You are a video analysis expert. Detect which animal appears in the
          video.The video can only have one of the following animals: dog, cat,
          rabbit.\n Output Format:\n Generate output in the following JSON
          format:\n
          [{\n
            \"animal_name\": \"<CATEGORY>\",\n
          }]\n"
       }
      ]
   },
   {
      "role": "model",
      "parts": [
        {
          "text": "```json\n[{\"animal_name\": \"dog\"}]\n```"
        }
      ]
    },
  ],
"generationConfig": {
     "mediaResolution": "MEDIA_RESOLUTION_LOW"
  }
}

Langkah berikutnya