このページでは、 Google Cloud コンソールで Gemini モデルの強化学習ファインチューニングを行うためのエンドツーエンドのワークフローについて説明します。チューニング ジョブの作成、ステータスの確認、チューニング済みモデルのエンドポイントの取得、それに対する推論の実行を行います。Agent Platform API を使用してこれらのタスクを完了するには、API クイックスタートをご覧ください。
始める前に、強化学習のファインチューニングについてで、機能の概要、サポートされているモデル、サポートされているリージョンを確認してください。
強化学習ファインチューニング ジョブを作成する
Google Cloud コンソールを使用して強化学習ファインチューニング ジョブを作成するには、次の操作を行います。
Google Cloud コンソールで、[モデル] > [チューニング] ページに移動します。
[チューニング済みモデルを作成] をクリックします。
[モデルの詳細] セクションで、次のように構成します。
- [チューニング方法] で、[強化学習ファイン チューニング] を選択します。
- [チューニング済みモデル名] フィールドに、チューニング済みモデルの名前を入力します(例:
my-rl-tuned-model)。 - [ベースモデル] で、[基盤モデルをチューニングする] を選択します。
- [ベースモデル] プルダウン リストで、チューニングするモデル(
gemini-3.5-flashなど)を選択します。 - [リージョン] プルダウン リストで、チューニング ジョブが実行されるリージョン(
us-central1 (Iowa)など)を選択します。チューニングされたモデルは、usマルチリージョン エンドポイントから提供されます。サポートされているチューニング リージョンとサービング リージョンの完全なリストについては、サポートされているモデルとリージョンのセクションをご覧ください。 - 省略可: [詳細オプション] を開いて、ハイパーパラメータをカスタマイズします。
- エポック数: トレーニング エポックの数(
15など)。 - 学習率の乗数: 学習率をスケーリングする乗数(例:
1.0)。 - アダプタのサイズ: パラメータ効率チューニングのアダプタのサイズ(
16など)。 - プロンプトあたりのサンプル数: トレーニング中にモデルがプロンプトごとに生成する候補レスポンスの数(
16など)。 - 思考レベル: 推論モデルの思考レベル(例:
HIGH)。 - バッチサイズ: バッチあたりのトレーニング サンプルの数(
32など)。 - チェックポイント間隔: 中間チェックポイントが保存される頻度(ステップ単位)(例:
5)。 - 最大出力トークン: サンプルごとに生成される出力トークンの最大数(
32768など)。 - 評価間隔: 検証データセットに対して評価が実行される頻度(ステップ単位)(例:
5)。
- エポック数: トレーニング エポックの数(
- [続行] をクリックします。
[報酬の構成] セクションで、トレーニング中にモデルのレスポンスをスコアリングする 1 つ以上の報酬関数を構成します。
- [報酬名] フィールドに、報酬関数の一意の名前(
my_reward_function_nameなど)を入力します。モニタリング ビューで出力される指標には、この名前が接頭辞として付加されます。 - [報酬タイプ] プルダウン リストで、スコアラーのタイプを選択します。
- 文字列一致の報酬: 完全一致または正規表現を使用して、生成されたテキストを参照と照合します。
- LLM ベースの報酬: Gemini モデルを自動評価ツールとして使用し、評価プロンプトに基づいて回答をスコア付けします。
- Python 関数ベースの報酬: 安全なサンドボックスでカスタム Python コードを実行して、回答を評価します。
- Cloud Run を使用した完全にカスタマイズ可能な報酬: Cloud Run でホストされている外部 HTTP エンドポイントを呼び出して、レスポンスを評価します。
選択した報酬タイプの設定を構成します。たとえば、Cloud Run の特典の場合:
- [Cloud Run URI] フィールドに、デプロイされたサービスの HTTPS URI(例:
https://my.cloud.run.uri)を入力します。 - [解析タイプ] フィールドで、[
IDENTITY] を選択します。
または、文字列一致の報酬の場合:
- [解析タイプ] フィールドで、
REGEX_EXTRACTまたはIDENTITYを選択します。REGEX_EXTRACTを選択した場合は、[正規表現の抽出式] に正規表現を入力します(例:\text{(.*)})。 - [不正解の報酬] フィールドに、不正解のペナルティ(例:
-1)を入力します。 - [正解の報酬] フィールドに、正解のスコアを入力します(例:
1)。 - [文字列一致式の型] で、[文字列一致] または [JSON 一致] を選択します。
- [一致オペレーション] プルダウン リストで、一致ロジック(完全一致など)を選択します。
- [式] フィールドに、参照式(
references.referenceなど)を入力します。
- [Cloud Run URI] フィールドに、デプロイされたサービスの HTTPS URI(例:
[報酬の重み] フィールドに、この報酬関数の相対的な重み(
1など)を入力します。[完了] をクリックします。
省略可: 複合報酬を定義するには、[+ 別の報酬を追加] をクリックして、追加の報酬関数を構成します。最大 16 個の報酬関数を追加し、それぞれに相対的な重みを割り当てることができます。
[続行] をクリックします。
- [報酬名] フィールドに、報酬関数の一意の名前(
[テスト報酬(省略可)] セクションで、チューニング ジョブを開始する前に報酬構成を検証します。
- [トレーニングの例] フィールドに、
contentsとreferencesを含む JSON オブジェクトのサンプルを入力します。 - [モデル レスポンスのサンプル] フィールドに候補のレスポンスを入力するか、[トレーニング例から生成] をクリックして、ベースモデルを使用してレスポンスのサンプルを生成します。
- [Test] をクリックします。
- 評価が成功したことを確認し、計算されたスコアを確認します。複合報酬を使用している場合は、[報酬の個別情報を表示] をクリックして、報酬ごとのスコアの内訳を確認します。
- [続行] をクリックします。
- [トレーニングの例] フィールドに、
[チューニング データセット] で、Cloud Storage に保存されているデータセット ファイルを指定します。
- [トレーニング データセット] フィールドに、トレーニング データセットの JSONL ファイルの Cloud Storage URI(例:
gs://path/to/my/training_dataset.jsonl)を入力します。 - [検証データセット] フィールドに、検証データセット JSONL ファイルの Cloud Storage URI(
gs://path/to/my/eval_dataset.jsonlなど)を入力します。 - [チューニングを開始] をクリックします。
- [トレーニング データセット] フィールドに、トレーニング データセットの JSONL ファイルの Cloud Storage URI(例:
強化学習ファインチューニング ジョブのステータスを確認する
[チューニングを開始] をクリックすると、コンソールに [モデル] > [チューニング] ページが表示されます。チューニング ジョブの表には、新しく作成したジョブがリストの上部に表示され、次の詳細が表示されます。
- モデル名: チューニング済みモデルに指定した表示名。
- ステータス: チューニング ジョブの現在の状態(保留中、実行中、成功など)。
- メソッド:
Reinforcement Learning。 - ベースモデル: 基盤モデルまたは事前チューニング済みモデル。
- リージョン: チューニング ジョブが実行されているロケーション。
モデル名をクリックして、チューニング ジョブの詳細ページを開きます。このページには次のタブがあります。
- モニター: チューニングの進行状況とインタラクティブな指標グラフを表示します。
- チューニングの進行状況: ジョブが実行中か完了済みかが表示されます。
- 複合グラフ: 検証データセットが提供されている場合、トレーニング曲線と検証曲線(
/train_mean_rewardや/eval_mean_rewardなど)が同じグラフに一緒にプロットされます。 - 折りたたみ可能なグラフ グループ: 指標グラフは、一般的なチューニング指標(平均報酬、生成トークンの長さ、思考トークンの長さ、サンプリング レイテンシ、報酬レイテンシ)や、
${reward_name}で始まる報酬ごとの指標などのグループに整理されます。 - チェックポイント アノテーション: チューニング中に保存された中間チェックポイントは、トレーニング タイムラインに沿ってグラフに直接アノテーションが付けられます。
- フィルタバー: フィルタバーを使用して、名前で指標を検索するか、カテゴリ(
Show Category)でフィルタします。フィルタリングすると、フィルタバーはビューの上部に固定されます。 - チェックポイント テーブル: 保存された中間チェックポイントをステップ番号と指標値とともに一覧表示します。列セレクタを使用して、表示する列を選択します。
- データセット: データセットの詳細、サンプル会話、参照値を表示します。
- 詳細: ベースモデル、チューニング方法、ハイパーパラメータ、報酬構成など、ジョブ構成の概要を示します。報酬構成カードの [詳細を表示] をクリックすると、デフォルト以外のパラメータ値が表示されます。
出力される指標の一覧とその解釈方法については、指標とモニタリングのページをご覧ください。
トレーニング時間
トレーニング時間は、次の要因によって影響を受けます。
- トレーニング データセットと検証データセットのサイズ: 詳細については、強化学習ファインチューニング用のチューニング データセットをご覧ください。
- ハイパーパラメータ:
samplesPerPrompt、バッチサイズ、エポック数、学習率乗数が含まれます。詳細については、強化学習ファインチューニングのハイパーパラメータをご覧ください。
設定によっては、Gemini 強化学習ファインチューニング ジョブの実行に数時間から数日かかることがあります。
チューニング済みモデルのエンドポイントを取得する
チューニング ジョブが [成功] に達すると、モデル チェックポイントがエンドポイントにデプロイされます。デプロイされたチューニング済みモデルは、Google Cloud コンソールで直接表示して管理できます。
- チューニング ジョブの詳細ページのヘッダーで、[モデルの詳細を表示] をクリックします。[Model Registry] ページが開き、チューニング済みモデルの詳細が表示されます。
- モデルの詳細ページで、[デプロイとテスト] タブを見つけて、デプロイされたエンドポイント リソースパス(
projects/{PROJECT_ID}/locations/{LOCATION}/endpoints/{ENDPOINT_ID}形式)を表示します。 - または、チューニング ジョブの詳細ページの [モニタリング] タブで、[チェックポイント] テーブルを見つけて、中間チェックポイントを調べます。個々のチェックポイントを個別にデプロイして評価できます。
チューニング ジョブが us-central1 で実行された場合、チューニング済みモデルは us マルチリージョン エンドポイントから提供されます。
チューニング済みモデルで推論を実行する
チューニングされたモデルで推論をテストして実行するには、Google Cloud コンソールで次の操作を行います。
チューニング ジョブの詳細ページのヘッダーで、[テスト] をクリックします。
Agent Studio が開き、チューニング済みモデルが事前に選択されています。
プロンプト フィールドに、入力プロンプト(
"Why is the sky blue?"やターゲット ドメインの質問など)を入力します。[実行](または [送信])をクリックしてレスポンスを生成します。
生成された出力を確認して、モデルが目的の推論スタイル、形式、報酬目標にどの程度準拠しているかを評価します。
次のステップ
- 強化学習ファインチューニング ジョブの詳細を確認する。
- サポートされている報酬関数について確認する。
- 強化学習のハイパーパラメータを構成します。
- 指標とモニタリングを追跡する方法を確認する。
- API クイックスタートを試して、チューニング ジョブをプログラムで作成します。