強化学習ファインチューニング ジョブは、トレーニング データセットとオプションの検証データセットによって駆動されます。各データセットは Cloud Storage に保存された JSON ファイルで、各行は 1 つのチューニング サンプルです。
このページでは、データセット スキーマ、報酬計算に references フィールドを使用する方法、サービスによって適用されるモダリティごとのデータセットの上限について説明します。
データセット スキーマ
JSONL データセット ファイルの各行は、次のスキーマに準拠しています。
{
"systemInstruction": {
"role": string,
"parts": [
{
"text": string
}
]
},
"contents": [
{
"role": string,
"parts": [
{
// Union field data: text or fileData.
"text": string,
"fileData": {
"mimeType": string,
"fileUri": string
}
}
]
}
],
"references": {
string: string,
...
}
}
contents フィールドと systemInstruction フィールドは、Gemini Enterprise Agent Platform generateContent API と同じスキーマを使用します。systemInstruction はテキストのみを受け入れます。contents には、データセットの制限に従って、テキストまたはファイルデータ(画像、音声、動画)を含めることができます。
references フィールド
references フィールドは、強化学習ファインチューニングに固有のものです。報酬関数がモデルのレスポンスをスコアリングするために必要なメタデータを保存します。文字列から文字列への辞書を受け取ります。
たとえば、モデルの回答を既知のグラウンド トゥルースと比較する文字列照合報酬では、次のようなデータセット行を使用できます。
{
"systemInstruction": {
"role": "system",
"parts": [{ "text": "You are a helpful math tutor." }]
},
"contents": [
{
"role": "user",
"parts": [{ "text": "What is 17 * 23? Put your final answer in $\\text{your answer}$." }]
}
],
"references": {
"ground_truth_answer": "391"
}
}
報酬関数は references["ground_truth_answer"] を読み取り、モデルが生成した値と比較します。各報酬タイプが references をどのように使用するかについては、報酬関数のページをご覧ください。
データセットの上限
強化学習ファインチューニング データセットには、次の上限が適用されます。
| 仕様 | 値 |
|---|---|
| トレーニング データセット内のサンプルの最大数 | 5,000 |
| 検証データセット内のサンプルの最大数 | 500 |
| データセット ファイルの最大サイズ | 1 GB |
| 例あたりの最大入力トークン数 | 32,768 |
| 例あたりの最大出力トークン数(思考トークンを含む) | 32,768 |
マルチモーダルの上限
データセットに画像、音声、動画データが含まれている場合は、次のモダリティごとの上限が適用されます。
音声
| 仕様 | 値 |
|---|---|
| プロンプトあたりの音声ファイルの最大数 | 15 |
| サンプルあたりの音声の最大合計長(すべてのファイル) | 10 分 |
| 音声ファイルの最大サイズ | 100 MB |
動画
| 仕様 | 値 |
|---|---|
| プロンプトあたりの動画ファイルの最大数 | 10 |
| サンプルあたりの動画の最大合計時間(すべてのファイル) | 5 分 |
| 動画の最大ファイルサイズ | 20 MB |
画像
| 仕様 | 値 |
|---|---|
| プロンプトあたりの画像の最大数 | 15 |
| 画像ファイルの最大サイズ | 20 MB |
次のステップ
- チューニング ジョブのハイパーパラメータを構成します。
- 報酬関数を定義します。
- ジョブのステータスと指標をモニタリングします。
- クイックスタートに沿って、最初の強化学習ファインチューニング ジョブを作成します。