本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Nova 对 SageMaker 训练作业进行自定义
Amazon SageMaker 训练作业是一个允许您大规模训练机器学习模型的环境。它可以自动预调配和扩展计算资源,从 Amazon S3 等来源加载训练数据,执行您的训练代码,并存储生成的模型构件。
训练目标是使用您的专有数据自定义基本 Amazon Nova 模型。训练过程通常包括准备数据、选择配方、修改 YAML 文件中的配置参数以及提交训练作业的步骤。训练过程将在服务托管的 Amazon S3 存储桶中输出经过训练的模型检查点。您可以将此检查点位置用于评估作业。Nova 对 SageMaker训练作业的自定义将模型工件存储在服务托管的 Amazon S3 存储桶中。服务托管存储桶中的项目使用托管的 KMS 密钥进行 SageMaker加密。服务托管的 Amazon S3 存储桶目前不支持使用客户托管的 KMS 密钥进行数据加密。
概述
本节概述了自定义技术,并帮助您选择满足需求和可用数据的最佳方法。
法学硕士培训的两个阶段
大型语言模型训练包括两个主要阶段:训练前和训练后。在预训练期间,模型会处理原始文本的标记,并针对下一个标记预测进行优化。此过程创建了一个模式完成器,可以从网络和精选文本中吸收语法、语义、事实和推理模式。但是,预先训练的模型无法理解指令、用户目标或适合上下文的行为。它以适合其训练分布的任何风格继续文本。预训练的模型会自动完成而不是遵循指示,会产生不一致的格式,并且可以从训练数据中反映出不良偏差或不安全的内容。预训练可以培养一般能力,而不是任务的用处。
训练后可将模式完成者转变为有用的助手。您可以运行多轮监督微调 (SFT),以教导模型遵循指示,遵守架构和策略,调用工具,并通过模仿高质量的演示来生成可靠的输出。这种对齐方式教会模型将提示作为任务而不是文本来回应以继续操作。然后,你可以应用强化微调 (RFT),使用可测量的反馈(例如验证器或)来优化行为,在准确性与简洁性、安全性与覆盖范围或约束条件下的多步推理等权衡之间进行权衡。 LLM-as-a-judge实际上,您可以按周期交替使用 SFT 和 RFT,将预训练的模型塑造成一个可靠、与策略一致的系统,该系统可以一致地执行复杂的任务。
选择正确的定制方法
在本节中,我们将介绍训练后的自定义策略:RFT 和 SFT。
钢筋微调 (RFT)
强化微调通过反馈信号(可衡量的分数或表明响应质量的奖励)来提高模型性能,而不是通过准确的正确答案进行直接监督。与从输入输出对中学习的传统监督微调不同,RFT 使用奖励函数来评估模型响应,并迭代优化模型以最大限度地提高这些奖励。这种方法非常适合定义准确正确输出具有挑战性的任务,但您可以可靠地衡量响应质量。RFT 使模型能够通过试验和反馈来学习复杂的行为和偏好,非常适合需要细致入微的决策、创造性的问题解决或遵守可以通过编程方式评估的特定质量标准的应用程序。例如,回答复杂的法律问题是 RFT 的理想用例,因为你想教模型如何更好地推理,从而更准确地回答问题。
工作原理
在强化微调中,你从指令调整的基线开始,像对待小型锦标赛一样对待每个提示。对于给定的输入,您可以从模型中抽取几个候选答案,使用奖励函数对每个答案进行评分,然后将它们排在该组中。更新步骤推动了模型,使下次得分较高的候选人更有可能,而得分较低的候选人的可能性更小,而 stay-close-to-baseline限制则可以防止行为漂移、变得冗长或具有剥削性。你在许多提示中重复这个循环,刷新硬案例,在看到漏洞时加强验证器或判断评分量规,并持续跟踪任务指标。
何时使用 RFT
从 RFT 中受益最大的任务有几个共同的特征。即使很难指定一个正确的输出,它们也有可衡量的成功信号。他们承认部分积分或分级质量,因此你可以在提示或使用奖励功能中对比更差的答案进行排名。它们涉及多个必须平衡的目标(例如准确性与简洁性、清晰度、安全性或成本)。它们要求遵守您可以通过编程方式检查的明确约束。它们在工具介导或基于环境的环境中运行,在这些环境中,结果是可以观察到的(成功或失败、延迟、资源使用情况)。它们发生在低标签制度中,在这些制度中,收集黄金目标很昂贵,但自动或基于量规的反馈却很多。当您可以将质量转化为可靠的标量或排名,并希望模型在不需要详尽的标记目标的情况下优先放大得分较高的行为时,RFT 效果最好。
在以下情况下,可以考虑其他方法:
-
您有大量带标签的可靠输入输出对 — 使用 SFT
-
主要差距在于知识或行话 — 使用检索增强生成 (RAG)
-
你的奖励信号嘈杂或不可靠,你无法用更好的评分量规或跳棋来修复它 —— 在 RFT 之前先稳定下来
何时不使用 RFT
在以下情况下避免使用 RFT:
-
您可以廉价地生成带有标签的可靠输入输出对(SFT 更简单、更便宜、更稳定)
-
差距在于知识或行话,而不是行为(使用 RAG)
-
你的奖励信号嘈杂、稀少、易于玩游戏、昂贵或计算速度慢(先修复评估器)
-
基准性能接近零(在优化首选项之前使用 SFT 进行引导)
-
该任务具有确定性架构、严格格式或单个正确答案(SFT 或基于规则的验证效果更好)
-
紧张的延迟或成本预算无法吸收 RFT 所需的额外采样或探索
-
奖励中没有明确规定和强制执行安全或政策限制
如果你能指出 “正确答案”,请使用 SFT。如果您需要新知识,请使用 RAG。只有在你有坚实的基线和强大、快速的 hard-to-exploit奖励功能之后,才使用 RFT。
监督式微调(SFT)
监督微调根据人类标记的输入输出对数据集训练 LLM,以完成您的任务。您提供带有正确或所需答案的提示示例(问题、说明等),并继续根据这些示例训练模型。模型会调整其权重以最大限度地减少监督损失(通常是其预测值和目标输出标记之间的交叉熵)。这与大多数受监督的机器学习任务中使用的训练相同,适用于专业化法学硕士。
SFT 改变的是行为,而不是知识。它不会向模型传授在预训练中从未见过的新事实或行话。它教模型如何回答,而不是要知道什么。如果您需要新的领域知识(例如内部术语),请使用检索增强生成 (RAG) 在推理时提供该上下文。然后,SFT 在顶部添加所需的指令跟随行为。
工作原理
SFT 通过最大限度地减少响应令牌的平均交叉熵损失、将提示令牌视为上下文并掩盖它们免受损失来优化 LLM。该模型将你的目标风格、结构和决策规则内在化,学会为每个提示生成正确的完成结果。例如,要将文档分类为自定义类别,您可以使用提示(文档文本)和带标签的完成内容(类别标签)对模型进行微调。您可以对这些对进行训练,直到模型以很高的概率为每个提示输出正确的标签。
你可以用几百个例子来执行 SFT,然后扩展到几十万个。SFT 样本必须是高质量的,并且必须与所需的模型行为直接对齐。
何时使用 SFT
当你的任务定义明确,预期输出清晰时,可以使用 SFT。如果你能明确声明 “给定 X 输入,正确的输出是 Y” 并收集此类映射的示例,那么监督微调是一个不错的选择。SFT 在以下场景中表现出色:
-
结构化或复杂的分类任务-将内部文档或合同分为许多自定义类别。使用 SFT,模型比单独提示更能学习这些特定类别。
-
使用已知答案进行问答或转换任务 — 微调模型以回答公司知识库中的问题,或者在每个输入都有正确答案的格式之间转换数据。
-
格式和样式一致性-通过微调正确格式或色调的示例,训练模型始终以特定的格式或音调做出响应。例如,对展示特定品牌声音的即时响应对进行训练,可以教会模型生成具有该风格的输出。指导跟随行为通常最初是通过SFT在精心策划的良好助手行为示例上进行的。
当你可以指定正确的行为是什么样子时,SFT是向法学硕士传授新技能或行为的最直接方法。它使用模型现有的语言理解能力,将其重点放在您的任务上。当你想让模型做一件特定的事情,并且你已经或可以创建示例数据集时,可以使用 SFT。
当你可以组装出与你想要的行为非常接近的高质量提示和响应对时,可以使用 SFT。它适合具有明确目标或确定性格式(例如架构、函数或工具调用)的任务,以及模仿是适当训练信号的结构化答案。目标是行为塑造:教导模型将提示视为任务,遵循指示,采用语气和拒绝政策,并产生一致的格式。计划至少上百场演示,数据质量、一致性和重复数据删除比原始数据量更重要。要实现简单、具有成本效益的更新,可以使用 Low-Rank Adaption 等参数效率高的方法来训练小型适配器,同时保持大部分主干不变。
何时不使用 SFT
当差距在于知识而不是行为时,不要使用 SFT。它不会向模型传授新的事实、行话或最近发生的事件。在这些情况下,使用检索增强生成在推理中引入外部知识。当您可以衡量质量但无法标记单个正确答案时,请避免使用 SFT。使用带有可验证奖励的强化微调, LLM-as-a-judge或者直接优化这些奖励。如果您的需求或内容经常变化,请依靠检索和工具使用,而不是重新训练模型。