テキストのチューニング

このページでは、教師あり学習を使用してテキストデータで 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-progemini-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 のチューニング ジョブを実行する際のトークン数とチューニング費用を見積もるのに役立ちます。

次のステップ