本文档介绍了如何为 Gemini 模型定义监督式微调数据集。您可以对文本、图片、音频和文档数据类型进行调优。
监督式微调数据集简介
监督式微调数据集可用来根据特定任务或领域微调预训练模型。输入数据应与您希望模型在实际使用中遇到的数据类似。输出标签应表示每个输入的正确答案或结果。
训练数据集
如需对模型调优,您需要提供训练数据集。为获得最佳结果,我们建议您先提供 100 个示例。您可以根据需要扩展到数千个示例。数据集的质量远比数量重要。
限制:
- 每个示例的输入和输出词元数上限:32,000
- 训练数据集的文件大小上限:对于 JSONL 不超过 1 GB。
验证数据集
我们强烈建议您提供验证数据集。验证数据集可帮助您衡量调优作业的效果。
限制:
- 每个示例的输入和输出词元数上限:32,000
- 验证数据集中的示例数上限:256
- 训练数据集的文件大小上限:对于 JSONL 不超过 1 GB。
数据集格式
模型调优数据集必须采用 JSON 行 (JSONL) 格式,其中每行包含一个调优样本。在调优模型之前,您必须先将数据集上传到 Cloud Storage 存储桶。
gemini-1.5-pro
和 gemini-1.5-flash
的数据集示例
{
"systemInstruction": {
"role": string,
"parts": [
{
"text": string
}
]
},
"contents": [
{
"role": string,
"parts": [
{
// Union field data can be only one of the following:
"text": string,
"fileData": {
"mimeType": string,
"fileUri": string
}
}
]
}
]
}
参数
该示例包含具有以下参数的数据:
参数 | |
---|---|
|
必需: 与模型的当前对话内容。 对于单轮询问,这是一个实例。对于多轮询问,此字段是重复字段,包含对话记录和最新请求。 |
|
可选: 适用于 有关引导模型获得更好性能的说明。例如,“回答尽可能简明扼要”或“请勿在回答中使用技术词汇”。
|
目录
包含消息多部分内容的基本结构化数据类型。
此类包含两个主要属性:role
和 parts
。role
属性表示生成内容的个人,而 parts
属性包含多个元素,每个元素表示消息中的一段数据。
参数 | |
---|---|
|
可选: 创建消息的实体的身份。支持以下值:
对于非多轮对话,此字段可以留空或未设置。 |
|
构成单条消息的有序部分的列表。不同的部分可能具有不同的 IANA MIME 类型。 如需了解输入限制(例如 token 或图片数量上限),请参阅 Google 模型页面上的模型规范部分。 如需计算请求中的 token 数量,请参阅获取 token 数。 |
部件
包含属于多部分 Content
消息一部分的媒体的数据类型。
参数 | |
---|---|
|
可选: 文本提示或代码段。 |
|
可选: 存储在文件中的数据。 |
Gemini 1.0 Pro 的数据集示例
调优数据集中的每个对话示例都由一个必需的 messages 字段组成。
messages
字段包含一组角色-内容对。role
字段指消息的作者,设置为 system
、user
或 model
。system
角色是可选的,只能出现在消息列表的第一个元素中。user
或 model
角色是必需的,可以交替重复。
content
字段是消息的 content
。
对于每个示例,context
和 messages
的总词元长度上限为 32,768 个词元。此外,模型字段的每个内容字段不应超过 8,192 个词元。
{
"messages": [
{
"role": string,
"content": string
}
]
}
与生产数据保持一致
数据集中的样本应与您的预期生产流量相匹配。如果您的数据集包含特定的格式、关键字、说明或信息,则生产数据应以相同方式设置格式并包含相同的说明。
例如,如果数据集中的样本包含 "question:"
和 "context:"
,则生产流量的格式也应设置为包含 "question:"
和 "context:"
,其顺序与在数据集样本中的显示顺序相同。如果排除了语境,则模型将无法识别该模式,即使确切的问题包含在数据集内的样本中也是如此。
将调优数据集上传到 Cloud Storage
若要运行调优作业,您需要将一个或多个数据集上传到 Cloud Storage 存储桶。您可以创建新的 Cloud Storage 存储桶,也可以使用现有的存储桶来存储数据集文件。存储桶的区域无关紧要,但我们建议您使用您计划用于对模型调优的同一 Google Cloud 项目中的存储桶。
存储桶准备就绪后,将数据集文件上传到存储桶。
遵循提示设计最佳实践
获得训练数据集并训练完模型后,接下来便是设计问题。请务必在训练数据集中遵循提示设计最佳实践,详细说明要执行的任务以及输出应有的样子。
后续步骤
- 选择一个区域以对模型调优。
- 如需了解如何在构建生成式 AI 知识库的解决方案中使用监督式微调,请参阅快速起步解决方案:生成式 AI 知识库。