本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
准备数据集
在开始模型自定义任务之前,您需要最低限度地准备训练数据集。是否支持验证数据集以及您的训练和验证数据集的格式取决于以下因素。
-
自定义任务的类型(微调或持续的预训练)。
-
数据的输入和输出模式。
模型支持微调和持续的预训练数据格式
下表显示了每个相应模型支持的微调和持续预训练数据格式的详细信息:
模型名称 |
微调:t ext-to-text |
微调:& Text-to-image Image-to-embeddings |
继续预训练:t ext-to-text |
微调:单圈消息 |
微调:多回合消息传递 |
Amazon Titan Text G1 - Express |
是 |
否 |
是 |
否 |
否 |
Amazon Titan Text G1 - Lite |
是 |
否 |
是 |
否 |
否 |
亚马逊 Titan Titan Text P |
是 |
否 |
否 |
否 |
否 |
Amazon Titan Image Generator G1 V1 |
是 |
是 |
否 |
否 |
否 |
Amazon Titan Multimodal Embeddings G1 G1 |
是 |
是 |
否 |
否 |
否 |
Anthropic Claude 3 Haiku |
否 |
否 |
否 |
是 |
是 |
Cohere Command |
是 |
否 |
否 |
否 |
否 |
Cohere Command Light |
是 |
否 |
否 |
否 |
否 |
Meta Llama 2 13B |
是 |
否 |
否 |
否 |
否 |
Meta Llama 2 70B |
是 |
否 |
否 |
否 |
否 |
要查看适用于用于自定义不同模型的训练和验证数据集的默认配额,请参阅 Amazon Bedrock 终端节点中的训练和验证记录配额总和以及中的配额。 AWS 一般参考
为您的自定义模型准备训练和验证数据集
要为自定义模型准备训练和验证数据集,需要创建.jsonl
文件,文件中的每一行都是一个与记录对应的JSON对象。您创建的文件必须符合您选择的自定义方法和模型的格式,并且其中的记录必须符合大小要求。
格式取决于模型的自定义方法以及输入和输出模式。选择与您选择的方法相对应的选项卡,然后按照以下步骤操作:
- Fine-tuning: Text-to-text
-
对于 text-to-text模型,请准备训练和可选的验证数据集。每个JSON对象都是一个同时包含prompt
和completion
字段的样本。针对每个令牌使用 6 个字符,作为令牌数量的近似值。格式如下所示。
{"prompt": "<prompt1>", "completion": "<expected generated text>"}
{"prompt": "<prompt2>", "completion": "<expected generated text>"}
{"prompt": "<prompt3>", "completion": "<expected generated text>"}
以下是问答任务的示例项目:
{"prompt": "what is AWS", "completion": "it's Amazon Web Services"}
- Fine-tuning: Text-to-image & Image-to-embeddings
-
对于 text-to-image我们的 image-to-embedding模型,请准备训练数据集。不支持验证数据集。每个JSON对象都是一个示例image-ref
,其中包含 Amazon S3 URI caption
表示图像,以及可能作为图像提示的示例。
图像必须PNG采用JPEG或格式。
{"image-ref": "s3://bucket/path/to/image001.png", "caption": "<prompt text>"}
{"image-ref": "s3://bucket/path/to/image002.png", "caption": "<prompt text>"}
{"image-ref": "s3://bucket/path/to/image003.png", "caption": "<prompt text>"}
以下是示例项目:
{"image-ref": "s3://amzn-s3-demo-bucket/my-pets/cat.png", "caption": "an orange cat with white spots"}
要允许 Amazon Bedrock 访问图像文件,请添加与您在控制台中访问训练和验证文件以及在 S3 中写入输出文件的权限设置或自动设置的 Amazon Bedrock 模型自定义服务角色中的IAM策略相似的策略。您在训练数据集内提供的 Amazon S3 路径必须位于您在策略中指定的文件夹中。
- Continued Pre-training: Text-to-text
-
要对 text-to-text模型进行持续预训练,请准备训练和可选的验证数据集。由于持续预训练涉及未标记的数据,因此每JSON行都是仅包含一个字段的样本。input
针对每个令牌使用 6 个字符,作为令牌数量的近似值。格式如下所示。
{"input": "<input text>"}
{"input": "<input text>"}
{"input": "<input text>"}
以下是训练数据中可能存在的示例项目。
{"input": "AWS stands for Amazon Web Services"}
- Fine-tuning: Single-turn messaging
-
要使用单圈消息格式微调 text-to-text模型,请准备训练和可选的验证数据集。两个数据文件都必须采用以下JSONL格式。每行以 json 格式指定完整的数据样本;每个数据样本必须格式化为 1 行(删除每个样本中的所有 '\ n')。一行包含多个数据样本或将数据样本拆分为多行是行不通的。
字段
规则
-
数messages
组必须包含 2 条消息
-
第一条消息必须role
是用户的
-
最后一条留言中必须有助手role
的内容
{"system": "<system message>","messages":[{"role": "user", "content": "<user query>"},{"role": "assistant", "content": "<expected generated text>"}]}
示例
{"system": "You are an helpful assistant.","messages":[{"role": "user", "content": "what is AWS"},{"role": "assistant", "content": "it's Amazon Web Services."}]}
- Fine-tuning: Multi-turn messaging
-
要使用多回合消息格式对 text-to-text模型进行微调,请准备训练和可选的验证数据集。两个数据文件都必须采用以下JSONL格式。每行以 json 格式指定完整的数据样本;每个数据样本必须格式化为 1 行(删除每个样本中的所有 '\ n')。一行包含多个数据样本或将数据样本拆分为多行是行不通的。
字段
规则
{"system": "<system message>","messages":[{"role": "user", "content": "<user query 1>"},{"role": "assistant", "content": "<expected generated text 1>"}, {"role": "user", "content": "<user query 2>"},{"role": "assistant", "content": "<expected generated text 2>"}]}
示例
{"system": "system message","messages":[{"role": "user", "content": "Hello there."},{"role": "assistant", "content": "Hi, how can I help you?"},{"role": "user", "content": "what are LLMs?"},{"role": "assistant", "content": "LLM means large language model."},]}
选择一个选项卡以查看模型的训练和验证数据集的要求:
- Amazon Titan Text Premier
-
描述 |
最大值(微调) |
批次大小为 1 时输入和输出令牌数总和 |
4,096 |
批量大小为 2、3 或 4 时输入和输出令牌的总和 |
不适用 |
数据集中每个样本的字符配额 |
词元配额 x 6 |
训练数据集文件大小 |
1 GB |
验证数据集文件大小 |
100 MB |
- Amazon Titan Text G1 - Express
-
描述 |
最大值(继续预训练) |
最大值(微调) |
批次大小为 1 时输入和输出令牌数总和 |
4,096 |
4,096 |
批量大小为 2、3 或 4 时输入和输出令牌的总和 |
2,048 |
2,048 |
数据集中每个样本的字符配额 |
词元配额 x 6 |
词元配额 x 6 |
训练数据集文件大小 |
10 GB |
1 GB |
验证数据集文件大小 |
100 MB |
100 MB |
- Amazon Titan Text G1 - Lite
-
描述 |
最大值(继续预训练) |
最大值(微调) |
批量大小为 1 或 2 时输入和输出令牌的总和 |
4,096 |
4,096 |
批量大小为 3、4、5 或 6 时输入和输出令牌的总和 |
2,048 |
2,048 |
数据集中每个样本的字符配额 |
词元配额 x 6 |
词元配额 x 6 |
训练数据集文件大小 |
10 GB |
1 GB |
验证数据集文件大小 |
100 MB |
100 MB |
- Amazon Titan Image Generator G1 V1
-
描述 |
最小值(微调) |
最大值(微调) |
训练样本中的文本提示长度,以字符为单位 |
3 |
1024 |
训练数据集中的记录 |
5 |
10000 |
输入图像大小 |
0 |
50 MB |
输入图像高度(以像素为单位) |
512 |
4,096 |
输入图像宽度(以像素为单位) |
512 |
4,096 |
输入图像的总像素数 |
0 |
12,582,912 |
输入图像的纵横比 |
1:4 |
4:1 |
- Amazon Titan Multimodal Embeddings G1
-
描述 |
最小值(微调) |
最大值(微调) |
训练样本中的文本提示长度,以字符为单位 |
0 |
2,560 |
训练数据集中的记录 |
1000 |
500,000 |
输入图像大小 |
0 |
5MB |
输入图像高度(以像素为单位) |
128 |
4096 |
输入图像宽度(以像素为单位) |
128 |
4096 |
输入图像的总像素数 |
0 |
12,528,912 |
输入图像的纵横比 |
1:4 |
4:1 |
- Cohere Command
-
描述 |
最大值(微调) |
输入令牌 |
4,096 |
输出令牌 |
2,048 |
数据集中每个样本的字符配额 |
词元配额 x 6 |
训练数据集中的记录 |
10000 |
验证数据集中的记录 |
1000 |
- Meta Llama 2
-
描述 |
最大值(微调) |
输入令牌 |
4,096 |
输出令牌 |
2,048 |
数据集中每个样本的字符配额 |
词元配额 x 6 |