Penyesuaian video

Halaman ini memberikan prasyarat dan petunjuk mendetail untuk meningkatkan kualitas Gemini pada data video menggunakan pembelajaran dengan pengawasan.

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 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 olahraga.

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

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

Batasan

  • Ukuran file video maksimum: 100 MB. Hal ini mungkin tidak memadai untuk file video berukuran besar. Beberapa solusi yang direkomendasikan adalah sebagai berikut:
    • Jika ada sedikit sekali file berukuran 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 menjadi 100 MB dan gunakan video yang dikelompokkan untuk penyesuaian. Pastikan untuk mengubah anotasi stempel waktu yang sesuai dengan video asli ke linimasa video baru (dibagi menjadi beberapa bagian).
  • 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 lama dari durasi maksimum yang didukung, contoh tersebut akan 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 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. URL 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.

Saat segmen video digunakan untuk pelatihan dan validasi, segmen video akan berada di kolom videoMetadata. Selama penyesuaian, titik data ini didekode agar 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