本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon Bedrock 中使用蒸馏功能自定义模型
模型蒸馏是指将知识从更大、更智能的模型(称为教师式模型)转移到更小、更快、更经济的模型(称为学生式模型)的过程。在此过程中,学生式模型在特定使用案例中的性能会得到提升。Amazon Bedrock 模型蒸馏功能使用最新的数据合成技术,从教师式模型中生成多样化、高质量的响应(称作合成数据),然后对学生式模型进行微调。
要使用 Amazon Bedrock 模型蒸馏功能,请执行以下操作:
-
选择教师式模型和学生式模型。有关更多信息,请参阅 选择用于蒸馏的教师式模型和学生式模型。
-
准备用于蒸馏的训练数据。您的训练数据是存储在
.jsonl文件中的提示集合。Amazon Bedrock 使用输入数据从教师式模型生成响应,然后使用这些生成的响应来微调学生式模型。-
您可以针对所需的使用案例为输入提示设置格式,从而优化合成数据生成过程。有关更多信息,请参阅 优化合成数据生成的输入提示。
-
您可以提示-响应对形式准备带标签的输入数据。Amazon Bedrock 可以将这些提示-响应对用作黄金示例,同时从教师式模型中生成响应。有关更多信息,请参阅 选项 1:为数据准备提供您自己的提示。
-
如果您启用 CloudWatch 日志调用日志,则可以将存储在 Amazon S3 中的调用日志中的现有教师响应用作训练数据。Amazon Bedrock 中的调用日志是模型调用的详细记录。有关更多信息,请参阅 选项 2:使用调用日志进行数据准备。
-
-
创建蒸馏作业。此作业为您的使用案例创建更小、更快、更具成本效益的模型。仅您可以访问最终的蒸馏模型。Amazon Bedrock 不会使用您的数据来训练任何其他教师式模型或学生式模型以供公众使用。有关更多信息,请参阅 在 Amazon Bedrock 中提交模型蒸馏作业。在蒸馏作业完成后,您可以分析自定义过程的结果。有关更多信息,请参阅 分析模型自定义作业的结果。有关为模型设置推理的信息,请参阅为自定义模型设置推理。
主题
Amazon Bedrock 模型蒸馏功能的工作原理
Amazon Bedrock 模型蒸馏功能是一个工作流,可自动执行创建蒸馏模型的过程。在此工作流中,Amazon Bedrock 会从教师式模型生成响应、添加数据合成技术以改善响应生成,并使用生成的响应微调学生式模型。增强后的数据集会被拆分成多个独立数据集以用于训练和验证。Amazon Bedrock 仅使用训练数据集内的数据来微调学生式模型。
在确定教师式模型和学生式模型后,可以选择您希望 Amazon Bedrock 如何为您的使用案例创建蒸馏模型。Amazon Bedrock 可以使用您提供的提示来生成教师式响应,或者您可以通过调用日志使用来自生产数据的响应。Amazon Bedrock 模型蒸馏功能使用这些响应来微调学生式模型。
注意
如果 Amazon Bedrock Model Distillation 使用其专有的数据合成技术生成更高质量的教师回复,那么对教师模型的推理调用AWS 账户将产生额外费用。这些费用将按教师式模型的按需推理费率计算得出。数据合成技术可能会将微调数据集的大小增加到最多 15000 个提示-响应对。有关 Amazon Bedrock 费用的更多信息,请参阅 Amazon Bedrock 定价
使用您提供的提示创建蒸馏模型
Amazon Bedrock 使用您提供的输入提示生成来自教师式模型的响应。之后,Amazon Bedrock 会使用这些响应来微调您标识的学生式模型。根据您的使用案例,Amazon Bedrock 可能会添加专有数据合成技术来生成多样化的、质量更高的响应。例如,Amazon Bedrock 可能会生成类似的提示,以便从教师式模型生成更多样化的响应。或者,如果您选择以提示-响应对形式提供少量带标签的输入数据,则 Amazon Bedrock 可能会将这些提示-响应对用作黄金示例,以指导教师式模型生成类似的高质量响应。
使用生产数据创建蒸馏模型
如果您已拥有教师式模型生成的响应,并且已将该响应存储在调用日志中,则可以使用这些现有的教师式响应来微调学生式模型。为此,您需要向 Amazon Bedrock 提供对调用日志的访问权限。Amazon Bedrock 中的调用日志是模型调用的详细记录。有关更多信息,请参阅使用 CloudWatch 日志监控模型调用。
如果您选择此选项,则可以继续使用 Amazon Bedrocks 推理 API 操作,例如InvokeModel或 C onverse API,并收集 Amazon Bedrock 中使用的所有调用的调用日志、模型输入数据(提示)和模型输出数据(响应)。
当您使用 InvokeModel 或 Converse API 操作从模型生成响应时,您可以选择将 requestMetadata 添加到响应。在创建蒸馏作业时,作为调用日志配置的一部分,您可以按此元数据进行筛选。您可以按特定使用案例进行筛选,之后,Amazon Bedrock 仅使用筛选后的响应来微调学生式模型。当您选择使用调用日志来微调学生式模型时,可以让 Amazon Bedrock 仅使用提示,或使用提示-响应对。
选择带调用日志的提示
如果您选择让 Amazon Bedrock 仅使用调用日志中的提示,则 Amazon Bedrock 会使用这些提示生成来自教师式模型的响应。在此情况下,Amazon Bedrock 会使用这些响应来微调您标识的学生式模型。根据您的使用案例,Amazon Bedrock 模型蒸馏功能可能会添加专有数据合成技术来生成多样化的、质量更高的响应。
选择带调用日志的提示-响应对
如果您选择让 Amazon Bedrock 使用调用日志中的提示-响应对,则 Amazon Bedrock 将不会重新生成来自教师式模型的响应,也不会使用调用日志中的响应来微调学生式模型。要让 Amazon Bedrock 读取调用日志中的响应,模型蒸馏作业中指定的教师式模型必须与调用日志中使用的模型相匹配。如果两者不匹配,则不会使用调用日志。在已将请求元数据添加到调用日志中的响应的情况下,要微调学生式模型,您可以指定请求元数据筛选条件,以使 Amazon Bedrock 仅读取适用于您的使用案例的特定日志。