本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
迭代训练
通过按顺序链接多种训练技术,迭代训练可以为 Amazon Nova 模型开发复杂的训练管道。这种方法允许您分层不同的自定义方法,以实现精确定制的模型。
该过程首先使用一种标准技术(例如 SFT、PEFT 或 DPO)训练 Amazon Nova 模型。完成后,您将在指定的 S3 输出位置找到一个manifest.json
文件。此文件包含一个checkpoint_s3_bucket
值,用于指示训练后的模型的存储位置。
然后,您可以在后续训练运行中使用此检查点位置作为model_name_or_path
参数,从而有效地在之前的自定义工作基础上再接再厉。这创建了一系列渐进式改进,每个训练阶段都会根据您的特定要求进一步完善模型。
通过迭代训练,您可以开发更为复杂的训练管道来调优 Amazon Nova 模型。通过级联训练模块,您可以分层应用训练方法,以完全根据您的需求自定义模型。
首先,您要使用中描述的其中一种技术来训练 Amazon Nova 亚马逊上的 Amazon Nova 定制 SageMaker HyperPod。在训练期间定义的输出 S3 位置处,找到 manifest.json
文件。此文件包含 checkpoint_s3_bucket
值,指示输出模型的定义位置。在未来的训练运行中,您可以将此输出位置用作 model_name_or_path
值。
示例
以下示例逐步完成一个工作流程,该工作流程定义了 Amazon Nova Lite 模型的监督微调 (SFT) > SFT > 直接偏好优化 (DPO) 迭代训练。首先,必须为基础模型的初始 SFT 训练定义运行方案。
## Run config run: name: "my-fullrank-run-sft" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "nova-lite/prod" # Base model path, do not change replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://
Path to training data
" # Your training data path output_s3_path: "s3://Path to output data location
" # Output artifact path
此训练作业将在定义的路径中生成一个类似output_s3_path
于以下内容的manifest.json
文件:
{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}
此检查点路径可以在下一个迭代训练步骤中用作. model_name_or_path
这样做会引导训练使用前一个检查点作为下一个训练方法的基础模型,而不是基础模型。
示例中的以下步骤定义了在另一组数据上运行的 SFT 训练,该训练可用于在各种交互集上训练模型。
## Run config run: name: "my-fullrank-run-sft-2" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://
customer-escrow-bucket-unique_id/my-fullrank-run-sft-unique id
/outputs/checkpoints" # Model checkpoint after 1st SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2
" # Customer data path output_s3_path: "s3://Path to output data location
" # Output artifact path
与第一个训练集一样,这将在输出位置输出一个类似的manifest.json
文件:
{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}
然后可以将其用作最后一次使用 DPO 的迭代训练运行的最终输入:
## Run config run: name: "my-fullrank-run-dpo" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://
customer-escrow-bucket-unique_id/my-fullrank-run-sft-2-unique id
/outputs/checkpoints" # Model checkpoint after 2nd SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2
" # Your training data path output_s3_path: "s3://Path to output data location
" # Output artifact path
此迭代训练管道中任何步骤的输出都可用于推理或评估,也可以用于检查模型在此过程中的进度,以确保其收敛到所需的输出。
限制
迭代训练可以按任意顺序使用任何可用的训练方法进行,只要迭代次数不限,你就可以达到预期的结果。迭代训练时,模型和技术(与LoRa PEFT相比是满级)都必须保持一致。例如,如果您在LoRa PEFT训练后尝试使用全等级微调进行迭代训练,则训练作业将引发错误。同样,如果你想在亚马逊 Nova Micro 检查点之上定义 Amazon Nova Lite 训练作业,则会收到错误消息。