このページでは、教師あり学習を使用して動画データで Gemini をファインチューニングするための前提条件と詳細な手順について説明します。
サポートされているモデル
次の Gemini モデルは動画チューニングをサポートしています。
- Gemini 2.5 Flash
ユースケース
ファインチューニングにより、ベースの Gemini モデルを特定のタスクに適応させることができます。以下に、動画の使用例をいくつか示します。
動画の自動要約: LLM をチューニングし、長い動画の主なテーマ、イベント、ストーリーを捉えた簡潔で一貫性のある要約を生成します。コンテンツの検出、アーカイブ、迅速な確認に役立ちます。
詳細なイベント認識と位置特定: ファインチューニングにより、LLM は動画タイムライン内の特定のアクション、イベント、オブジェクトをより高い精度で識別し、特定できます。たとえば、マーケティング動画内の特定商品の出現箇所をすべて特定する、またはスポーツ映像内の特定のアクションを識別する、といったことが可能です。
コンテンツの管理: 専門的なチューニングにより、動画内のデリケートなコンテンツ、不適切なコンテンツ、ポリシー違反のコンテンツを検出する LLM の能力が向上し、単純なオブジェクト検出を超えてコンテキストとニュアンスを理解できるようになります。
動画の字幕起こしと字幕作成: すでに一般的なアプリケーションですが、非言語的なメッセージの説明など、自動生成される字幕起こしと字幕作成の精度、流暢さ、コンテキスト認識をチューニングにより向上させることが可能です。
制限事項
- 動画ファイルの最大サイズ: 100 MB。大きな動画ファイルの場合、これでは十分でないことがあります。推奨される回避策は次のとおりです。
- 大きなファイルがほとんどない場合は、それらのファイルを JSONL ファイルに含めないようにします。
- データセットに大きなファイルが多数あり、無視できない場合は、ファイルの視覚的な解像度を下げます。これによりパフォーマンスが低下する可能性があります。
- 動画をチャンク化してファイルサイズを 100 MB に制限し、チャンク化された動画をチューニングに使用します。元の動画に対応するタイムスタンプ アノテーションを、新しい(チャンク化された)動画のタイムラインに変更してください。
- 例ごとの動画の長さの上限:
MEDIA_RESOLUTION_MEDIUM
の場合は 5 分、MEDIA_RESOLUTION_LOW
の場合は 20 分。 - 削除された例: サポートされている最大長を超える動画が例に含まれている場合、その例はデータセットから削除されます。削除された例は課金されず、トレーニングにも使用されません。データセットの 10% 以上が削除されると、トレーニングの開始前にエラー メッセージが表示され、ジョブが失敗します。
- 異なるメディア解像度の混在はサポートされていません: トレーニング データセット全体の各例の
mediaResolution
の値は一貫している必要があります。トレーニングと検証に使用される JSONL ファイルのすべての行で、mediaResolution
の値が同じである必要があります。
データセットのフォーマット
fileUri
フィールドには、データセットのロケーションを指定します。Cloud Storage バケット内のファイルの URI にすることも、一般公開されている HTTP または HTTPS URL にすることもできます。
mediaResolution
フィールドは、入力動画のフレームあたりのトークン数を次のいずれかの値で指定するために使用されます。
MEDIA_RESOLUTION_LOW
: フレームあたり 64 トークンMEDIA_RESOLUTION_MEDIUM
: フレームあたり 256 トークン
MEDIA_RESOLUTION_LOW
を使用したモデル チューニングは、MEDIA_RESOLUTION_MEDIUM
を使用したチューニングよりも約 4 倍高速ですが、パフォーマンスの向上は最小限です。
動画セグメントがトレーニングと検証に使用される場合、動画セグメントは videoMetadata
フィールドにあります。チューニング中、このデータポイントは、指定された動画ファイルから抽出されたセグメントの情報を含むようにデコードされます。タイムスタンプ startOffset
(開始オフセット、秒単位)から endOffset
までです。
汎用形式の例については、Gemini のデータセットの例をご覧ください。
以降のセクションでは、動画データセットの形式の例を示します。
動画全体をトレーニングと検証に使用する場合の JSON スキーマの例
このスキーマは、JSONL ファイルの 1 行として追加されます。
{
"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 ファイルの 1 行として追加されます。
{
"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"
}
}
次のステップ
- 動画チューニングの詳細については、Vertex AI で動画を使用して Gemini 2.5 をファインチューニングする方法をご覧ください。
- Gemini の画像理解機能の詳細について、画像理解のドキュメントを確認する。
- 教師ありファインチューニングを使用して Gemini モデルをチューニングするを確認して、チューニングを開始する。
- 生成 AI ナレッジベースを構築するソリューションで教師ありファインチューニングを使用する方法について、ジャンプ スタート ソリューション: 生成 AI ナレッジベースを確認する。