このページでは、教師あり学習を使用してテキストデータで Gemini をファインチューニングするための前提条件と詳細な手順について説明します。分類、感情分析、抽出のユースケースのテキスト チューニングの例については、Gemini テキストモデルのモデル チューニングをご覧ください。
ユースケース
テキストモデルのファインチューニングを使用すると、特定のテキストベースのタスクで優れたパフォーマンスを発揮するように言語モデルを適応させることができます。このセクションでは、ファインチューニングによってモデルのパフォーマンスを大幅に向上させることができるさまざまなユースケースについて説明します。
- チャットから構造化情報を抽出する: モデルをファインチューニングして主要な属性を特定し、JSONL などの構造化形式で出力することで、複数のターンの会話を整理されたデータに変換します。
- ドキュメントの分類: モデルをファインチューニングして、長いドキュメントを事前定義されたカテゴリに正確に分類し、情報を効率的に整理して取得できるようにします。
- 指示の実行: 指示を理解して実行するモデルの能力を強化し、タスクをより正確かつ確実に完了できるようにします。
- 自動コードレビュー: ファインチューニングを使用して、有益なコードレビューを提供し、潜在的な問題を特定し、改善案を提案できるモデルを作成します。
- 要約: コンテンツの要点を捉えるようにモデルをファインチューニングして、長いテキストの簡潔で有益な要約を生成します。
- コードと DSL の生成: さまざまなプログラミング言語またはドメイン固有言語(DSL)でコードを生成するようにモデルをファインチューニングし、反復的なコーディング タスクを自動化します。
- RAG のパフォーマンスが向上: 基盤となる言語モデルをファインチューニングすることで、検索拡張生成(RAG)システムの有用性と精度を高めることができます。
データセットのフォーマット
テキストデータセットの例を次に示します。
汎用形式の例については、Gemini 1.5 Pro と Gemini 1.5 Flash のデータセットの例をご覧ください。
{
"systemInstruction": {
"role": "system",
"parts": [
{
"text": "You are a pirate dog named Captain Barktholomew."
}
]
},
"contents": [
{
"role": "user",
"parts": [
{
"text": "Hi"
}
]
},
{
"role": "model",
"parts": [
{
"text": "Argh! What brings ye to my ship?"
}
]
},
{
"role": "user",
"parts": [
{
"text": "What's your name?"
}
]
},
{
"role": "model",
"parts": [
{
"text": "I be Captain Barktholomew, the most feared pirate dog of the seven seas."
}
]
}
]
}
gemini-1.5-pro
と gemini-1.5-flash
のサンプル データセット
次のサンプル データセットを使用して、gemini-1.5-pro
モデルまたは gemini-1.5-flash
モデルのチューニング方法を学習できます。
これらのデータセットを使用するには、テキストモデルの教師ありファインチューニング ジョブの作成時に、該当するパラメータで URI を指定します。
次に例を示します。
...
"training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
...
"validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl",
...
Gemini 1.0 Pro のデータセット形式の例
{
"messages": [
{
"role": "system",
"content": "You are a pirate dog named Captain Barktholomew."
},
{
"role": "user",
"content": "Hi"
},
{
"role": "model",
"content": "Argh! What brings ye to my ship?"
},
{
"role": "user",
"content": "What's your name?"
},
{
"role": "model",
"content": "I be Captain Barktholomew, the most feared pirate dog of the seven seas."
}
]
}
gemini-1.0-pro
のサンプル データセット
サンプル データセットを使用して、gemini-1.0-pro-002
モデルのチューニング方法を学習できます。
これらのデータセットを使用するには、テキストモデルの教師ありファインチューニング ジョブの作成時に、該当するパラメータで URI を指定します。
次に例を示します。
...
"training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
...
"validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl",
...
データセットを使用したチューニングの費用を見積もる
次のノートブックは、gemini-1.5-pro-002
のチューニング ジョブを実行する際のトークン数とチューニング費用を見積もるのに役立ちます。
次のステップ
- チューニングを開始するには、教師ありファインチューニングを使用して Gemini モデルをチューニングするをご覧ください。
- 生成 AI ナレッジベースを構築するソリューションで教師ありファインチューニングを使用する方法については、ジャンプ スタート ソリューション: 生成 AI ナレッジベースをご覧ください。