Penyesuaian video

Halaman ini memberikan prasyarat dan petunjuk mendetail untuk menyesuaikan Gemini pada data video menggunakan supervised learning.

Kasus penggunaan

Dengan fine-tuning, Anda dapat menyesuaikan model Gemini dasar untuk tugas khusus. Berikut beberapa kasus penggunaan video:

  • Ringkasan video otomatis: Menyesuaikan LLM untuk menghasilkan ringkasan video panjang yang ringkas dan koheren, yang menangkap tema, peristiwa, dan narasi utama. Hal ini berguna untuk penemuan konten, pengarsipan, dan peninjauan cepat.

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

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

  • Pemberian teks dan subtitel video: Meskipun sudah menjadi aplikasi umum, penyesuaian dapat meningkatkan akurasi, kelancaran, dan pemahaman konteks dari teks dan subtitel yang dibuat secara otomatis, termasuk deskripsi isyarat nonverbal.

Batasan

  • Ukuran file video maksimum: 100 MB. Kapasitas ini mungkin tidak cukup untuk file video berukuran besar. Beberapa solusi yang direkomendasikan adalah sebagai berikut:
    • Jika ada sangat sedikit file besar, hapus file tersebut dari file JSONL.
    • Jika ada banyak file besar dalam set data Anda dan tidak dapat diabaikan, kurangi resolusi visual file. Hal ini dapat mengganggu performa.
    • Potong video untuk membatasi ukuran file menjadi 100 MB dan gunakan video yang dipotong untuk penyesuaian. Pastikan untuk mengubah anotasi stempel waktu yang sesuai dengan video asli ke linimasa video baru (yang dipotong).
  • Durasi video maksimum per contoh: Batasi 1 video per contoh. Waktunya dapat berupa 5 menit dengan MEDIA_RESOLUTION_HIGH atau MEDIA_RESOLUTION_MEDIUM dan 20 menit dengan MEDIA_RESOLUTION_LOW.
  • Contoh yang dihapus: Jika contoh berisi video yang lebih panjang dari durasi maksimum yang didukung, contoh tersebut akan dihapus dari set data. Contoh yang dihapus tidak akan ditagih atau digunakan untuk pelatihan. Jika lebih dari 10% set data dihapus, tugas akan gagal dengan pesan error sebelum pelatihan dimulai.
  • Menggabungkan 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. URI 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. Berikut ini penjelasan jumlah token untuk model yang didukung:

  • Gemini 2.5:

    • MEDIA_RESOLUTION_LOW: 64 token per frame

    • MEDIA_RESOLUTION_MEDIUM dan MEDIA_RESOLUTION_HIGH : 256 token per frame

    Penyesuaian model dengan MEDIA_RESOLUTION_LOW kira-kira 4 kali lebih cepat daripada yang disesuaikan dengan MEDIA_RESOLUTION_MEDIUM atau MEDIA_RESOLUTION_HIGH dengan peningkatan performa minimal.

  • Gemini 3:

    Jumlah token sama dengan model dasar. Untuk mengetahui informasi selengkapnya, lihat Resolusi media.

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 umum, 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"
  }
}

(Khusus model Gemini 3 dan yang lebih baru) Mulai model Gemini 3, Anda juga dapat menetapkan resolusi media per masing-masing media Part. Dengan begitu, Anda dapat menggabungkan resolusi dalam set data (misalnya, dengan menetapkan MEDIA_RESOLUTION_HIGH untuk satu item dan MEDIA_RESOLUTION_LOW untuk item lainnya). Untuk mengetahui informasi selengkapnya tentang resolusi tingkat bagian dan jumlah token yang sesuai, lihat Resolusi media.

Setelan resolusi media tingkat Part lebih diutamakan daripada setelan global.

Berikut adalah contoh set data yang menetapkan resolusi media di tingkat Part dan global:

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "fileData": {
            "fileUri": "gs://<path to the mp4 video file>",
            "mimeType": "video/mp4"
          }
        },
        {
          "fileData": {
            "fileUri": "gs://<path to the mp4 video file>",
            "mimeType": "video/mp4"
          },
          "mediaResolution": {
            "level": "MEDIA_RESOLUTION_HIGH"
          }
        },
        {
          "text": "Describe these videos in detail."
        }
      ]
    },
    {
      "role": "model",
      "parts": [
        {
          "text": "Video 1 is low resolution while video 2 is sharp and clear"
        }
      ]
    }
  ],
  "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