影片調整

本頁面提供先決條件和詳細操作說明,說明如何使用監督式學習,根據影片資料微調 Gemini。

支援的模型

下列 Gemini 模型支援影片微調:

  • Gemini 2.5 Flash

用途

微調功能可讓您調整基礎 Gemini 模型,以執行專業工作。 以下是一些影片用途:

  • 自動生成影片摘要:調整大型語言模型,為長片生成簡潔連貫的摘要,擷取主要主題、事件和敘事內容。這項功能有助於探索內容、封存內容,以及快速查看內容。

  • 詳細事件辨識和定位:微調可讓 LLM 更準確地辨識和找出影片時間軸中的特定動作、事件或物件。例如,在行銷影片中找出特定產品的所有例項,或在體育賽事影片中找出特定動作。

  • 內容審核:透過專業微調,LLM 就能更準確地偵測影片中的敏感、不當或違規內容,而不只是簡單的物件偵測,還能瞭解背景資訊和細微差異。

  • 影片字幕和隱藏式輔助字幕:雖然這已是常見應用,但微調可提升自動生成字幕和隱藏式輔助字幕的準確度、流暢度和情境感知能力,包括非語言提示的描述。

限制

  • 影片檔案大小上限:100 MB。 這可能不足以處理大型影片檔案。以下是建議的替代方案:
    • 如果大型檔案很少,請從 JSONL 檔案中捨棄這些檔案。
    • 如果資料集中有許多大型檔案,且無法忽略,請降低檔案的影像解析度。這可能會對效能造成負面影響。
    • 將影片分塊,將檔案大小限制在 100MB 以內,並使用分塊影片進行調整。請務必將與原始影片對應的時間戳記註解,變更為新 (分塊) 影片的時間軸。
  • 每個範例的影片長度上限:5 分鐘 (MEDIA_RESOLUTION_MEDIUM) 和 20 分鐘 (MEDIA_RESOLUTION_LOW)。
  • 捨棄的範例:如果範例包含的影片長度超過支援上限,該範例就會從資料集中捨棄。系統不會針對捨棄的範例收費,也不會用於訓練。 如果資料集捨棄的資料超過 10%,工作就會在訓練開始前失敗,並顯示錯誤訊息。
  • 不支援混合使用不同媒體解析度:整個訓練資料集中每個範例的 mediaResolution 值必須一致。用於訓練和驗證的 JSONL 檔案中,所有行的 mediaResolution 值應相同。

資料集格式

fileUri 欄位會指定資料集位置。可以是 Cloud Storage bucket 中檔案的 URI,也可以是可公開存取的 HTTP 或 HTTPS 網址。

mediaResolution 欄位用於指定輸入影片的每影格權杖數,值如下:

  • MEDIA_RESOLUTION_LOW:每個影格 64 個權杖
  • MEDIA_RESOLUTION_MEDIUM:每個影格 256 個權杖

使用 MEDIA_RESOLUTION_LOW 調整模型的速度,大約是使用 MEDIA_RESOLUTION_MEDIUM 調整模型的 4 倍,但效能提升幅度不大。

如果影片片段用於訓練和驗證,該片段會位於 videoMetadata 欄位。在調整期間,系統會解碼這個資料點,從時間戳記 startOffset (開始偏移,以秒為單位) 開始,直到 endOffset 為止,其中包含從指定影片檔案擷取的片段資訊。

如要查看一般格式範例,請參閱「Gemini 的資料集範例」。

以下各節將提供影片資料集格式範例。

JSON 結構定義範例,適用於使用完整影片進行訓練和驗證的情況

這個結構定義會以單行形式新增至 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"
  }
}

JSON 結構定義範例,適用於訓練和驗證時使用影片片段的情況

這個結構定義會以單行形式新增至 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"
  }
}

後續步驟