强化学习微调作业由训练数据集和可选的验证数据集驱动。每个数据集都是存储在 Cloud Storage 中的 JSON 文件,其中每行都是一个调优示例。
本页介绍了数据集架构、如何使用 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 |
| 每个示例的输入 token 数上限 | 32,768 |
| 每个示例的输出 token 数上限(包括思考 token) | 32,768 |
多模态限制
如果数据集包含图片、音频或视频数据,则需遵守以下每种模态的限制:
音频
| 规范 | 值 |
|---|---|
| 每个提示的音频文件数量上限 | 15 |
| 每个选段的音频总时长上限(所有文件) | 10 分钟 |
| 音频文件大小上限 | 100 MB |
视频
| 规范 | 值 |
|---|---|
| 每个提示的视频文件数量上限 | 10 |
| 每个选段的视频总时长上限(所有文件) | 5 分钟 |
| 视频文件大小上限 | 20 MB |
图片
| 规范 | 值 |
|---|---|
| 每个提示的图片数量上限 | 15 |
| 图片文件大小上限 | 20 MB |