本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SageMaker HyperPod 配方适配器建立在 Nvidia Nemo 和 Pytorch-Lightning 框架之上。如果你已经使用过这些框架,那么将你的自定义模型或功能集成到 SageMaker HyperPod 配方适配器也是类似的过程。除了修改配方适配器外,您还可以更改自己的预训练或微调脚本。有关编写自定义训练脚本的指导,请参阅示例
使用 SageMaker HyperPod 适配器创建自己的模型
在配方适配器中,可以在以下位置自定义以下文件:
-
collections/data
: 包含一个负责加载数据集的模块。目前,它仅支持来自的数据集 HuggingFace。如果您有更高级的要求,则代码结构允许您在同一个文件夹中添加自定义数据模块。 -
collections/model
:包括各种语言模型的定义。目前,它支持常见的大型语言模型,例如 Llama、Mixtral 和 Mistral。您可以灵活地在此文件夹中引入自己的模型定义。 -
collections/parts
:此文件夹包含以分布式方式训练模型的策略。一个例子是完全分片数据并行 (FSDP) 策略,它允许跨多个加速器对大型语言模型进行分片。此外,这些策略还支持各种形式的模型并行性。您还可以选择为模型训练引入自己的自定义训练策略。 -
utils
:包含各种旨在促进培训作业管理的实用程序。它可以用作存放您自己的工具的存储库。您可以使用自己的工具执行故障排除或基准测试等任务。您还可以在此文件夹中添加自己的个性化 PyTorch Lightning 回传。您可以使用 PyTorch Lightning 回调将特定功能或操作无缝集成到训练生命周期中。 -
conf
:包含用于验证训练作业中特定参数的配置架构定义。如果您引入了新的参数或配置,则可以将您的自定义架构添加到此文件夹。您可以使用自定义架构来定义验证规则。您可以验证数据类型、范围或任何其他参数约束。您也可以定义自己的自定义架构来验证参数。