View a markdown version of this page

基于 SageMaker 训练作业自定义 Amazon Nova - Amazon Nova

基于 SageMaker 训练作业自定义 Amazon Nova

SageMaker 训练作业是支持您大规模训练机器学习模型的环境。它可以自动预调配和扩展计算资源,从 Amazon S3 等来源加载训练数据,执行您的训练代码,并存储生成的模型构件。

训练目标是使用您的专有数据自定义基本 Amazon Nova 模型。训练过程通常涉及准备数据、选择配方、修改 YAML 文件中的配置参数以及提交训练作业等步骤。训练过程将在服务托管的 Amazon S3 存储桶中输出经过训练的模型检查点。您可以将此检查点位置用于评估作业。基于 SageMaker AI 训练作业的 Nova 自定义,将模型构件存储在服务托管的 Amazon S3 存储桶中。服务托管存储桶中的构件使用 SageMaker AI 托管的 KMS 密钥进行加密。服务托管的 Amazon S3 存储桶目前不支持使用客户托管的 KMS 密钥进行数据加密。

Amazon Nova 自定义最佳实践

概述

本节概述了自定义技术,有助您根据自身需求与可用数据选择最优方案。

LLM 训练的两个阶段

大型语言模型训练包括两个主要阶段:预训练和后训练。在预训练阶段,模型会处理原始文本的词元,并针对下一词元预测进行优化。此过程会产生一个模式补全器,可从网络和精选文本中学习语法、语义、事实知识和推理模式。然而,预训练模型无法理解指令、用户目标,也不具备适配上下文的行为能力。其会依据训练数据分布所涵盖的任意风格,持续生成文本。预训练模型执行的是自动补全而非遵循指令,输出格式不统一,还可能复刻训练数据中的不良偏见与不安全内容。预训练构建的是通用能力,而非任务完成能力。

后训练则可将模式补全器转化为实用助手。首先进行多轮监督式微调(SFT),通过模仿高质量的演示,教会模型遵循指令、遵守架构和策略、调用工具并生成可靠的输出。这种齐训练能让模型将提示词视为待执行的任务,而非单纯的续写文本。接着引入强化微调(RFT),利用可衡量的反馈(如验证器或 LLM-as-a-judge)来优化模型行为,在准确性与简洁性、安全性与覆盖范围,或约束条件下的多步骤推理等权衡中实现平衡。在实践中,通常采用 SFT 与 RFT 交替迭代的策略,将预训练模型打磨为一个稳定可靠、策略对齐且能一致性处理复杂任务的智能系统。

选择合适的自定义方法

本节将介绍后训练自定义策略:RFT 和 SFT。

强化微调(RFT)

强化微调通过反馈信号(即可衡量回复质量的分数或奖励)提升模型性能,而非依靠精确标准答案进行直接监督。与从输入-输出对中学习的传统监督式微调不同,RFT 使用奖励函数评测模型响应,并迭代优化模型以最大化奖励。这种方法适用于难以定义精确输出但能可靠衡量响应质量的任务。RFT 使模型能够通过尝试和反馈来学习复杂行为与偏好,非常适合需要精细决策、创造性问题求解,或需符合可程序化评测的特定质量标准的场景。例如,回答复杂法律问题就是 RFT 的理想使用案例,因为您希望教会模型如何更好地进行推理,从而更准确地回答问题。

工作原理

在强化微调中,您从经过指令微调的基线模型出发,将每个提示视作一场小型竞赛。对于给定输入,从模型中采样若干候选回答,通过奖励函数为每个回答打分并在本组内排序。更新步骤会促使模型提升高分候选回答的生成概率,降低低分回答的概率;同时通过“贴近基线”约束,避免模型行为偏移、内容冗长或钻规则漏洞。您在大量提示上重复这一循环,不断补充困难样本,在发现漏洞利用行为时强化验证器或优化评判规则,并持续跟踪任务指标。

何时使用 RFT

最适合使用 RFT 的任务通常具备以下共同特征。即便难以定义唯一正确输出,仍存在可衡量的成功信号;支持部分得分或分级质量评估,因此可对同一提示下的回答进行优劣排序,或通过奖励函数完成排序;涉及多项需兼顾的目标(例如在准确性与简洁性、清晰度、安全性或成本之间取得平衡);需要遵守可通过程序校验的明确约束;在工具介导或基于环境的环境中运行,且结果可观察(成功或失败、延迟、资源使用情况);处于低标注数据场景,即获取标准答案成本高昂,但自动化或基于评分规则的反馈十分丰富。当您能将质量转化为可靠的标量分值或排序,并希望模型优先强化高分行为,而无需大量标注样本时,RFT 效果最佳。

