Gemini モデルの強化学習ファインチューニング ジョブは、3 つの主要なビルディング ブロック(チューニング データセット、トレーニング プロセスを制御するハイパーパラメータ、各モデル レスポンスをスコアリングする 1 つ以上の報酬関数)で構成されます。このサービスは、モニタリング用の指標とジョブステータスも公開します。
チューニング ジョブの作成、チューニング済みモデルの取得、推論の実行のエンドツーエンドの例については、Cloud de Confiance コンソールのクイックスタートまたは API のクイックスタートをご覧ください。
チューニング用データセットを準備する
強化学習ファインチューニング ジョブは、トレーニング データセットとオプションの検証データセットによって駆動されます。各データセットは、Cloud Storage に保存されている JSONL ファイルです。各行は、systemInstruction、contents(チューニング中にモデルが応答するプロンプト)、モデルのレスポンスをスコアリングするために報酬関数が必要とするメタデータ(正解、ルーブリック、単体テストの入力など)を保持する references マップを含む単一のチューニング例です。
強化学習のファインチューニングは、ファイルごとおよびプロンプトごとの上限を条件として、マルチモーダル プロンプト(テキスト、画像、音声、動画)をサポートします。
完全なデータセット スキーマ、モダリティ固有のデータセットの上限、報酬計算用の references の入力方法の例については、チューニング データセットのページをご覧ください。
ハイパーパラメータを構成する
ハイパーパラメータは、生成時に使用される思考レベル、バッチサイズ、プロンプトあたりのサンプル数、学習率乗数、エポック数、評価とチェックポイントの間隔、最大出力長、LoRA アダプタ サイズなど、強化学習のファインチューニング中にモデルが更新される方法を制御します。デフォルトはほとんどのワークロードで適切に機能しますが、チューニング ジョブの作成時にデフォルトをオーバーライドできます。
デフォルト値、許容範囲、データセット サイズに依存するルール、推奨される組み合わせについては、ハイパーパラメータのページをご覧ください。
報酬関数を定義する
報酬関数は、チューニング中に各モデルのレスポンスを数値でスコアリングします。報酬シグナルは、強化学習が最適化する対象であるため、その品質がチューニングの品質を直接決定します。すべての報酬は範囲 [-1, 1] にクリップされます。
強化学習ファインチューニングでは、次の報酬タイプがサポートされています。
- 文字列一致報酬 - モデルのレスポンス(またはその解析済み部分文字列)を
referencesで指定されたグラウンド トゥルース値と比較します。 - Gemini ベースの自動評価報酬 - LLM-as-a-Judge を使用して、各レスポンスをスコアリングします。必要に応じて、レスポンスの解析も行います。
- Cloud Run 報酬 - 完全にカスタマイズ可能なスコアリング ロジックのために、スカラー報酬を返すユーザー管理の Cloud Run サービスを呼び出します。
- 複合報酬 - 上記の報酬タイプとスコアラーごとの重みを組み合わせます。
チューニング ジョブを開始する前に、 Cloud de Confiance コンソールまたは ValidateReinforcementTuningReward API メソッドで報酬構成を検証することを強くおすすめします。
構成スキーマ、コードサンプル、IAM 設定、報酬設計のベスト プラクティスの詳細については、報酬関数のページをご覧ください。
ジョブのステータスと指標をモニタリングする
チューニング ジョブを起動すると、ライフサイクル状態(JOB_STATE_PENDING、JOB_STATE_RUNNING、JOB_STATE_SUCCEEDED、JOB_STATE_FAILED、JOB_STATE_CANCELLING、JOB_STATE_CANCELLED など)を追跡し、次の 2 つの方法でチューニングの進行状況を確認できます。
- プログラムで -
GetTuningJobリクエストを発行して、ジョブの状態、tunedModel、エラーの詳細、メタデータを取得します。curlコマンドの例については、API クイック スタートをご覧ください。 - 視覚的に - Cloud de Confiance コンソールの [モデル > チューニング] でジョブのモニタリング ページを開きます。このページには、各ステップで出力されたトレーニング指標と評価指標(報酬、生成長、報酬レイテンシ、複合報酬の報酬ごとの内訳など)のグラフを含む、基盤となるチューニング実験が表示されます。
強化学習のファインチューニングでは、checkpointInterval で設定された頻度で中間チェックポイントも生成されます。このチェックポイントは、ジョブが完了する前に個別にデプロイして評価できます。
出力される指標、報酬タイプごとの指標、それらの解釈方法、チェックポイントへのアクセス方法の完全なリストについては、指標とモニタリングのページをご覧ください。