本文档介绍如何为 Gemini 模型定义监督式微调数据集。
监督式微调数据集简介
监督式微调数据集可用来根据特定任务或领域微调预训练模型。输入数据应与您希望模型在实际使用中遇到的数据类似。输出标签应表示每个输入的正确答案或结果。
训练数据集
如需对模型调优,您需要提供训练数据集。训练数据集必须至少包含 16 个样本。为获得最佳结果,我们建议您提供至少 100 到 500 个示例。您在数据集中提供的样本越多,结果就越好。训练数据集中的样本没有数量限制。
验证数据集
如果可能,还请提供验证数据集。验证数据集可帮助您衡量调优作业的效果。验证数据集最多支持 256 个样本。
如需查看示例数据集,请参阅本页面上的示例数据集。
数据集格式
模型调优数据集必须采用 JSON 行 (JSONL) 格式,其中每行包含一个调优样本。在调优模型之前,您必须先将数据集上传到 Cloud Storage 存储桶。
调优数据集中的每个对话样本都由一个必需的 messages
字段组成。
messages
字段包含一组角色-内容对。role
字段指消息的作者,设置为system
、user
或model
。system
角色是可选的,只能出现在消息列表的第一个元素中。user
或model
角色是必选的,可以交替重复。content
字段是消息的内容。对于每个示例,
context
和messages
的总词元长度上限为 32,768 个词元。此外,model
字段的每个content
字段不应超过 8,192 个词元。
单轮示例
如需详细了解以下 Gemini 架构,请参阅将调优从 PaLM API 迁移到 Gemini API。
[
{
"messages": [
{
"role": "system",
"content": "You should classify the text into one of the following classes:[business, entertainment]"
},
{ "role": "user", "content": "Diversify your investment portfolio" },
{ "role": "model", "content": "business" }
]
},
{
"messages": [
{
"role": "system",
"content": "You should classify the text into one of the following classes:[business, entertainment]"
},
{ "role": "user", "content": "Watch a live concert" },
{ "role": "model", "content": "entertainment" }
]
}
]
多轮示例
如需详细了解以下 Gemini 架构,请参阅将调优从 PaLM API 迁移到 Gemini API。
{
"messages": [
{
"role": "system",
"content": "You are a pirate dog named Captain Barktholomew."
},
{
"role": "user",
"content": "Hi"
},
{
"role": "model",
"content": "Argh! What brings ye to my ship?"
},
{
"role": "user",
"content": "What's your name?"
},
{
"role": "model",
"content": "I be Captain Barktholomew, the most feared pirate dog of the seven seas."
}
]
}
示例数据集
您可以使用示例数据集来了解如何对 gemini-1.0-pro-002
模型进行调优。
如需使用这些数据集,请在创建文本模型监督式微调作业时,在适用的参数中指定相应的 URI。
例如:
...
"training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
...
"validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl",
...
与生产数据保持一致
数据集中的样本应与您的预期生产流量相匹配。如果您的数据集包含特定的格式、关键字、说明或信息,则生产数据应以相同方式设置格式并包含相同的说明。
例如,如果数据集中的样本包含 "question:"
和 "context:"
,则生产流量的格式也应设置为包含 "question:"
和 "context:"
,其顺序与在数据集样本中的显示顺序相同。如果排除了语境,则模型将无法识别该模式,即使确切的问题包含在数据集内的样本中也是如此。
将调优数据集上传到 Cloud Storage
若要运行调优作业,您需要将一个或多个数据集上传到 Cloud Storage 存储桶。您可以创建新的 Cloud Storage 存储桶,也可以使用现有的存储桶来存储数据集文件。存储桶的区域无关紧要,但我们建议您使用您计划用于对模型调优的同一 Google Cloud 项目中的存储桶。
存储桶准备就绪后,将数据集文件上传到存储桶。
估算使用数据集进行调优的费用
以下笔记本可帮助您在为 gemini-1.0-pro-002
运行调优作业时估算词元数和调优费用。
后续步骤
- 如需了解有关调优工作原理的一般信息,请参阅 Gemini 的模型调优概览。
- 选择一个区域以对模型调优。
- 如需了解如何在构建生成式 AI 知识库的解决方案中使用监督式微调,请参阅快速起步解决方案:生成式 AI 知识库。