在以下情况下,建议考虑其他方法:

  • 拥有充足且可靠的标注输入-输出对:使用 SFT

  • 主要差距在于知识或术语:使用检索增强生成(RAG)

  • 奖励信号存在噪声或不可靠,且无法通过优化评分规则或校验工具解决:在采用 RFT 之前先稳定奖励信号

何时不使用 RFT

在以下情况下应避免使用 RFT:

  • 可低成本生成可靠的标注输入-输出对(SFT 更简单、低成本且更稳定)

  • 差距在于知识或术语,而非行为(建议使用 RAG)

  • 奖励信号存在噪声、稀疏、易被钻漏洞,或者计算成本高昂、速度缓慢(先优化评测器)

  • 基线性能近乎为零(先通过 SFT 完成引导,再进行偏好优化)

  • 任务具备确定性架构、严格格式要求或唯一正确答案(SFT 或基于规则的验证效果更佳)

  • 严苛的延迟或成本预算,无法承担 RFT 所需的额外采样与探索开销

  • 安全与策略约束定义不清晰,且无法在奖励函数中有效强制执行

如果能明确给出“正确答案”,请使用 SFT。如果需要补充新知识,请使用 RAG。仅当拥有稳健的基线模型,以及可靠、高效、难以被利用的奖励函数后,再使用 RFT。

监督式微调(SFT)

监督式微调是在针对任务构建的人工标注输入-输出对数据集上训练 LLM。您可以提供提示(问题、指令等)示例以及正确或所需响应,并基于这些样本继续训练模型。调整模型权重以最大限度地减少监督损失(通常是其预测与目标输出词元之间的交叉熵)。这与大多数监督式机器学习任务中使用的训练方式相同,旨在对 LLM 进行专业化处理。

SFT 改变的是行为,而非知识。其不会让模型学到预训练阶段未见过的新事实或专业术语,只教会模型如何回答,而非掌握什么知识。如果需要新增领域知识(如内部术语),可在推理阶段通过检索增强生成(RAG)提供相关上下文,由 SFT 赋予模型所需的指令遵循能力。

工作原理

SFT 通过最大限度地减少响应词元上的平均交叉熵损失来优化 LLM,将提示词元视为上下文并将其从损失计算中屏蔽。模型会将目标风格、结构和决策规则内化,学习为每个提示生成正确的补全。例如,要将文档分类为自定义类别,可以使用提示(文档文本)和带标签的补全(类别标签)来微调模型。您可以在这些数据对上训练模型,直到模型能够以高概率为每个提示输出正确的标签。

您可以使用少至几百个样本进行 SFT,也可以纵向扩展到几十万个样本。SFT 样本必须具备高质量,且与期望的模型行为直接对齐。

何时使用 SFT

当任务定义清晰、预期输出明确时,即可使用 SFT。如果您能明确给出“输入为 X 时,正确输出为 Y”的形式,并能收集此类映射样本,监督式微调便是理想选择。SFT 在以下场景中表现出色:

  • 结构化或复杂的分类任务:将内部文档或合同分为多个自定义类别。通过 SFT,模型对这些特定类别的学习效果要远优于仅使用提示词。

  • 具有已知答案的问答或转换任务:微调模型以回答公司知识库中的问题,或者在格式之间转换数据,其中每个输入都有对应的正确答案。

  • 格式和风格一致性:通过根据正确格式或语气的样本进行微调,训练模型始终以特定格式或语气做出响应。例如,在展示特定品牌语气的提示-响应对上进行训练,可以使模型学会以该风格生成输出。同样,指令遵循行为通常也是通过在精选的良好助手行为样本上进行 SFT 来初步习得。

当您可以指定正确行为是什么样子时,SFT 是教授 LLM 新技能或行为最直接的方式。其利用模型现有的语言理解能力,并将其聚焦于任务上。若希望模型执行特定任务,且已有或可构建样本数据集,即可使用 SFT。

当您能够整理出高质量、高度贴合预期行为的提示-响应对时,也适合使用 SFT。该方法适用于目标明确或格式固定的任务,例如架构、函数或工具调用,以及适合以模仿作为训练信号的结构化回答等场景。其目标是行为塑造:让模型将提示视为任务、遵循指令、采用指定语气与拒答策略,并保持输出格式一致。建议至少准备数百个示范样本,数据质量、一致性与去重比样本数量更为重要。如需实现简单且高性价比的更新,可采用低秩适应(LoRA)等参数高效微调方法训练小型适配器,同时保持基座主体参数不变。

何时不使用 SFT

当差距在于知识而非行为时,不建议使用 SFT。其无法让模型学习新事实、专业术语或最新事件。此类场景应采用检索增强生成,在推理阶段引入外部知识。当您可以评估质量却无法标注唯一正确答案时,也应避免 SFT。请改用带可验证奖励或 LLM-as-a-judge 的强化微调,直接对奖励进行优化。如果需求或内容频繁变动,应依赖检索与工具使用,而非重新训练模型。