

# 基于 SageMaker HyperPod 的 Amazon Nova 自定义
<a name="nova-hp"></a>

您可以通过 [Amazon Nova 配方](nova-model-recipes.md)自定义 Amazon Nova 模型（包括增强版 Amazon Nova 2.0 模型），并在 Hyperpod 上完成模型训练。配方是指 YAML 配置文件，该文件向 SageMaker AI 提供有关如何运行模型自定义作业的详细信息。SageMaker HyperPod 支持两种服务类型：Forge 与非 Forge。

HyperPod 使用优化的 GPU 实例和适用于 Lustre 的 Amazon FSx 存储提供高性能计算，通过集成 TensorBoard 等工具实现强大的监控，支持灵活的检查点管理以实现迭代改进，可无缝部署到 Amazon Bedrock 进行推理，并支持高效可扩展的多节点分布式训练。所有这些功能协同工作，为组织提供一个安全、高性能且灵活的环境，以便组织根据其特定业务需求定制 Amazon Nova 模型。

在 SageMaker HyperPod 上进行 Amazon Nova 模型自定义时，会将模型构件（包括模型检查点）存储在服务托管的 Amazon S3 存储桶中。服务托管存储桶中的构件使用 SageMaker AI 托管的 AWS KMS 密钥进行加密。服务托管的 Amazon S3 存储桶目前不支持使用客户托管的 KMS 密钥进行数据加密。您可以利用此检查点位置进行评估作业或 Amazon Bedrock 推理。

标准定价适用于计算实例、Amazon S3 存储和适用于 Lustre 的 FSx。有关定价详情，请参阅 [HyperPod 定价](https://aws.amazon.com/sagemaker-ai/pricing/)、[Amazon S3 定价](https://aws.amazon.com/s3/pricing/)以及[适用于 Lustre 的 FSx 定价](https://aws.amazon.com/fsx/lustre/pricing/)。

## Amazon Nova 2 模型的算力需求
<a name="nova-hp-compute-2"></a>

下表汇总了针对 Amazon Nova 2 模型进行 SageMaker HyperPod 和 SageMaker AI 训练作业时的算力需求。


**Nova 2 训练要求**  

| 训练技术 | 最小实例数 | 实例类型 | GPU 计数 | 备注 | 支持的模型 | 
| --- |--- |--- |--- |--- |--- |
| SFT（LoRA） | 4 | P5.48xlarge | 16 | 参数高效微调 | Nova 2 Lite | 
| SFT（全秩） | 4 | P5.48xlarge | 32 | 全模型微调 | Nova 2 Lite | 
| 基于 SageMaker 训练作业进行 RFT（LoRA） | 2 | P5.48xlarge | 16 | 在 AWS 环境中使用自定义奖励函数 | Nova 2 Lite | 
| 基于 SageMaker 训练作业进行 RFT（全秩） | 4 | P5.48xlarge | 32 | 32K 上下文长度 | Nova 2 Lite | 
| 基于 SageMaker HyperPod 进行 RFT | 8 | P5.48xlarge | 64 | 默认 8192 上下文长度 | Nova 2 Lite | 
| CPT | 4 | P5.48xlarge | 16 | 每个实例每天约处理 4 亿词元 | Nova 2 Lite | 

要在 Hyperpod 上优化 Amazon Nova 模型自定义工作流，请遵循以下关于高效训练、资源管理及成功部署模型的最佳实践建议。

## Amazon Nova 自定义最佳实践
<a name="best-practices"></a>

### 概述
<a name="nova-customization-overview"></a>

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

#### LLM 训练的两个阶段
<a name="nova-llm-training-stages"></a>

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

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

### 选择合适的自定义方法
<a name="nova-choosing-customization-approach"></a>

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

#### 强化微调（RFT）
<a name="nova-reinforcement-fine-tuning"></a>

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

##### 工作原理
<a name="nova-rft-how-it-works"></a>

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

##### 何时使用 RFT
<a name="nova-rft-when-to-use"></a>

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

**在以下情况下，建议考虑其他方法：**
+ 拥有充足且可靠的标注输入-输出对：使用 SFT
+ 主要差距在于知识或术语：使用检索增强生成（RAG）
+ 奖励信号存在噪声或不可靠，且无法通过优化评分规则或校验工具解决：在采用 RFT 之前先稳定奖励信号

##### 何时不使用 RFT
<a name="nova-rft-when-not-to-use"></a>

在以下情况下应避免使用 RFT：
+ 可低成本生成可靠的标注输入-输出对（SFT 更简单、低成本且更稳定）
+ 差距在于知识或术语，而非行为（建议使用 RAG）
+ 奖励信号存在噪声、稀疏、易被钻漏洞，或者计算成本高昂、速度缓慢（先优化评测器）
+ 基线性能近乎为零（先通过 SFT 完成引导，再进行偏好优化）
+ 任务具备确定性架构、严格格式要求或唯一正确答案（SFT 或基于规则的验证效果更佳）
+ 严苛的延迟或成本预算，无法承担 RFT 所需的额外采样与探索开销
+ 安全与策略约束定义不清晰，且无法在奖励函数中有效强制执行

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

#### 监督式微调（SFT）
<a name="nova-supervised-fine-tuning"></a>

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

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

##### 工作原理
<a name="nova-sft-how-it-works"></a>

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

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

##### 何时使用 SFT
<a name="nova-sft-when-to-use"></a>

当任务定义清晰、预期输出明确时，即可使用 SFT。如果您能明确给出“输入为 X 时，正确输出为 Y”的形式，并能收集此类映射样本，监督式微调便是理想选择。SFT 在以下场景中表现出色：
+ **结构化或复杂的分类任务**：将内部文档或合同分为多个自定义类别。通过 SFT，模型对这些特定类别的学习效果要远优于仅使用提示词。
+ **具有已知答案的问答或转换任务**：微调模型以回答公司知识库中的问题，或者在格式之间转换数据，其中每个输入都有对应的正确答案。
+ **格式和风格一致性**：通过根据正确格式或语气的样本进行微调，训练模型始终以特定格式或语气做出响应。例如，在展示特定品牌语气的提示-响应对上进行训练，可以使模型学会以该风格生成输出。同样，指令遵循行为通常也是通过在精选的良好助手行为样本上进行 SFT 来初步习得。

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

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

##### 何时不使用 SFT
<a name="nova-sft-when-not-to-use"></a>

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

**Topics**
+ [Amazon Nova 2 模型的算力需求](#nova-hp-compute-2)
+ [Amazon Nova 自定义最佳实践](#best-practices)
+ [Nova Forge SDK](nova-hp-forge-sdk.md)
+ [创建带有受限实例组（RIG）的 SageMaker HyperPod EKS 集群](nova-hp-cluster.md)
+ [Amazon SageMaker HyperPod 核心命令指南](nova-hp-essential-commands-guide.md)
+ [Nova Forge 访问与设置](nova-forge-hp-access.md)
+ [Amazon Nova 模型训练](nova-hp-training.md)
+ [评估经过训练的模型](nova-hp-evaluate.md)
+ [使用 MLflow 监控 HyperPod](nova-hp-mlflow.md)