AI 加速——用 Amazon SageMaker HyperPod 与 LLaMA-Factory 轻松实现大模型微调

一、 前言

1、实验内容

本实验中,我们将带你深入探索如何基于 Amazon SageMaker HyperPod,使用 LLaMA-Factory 轻松微调 Llama-3-8B 大模型的全过程。你将亲身体验如何结合 Amazon SageMaker HyperPod 的强大分布式训练能力和 LLaMA-Factory 的高效微调框架,快速定制适合具体业务场景的生成式 AI 模型。让我们一起开启多模态沉浸式学习,掌握 Supervised Fine-Tuning 的精髓,灵活调整训练模型参数,最终实现高效定制的生成式 AI 应用解决方案,并构建智能化的客户支持和互动助手。

2、手册内容

本手册的内容包括:

  • 基于 Amazon SageMaker HyperPod 的功能介绍与环境准备
  • 使用 Jupyter Notebook 创建 HyperPod 集群
  • 配置 HyperPod 集群环境
  • 利用 LLaMA-Factory 框架进行分布式训练脚本的部署与运行
  • Amazon SageMaker HyperPod 集群上轻松完成基于 LLaMA-FactoryLlama-3-8B 大模型微调

二、环境准备

1、进入环境

点击 “开始实验” 按钮,即可扫码进入实验环境。测试账号有效期仅为一天,过期后系统将自动回收清理,请不要上传您的重要数据。

同时,点击“立即注册”按钮,即可免费注册属于你的亚马逊云科技海外区账号,开启个性化的系统构建之旅,进一步探索更广泛、更深入的云服务领域并保留实验中构建的系统应用,尽情享受云上构建的无限可能!

如果您在自己的亚马逊云科技账户上进行实验,请务必在实验完成后根据清理资源板块部分的说明删除和关闭所有实验资源,以避免产生不必要的费用。

扫码登陆:

填写邮箱:

如果您之前没有填写过邮箱,则需要填写一下邮箱,并勾选隐私协议,点击前往实验,及可进入实验室

2、Jupyter Notebook 实例环境准备

在开始进行实验之前,Cloudformation 页面点击堆栈,例如这里是 HyperPod,具体堆栈信息请参考实验环境。接着在该堆栈中"输出"字段中访问 Jupyter Notebook 链接。具体操作如下:

在点击链接进入Amazon SageMaker后,选择左侧"Notebooks",点击 打开JupyterLab 打开创建好的 Notebook

SageMaker Notebook JupyterLab 中,打开一个 Terminal

终端打开后,执行以下命令进入 SageMaker 目录,并运行命令下载相关代码,同时赋予权限。

sudo su
cd SageMaker/
git clone --recurse-submodules https://github.com/TestsLing/LLM_Fintune_using_SageMaker_hyperpod_with_LLama_Factory.git
# 777权限
chmod 777 -R LLM_Fintune_using_SageMaker_hyperpod_with_LLama_Factory

三、训练数据、模型和微调脚本准备

训练数据、模型和微调脚本的准备是实现模型高效微调的关键步骤。在这一阶段,我们需要确保训练数据的质量和多样性,同时选择适合的模型和脚本来完成微调任务。具体的准备过程包括数据预处理、模型加载以及微调脚本的配置等,能够为后续的训练提供扎实的基础。您可以参考示例代码,该示例详细展示了完整的准备流程:LLM_Fintune_using_SageMaker_hyperpod_with_LLama_Factory.ipynb 。其中,第 1 部分重点讲解了训练数据的获取与整理、模型的选择与加载,以及微调脚本的设计与实现。这一部分内容对于快速上手微调任务提供了非常实用的指导。

1、训练数据准备

Notebook中,安装好相关依赖后,运行以下代码,从huggingface下载ruozhiba数据集并保存为本地json文件。成功保存后,会生成一个train目录。

下载身份数据集,并将其中的 nameauthor 替换为 Riverbot

最后,将数据复制到我们的 S3 中。

2、模型准备

下载基础模型至本地,再上传至S3。本次实验所用基础模型为 Meta-Llama-3-8B-Instruct-AWQ

3、微调脚本准备

在准备 LLaMA-Factorydataset_info 文件时,需将 ruozhiba 数据按 alpaca 格式整理并保存到 dataset_info.json 文件中。

准备 LLaMA-Factory 的训练配置文件,需复制 LLaMA-Factory/examples/train_qlora/ 目录下的llama3_lora_sft_awq.yaml 文件并进行修改,具体设置如下。

使用 deepspeed zero3 方式对 llama3_lora_sft_awq.yaml 进行 lora 训练,具体如下:

代码解释:

# model
model_name_or_path: TechxGenus/Meta-Llama-3-8B-Instruct-AWQ 指定了要使用的预训练模型的位置或名称,这里是Meta公司开发的Llama系列中的一个变体,经过了特定指令微调(Instruct)并且使用AWQ(Adaptive Weight Quantization)进行了量化以减少模型大小和加速推理。

# method
stage: sft 表示当前的训练阶段是监督微调(Supervised Fine-Tuning, SFT),这是指在标注数据上进行进一步训练以改进模型性能。
do_train: true 说明将执行训练过程。
finetuning_type: lora 选择了LoRA(Low-Rank Adaptation)作为微调方法,这是一种高效微调策略,它只更新模型中的一小部分参数。
lora_target: all 表明LoRA应用于所有层或参数。
dataset
dataset: identity,alpaca_en_demo 指定了使用的数据集,这里包含了两个数据集:identity 和 alpaca_en_demo。
template: llama3 定义了数据样本的格式模板,可能是指与Llama-3模型兼容的数据格式。
cutoff_len: 1024 设置了输入序列的最大长度为1024个token。
max_samples: 1000 限制了从数据集中最多抽取1000个样本用于训练。
overwrite_cache: true 如果存在缓存的数据处理结果,则会覆盖旧的缓存。
preprocessing_num_workers: 16 在数据预处理时使用的并行工作线程数为16。

# output
output_dir: saves/llama3-8b/lora/sft 指定了保存训练输出(如检查点、日志等)的目录。
logging_steps: 10 每10步记录一次训练日志。
save_steps: 500 每500步保存一次模型检查点。
plot_loss: true 会在训练过程中绘制损失函数的变化图表。
overwrite_output_dir: true 允许覆盖输出目录中的现有文件。

# train
per_device_train_batch_size: 1 每个设备上的训练批次大小为1。
gradient_accumulation_steps: 8 由于批次大小较小,梯度累积步骤设为8,即相当于每8个前向传播后才进行一次反向传播更新参数。
learning_rate: 1.0e-4 设置学习率为0.0001。
num_train_epochs: 3.0 训练将持续3个epoch。
lr_scheduler_type: cosine 使用余弦退火学习率调度器来调整学习率。
warmup_ratio: 0.1 学习率预热比例为10%。
bf16: true 启用Brain Floating Point 16位精度进行训练,以提高速度和降低内存使用。
ddp_timeout: 180000000 设置分布式数据并行(Distributed Data Parallel, DDP)的超时时间为180秒(实际上这个值非常大,可能是误输入)。

# eval
val_size: 0.1 从训练集中划分出10%的数据作为验证集。
per_device_eval_batch_size: 1 每个设备上的验证批次大小为1。
eval_strategy: steps 验证评估将在指定的步骤间隔进行。
eval_steps: 500 每500步进行一次验证评估。

最后,保存训练配置文件,并将训练脚本上传至 S3 bucket。随后,该 S3 bucket 将被挂载到集群的所有节点上,以便所有计算节点都能访问训练代码。。

# 上传脚本至S3
./s5cmd sync ./LLaMA-Factory s3://{bucket}/hyperpod/
!aws s3 cp --recursive hyperpod-scripts/ s3://{bucket}/hyperpod/LLaMA-Factory/

四、使用 Jupyter Notebook 创建 HyperPod 集群

1、SageMaker HyperPod 简介

SageMaker HyperPod 是一种高效的分布式训练平台,专为支持持续数天、数周甚至数月的开发和训练任务而设计,能够将训练时间缩短多达 40%。
HyperPod 依托基于 SlurmHPC 高性能弹性计算集群,支持单机或跨机器、跨 GPU 的大规模并行训练。通过提供原生的 GPUCPU 基础设施,用户可以灵活控制和部署任意框架,充分利用亚马逊云的可扩展计算能力,线性提升训练吞吐量。
此外,HyperPod 预配置了 SageMaker 分布式训练库,自动将训练工作负载分解至数千个 GPU 并行处理,大幅提高训练效率。它具备自动保存 Checkpoint 的功能,支持数周或数月的无中断训练;在硬件故障发生时,HyperPod 可自动检测问题并进行修复或替换故障实例,并从最近的检查点恢复训练,无需任何手动干预,从而确保任务的稳定、持续运行。

3、创建 Amazon SageMaker HyperPod 集群

在微调大模型的过程中,集群环境的配置是确保高效训练的重要环节。您可以打开 LLM_Fintune_using_SageMaker_hyperpod_with_LLama_Factory.ipynb,其中第 2 部分详细介绍了如何利用 Jupyter Notebook 创建和配置 Amazon SageMaker HyperPod 集群。

例如,测试环境中的规则如下,请具体根据实验环境的 sagemaker bucket 信息替换后续中的"sagemaker bucket":

sagemaker role arn: arn:aws:iam::605630858339:role/HyperPod-ExecutionRole-RNqVFmKn6Zuq
sagemaker bucket: sagemaker-us-west-2-605630858339
sagemaker session region: us-west-2
boto3 version: 1.35.95
sagemaker version: 2.237.1

编写一个 Slurm 配置文件,并将其另存为 provisioning_parameters.json。在该文件中,配置基本的 Slurm 参数,确保 Slurm 节点能正确分配到集群实例组,并上传到 S3 存储桶。

本示例中,我们创建 2 个组,分别是控制组和工作组,设置组名为

  • my-controller-group
  • worker-group-1

也可以创建多个 worker-group,不同的 group 可以使用不同类型的实例。

另外 partition_name 表示节点分区,可以结合用户组来控制资源的使用权限。

如以下示例配置所示。

%%writefile lifecycle-scripts/provisioning_parameters.json
{
    "version": "1.0.0",
    "workload_manager": "slurm",
    "controller_group": "my-controller-group",
    "worker_groups": [
        {
            "instance_group_name": "worker-group-1",
            "partition_name": "partition-1"
        }
    ]
}

执行以下代码,下载官方的 LifeCycle 配置文件并上传至 S3 存储桶,同时将 provisioning_parameters.json 文件复制到 S3,以备后续创建集群使用。

!aws s3 cp --recursive awsome-distributed-training/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/ s3://{bucket}/hyperpod/LifecycleScripts/
!aws s3 cp —recursive lifecycle-scripts/ s3://{bucket}/hyperpod/LifecycleScripts/

准备一个 create_cluster.json 文件,用于使用 aws cli 命令行创建 HyperPod 集群,例如,以下配置文件将创建一个 ml.c5.xlarge*1+ml.g5.xlarge*2 的集群。

#替换成实际的集群名称
cluster_name = "hyperpod-cluster-1"
SourceS3Uri = f"s3://{bucket}/hyperpod/LifecycleScripts"
worker_instance = "ml.g5.xlarge"
worker_count = 2
create_cluster = \
{
    "ClusterName": cluster_name,
    "InstanceGroups": [
        {
            "InstanceGroupName": "my-controller-group",
            "InstanceType": "ml.c5.xlarge",
            "InstanceCount": 1,
            "LifeCycleConfig": {
              "SourceS3Uri": SourceS3Uri,
              "OnCreate": "on_create.sh"
            },
            "ExecutionRole": role,
            "ThreadsPerCore": 1
        },
        {
            "InstanceGroupName": "worker-group-1",
            "InstanceType": worker_instance,
            "InstanceCount": worker_count,
            "LifeCycleConfig": {
              "SourceS3Uri": SourceS3Uri,
              "OnCreate": "on_create.sh"
            },
            "ExecutionRole": role,
            "ThreadsPerCore": 1
        }
    ]
}
with open("create_cluster.json","w") as f:
    json.dump(create_cluster,f)

**代码解释:**这段代码使用 Python 构建了一个名为 create_cluster 的字典,该字典详细描述了一个机器学习或数据处理集群的配置,包括集群名称 hyperpod-cluster-1S3 存储桶中生命周期脚本的位置、worker_instance 和节点的实例类型与数量、以及每个实例组在创建时执行的脚本和关联的 IAM 角色;随后,它将这个配置字典序列化为 JSON 格式,并写入到名为create_cluster.json 的文件中,以便于后续通过该配置文件来部署指定规格的集群。

Notebook 中运行以下命令来创建集群,注意:file:// 后面是 create_cluster.json 的绝对路径。

!aws sagemaker create-cluster --cli-input-json file://~/SageMaker/LLM_Fintune_using_SageMaker_hyperpod_with_LLama_Factory/create_cluster.json

继续运行相应代码,持续监测集群部署进度。大约 12 至 13 分钟后,集群成功启动,此时可在控制台的 SageMaker HyperPod Console 看到已启动的集群,如图所示。

Notebook 中执行以下命令,查看集群 node 信息,以确认集群是否已成功创建。

!aws sagemaker list-clusters
#替换成实际的集群名称
cluster_name=hyperpod-cluster-1
!aws sagemaker list-cluster-nodes --cluster-name {cluster_name} --region us-west-2

4、通过 Amazon Systems Manager (SSM) 访问集群

当您在本地主机远程访问集群时,需先将 easy-ssh.sh 脚本下载至本地主机。同时,要确保本地主机已正确配置 Amazon 凭证,包括 Access KeySecret Access Key,且具备相应权限,具体可参照指定的权限策略(Policy)。若是在已部署的 SageMaker Notebook 实例中访问集群,由于该实例启动时已预设了相关权限,无需再进行额外配置,具体操作如下。

打开 Notebook 中的终端 Terminal

依次执行以下命令,安装 session-manager-plugin 插件。

sudo su
cd SageMaker/LLM_Fintune_using_SageMaker_hyperpod_with_LLama_Factory/
sudo yum install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm

在终端中输入 session-manager-plugin,检查是否安装成功。

session-manager-plugin

请按照以下步骤将 session-manager-plugin 添加到环境变量中。

find / -name "session-manager-plugin"
echo $PATH
cp /usr/local/bin/session-manager-plugin /usr/bin
session-manager-plugin

接着,将 easy-ssh.sh 复制到当前用户的目录中。

cp awsome-distributed-training/1.architectures/5.sagemaker-hyperpod/easy-ssh.sh ./

然后,登录工作节点。

sudo su ec2-user
chmod +x easy-ssh.sh 
cluster_name=hyperpod-cluster-1
group=worker-group-1
./easy-ssh.sh $cluster_name --controller-group $group

最后,在登录进入后,切换到 ubuntu 用户,运行 sinfo 查看当前集群状态。

sudo su ubuntu
sinfo

5、上传训练脚本到 S3 桶中并挂载 S3

将训练脚本上传至 S3 bucket,随后将该 S3 bucket 挂载至集群的各个节点,以便所有计算节点都能访问训练代码和数据。

!./s5cmd sync ./LLaMA-Factory s3://{bucket}/hyperpod/
!aws s3 cp --recursive hyperpod-scripts/ s3://{bucket}/hyperpod/LLaMA-Factory/

挂载 S3。**注意:**在节点中执行下面命令。

  • Hyperpod 集群特别适合大规模集群分布式训练,由于其提供了底层 IaaS 基础设施的接入,因此可以方便的使用业界流行的各种分布式框架,如 accelerateDeepspeed…etc
  • EC2 实例一样,Hyperpod 集群实例上可以挂载各种共享存储,如 EFSLustreS3等,此处我们以 mount-s3 为例。
  • mount-s3 共享存储安装及挂载脚本示例:
  • 回到之前安装 session-manager-plugin 的 Terminal 中执行
  • aws regionaccount id 可从第 2 部分"使用 Jupyter Notebook 创建 HyperPod 集群"查看,详见下图。
# 下载 s3mount
cd ~
srun -N2 "wget" "https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.deb"
srun -N2 sudo apt-get install -y  ./mount-s3.deb
# 挂载到"~/mnt" 中, 注意实验中只用了1个计算节点,所以N 1,如果是多节点,则>1
srun -N2 "sudo" "mkdir" "/home/ubuntu/mnt" 
# 注意替换成您自己的 aws region 和 account id,具体可从第 2 部分"使用Jupyter Notebook创建HyperPod集群"查看
srun -N2 "sudo" "mount-s3" "--allow-other" "--allow-overwrite" "sagemaker-us-west-2-605630858339" "/home/ubuntu/mnt" 

6、在集群上安装 LLaMA-Factory

请保持登录集群节点状态,若出现"session expired"提示,请参照上述方法重新登录。

chmod +x easy-ssh.sh 
cluster_name=hyperpod-cluster-1
group=worker-group-1
./easy-ssh.sh $cluster_name --controller-group $group

S3 bucket 目录下的代码复制到本地目录。

sudo su ubuntu
cd ~
srun -N2 "cp" "-r" "mnt/hyperpod/LLaMA-Factory" "LLaMA-Factory"

依次执行以下命令。

cd LLaMA-Factory
srun -N2 "rm" "-rf" "../miniconda3"
srun -N2 "rm" "-rf" "Miniconda3-latest*"
srun -N2 "bash" "llama_factory_setup.sh"

执行以下命令,检查 LLaMA_Factory 环境是否已安装。

source  ../miniconda3/bin/activate
source activate py310

至此,使用 Jupyter Notebook 创建 HyperPod 集群部分结束。

五、在 HyperPod 集群上基于 LLama_Factory 进行分布式模型微调

1、LLama_Factory 简介

LLaMA-Factory 是开源社区推出的一套功能强大的大模型集成训练框架,支持多样化的模型、训练方法和精度配置,适用于多种应用场景。以下是其主要特点:

  • LLaMA-Factory 本身已经预置了多种丰富的训练数据集,可以自动从 huggingface repo 中下载,也支持自定义数据集,支持 alpaca 或者 sharegpt,需要在 LLaMA-Factory/data/dataset_info.json 注册即可。我们可以把准备好的数据集上传至 S3,然后把数据集元信息注册到 dataset_info.json 中。并在训练脚本中采用执行 s5cmdS3 下载数据集到节点的本地 data 目录中。
  • 多种模型支持:兼容 LLaMA、LLaVA、Mistral、Mixtral-MoE、Llama-3-8B、Yi、Gemma、Baichuan、ChatGLM、Phi 等多种模型,为用户提供丰富的选择。
  • 灵活的训练方法:支持增量预训练、多模态指令监督微调、奖励模型训练,以及多种强化学习方法,包括 PPO、DPO、KTOORPO 等。
  • 多种精度支持:从 32 比特全参数微调到 16 比特冻结微调,再到基于 AQLM、AWQ、GPTQLLM.int82/4/8 比特 QLoRA 微调,为用户提供从高精度到轻量化的多样化选项。
  • 先进算法:集成了 GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ 以及 Agent 微调等前沿算法,为高效训练和性能优化提供有力支持。

LLaMA-Factory 结合 Amazon SageMaker 可进一步扩展其适用范围,支持其他模型和训练方法。通过 Amazon SageMaker 托管服务,用户无需关心资源的系统配置,可按需启动训练任务,并在训练完成后自动释放节点资源。这种灵活性不仅提升了使用体验,还有效降低了长期资源占用的成本,为用户带来更便捷、更经济的训练解决方案。

2、基于 Amazon SageMaker HyperPod 微调 Llama-3-8B 模型

在大模型微调任务中,分布式训练是一项关键技术,它能够有效提升训练效率并加速模型的优化过程。为此,您可以打开 LLM_Fintune_using_SageMaker_hyperpod_with_LLama_Factory.ipynb,其中第 3 部分详细展示了如何利用 HyperPod 集群和 LLama_Factory 实现分布式模型微调。

接着,我们加载上述步骤中 LLaMA-Factory 的训练配置 yaml 文件。

**注意:**准备训练启动脚本,需要复制图中红框圈出的内容替换 train_single_lora.sh  中的 sagemaker bucket

使用已挂载在 S3 bucket 中的脚本,并将该 bucket 目录下的代码更新至本地目录,以备进行微调训练。

sudo su ubuntu
cd ~/LLaMA-Factory
srun -N1 "cp" "-r" "../mnt/hyperpod/LLaMA-Factory/data/dataset_info.json" "./data/dataset_info.json"

最后,提交训练任务,并在所有节点上执行以下命令。训练完成后,将 lora adapter 文件上传至 S3 输出目录。
**注意:**需要根据实验环境中图中红框圈出的内容替换命令中的 sagemaker bucket

export WANDB_DISABLED=true
source  ../miniconda3/bin/activate
conda activate py310
chmod +x ./s5cmd
./s5cmd sync s3://sagemaker bucket/dataset-for-training/train/* /home/ubuntu/LLaMA-Factory/data/
CUDA_VISIBLE_DEVICES=0 llamafactory-cli train sg_config_qlora.yaml
# 注意:根据微调后模型的具体位置,上传至S3
./s5cmd sync /tmp/finetuned_model/ s3://sagemaker bucket/hyperpod/llama3-8b-qlora/

至此,在 HyperPod 集群上基于 LLama_Factory 进行分布式模型微调部分结束。

六、使用SageMaker LMI(Large Model Inference) vLLM 引擎部署模型至 SageMaker Endpoint

LMI 容器提供与 SageMaker 的开箱即用集成,使用采用 S-LORAPunicavLLM 库托管具有更高性能(低延迟和高吞吐量)的多个 LoRA 适配器。S-LoRA 将所有适配器存储在主内存中,并将当前正在运行的查询使用的适配器提取到 GPU 内存中。为了有效使用 GPU 内存并减少碎片,S-LoRA 提出了统一分页。统一分页使用统一内存池来管理具有不同等级的动态适配器权重和具有不同序列长度的 KV 缓存张量。此外,S-LoRA 采用新颖的张量并行策略和高度优化的自定义 CUDA 内核来异构批处理 LoRA 计算。总的来说,这些功能使 S-LoRA 能够以较小的开销在单个 GPU 或多个 GPU 上为数千个 LoRA 适配器提供服务。

下图显示了 SageMakerLMI 容器的多 LoRA 适配器服务堆栈 SageMakerLMI容器的多 LoRA 适配器服务堆栈。

模型部署是大语言模型微调流程的最后一步,也是实现模型实际应用的关键环节。您可以打开 LLM_Fintune_using_SageMaker_hyperpod_with_LLama_Factory.ipynb,其中第 4 部分详细讲解了如何使用 SageMaker LMI (Large Model Inference)vLLM 引擎,将微调后的模型高效部署至 SageMaker Endpoint

接着,从 Amazon SageMakerECRElastic Container Registry)中检索特定的推理镜像 URI 并打印出来。然后创建一个本地目录,用于存放上述代码或文件。

创建 Lora 目录,用于下载并打包训练好的 Lora 至本地。

打印查看所在目录。

使用 SageMaker  和 boto3 创建模型,生成唯一的模型,并指定推理镜像 (inference_image_uri)、模型数据路径 (s3_code_artifact) 和执行角色 (role)。通过 sm_client.create_model 创建模型后,返回模型 ARN 并打印确认信息。

创建 SageMaker 端点配置,生成端点配置名称 endpoint_config_name 和端点名称 endpoint_name。通过 sm_client.create_endpoint_config 指定模型名称、实例类型(ml.g5.2xlarge)、实例数量和启动健康检查超时时间,完成端点配置创建,并返回配置响应。

通过 sm_client.create_endpoint 创建 SageMaker 端点,使用指定的端点名称 endpoint_name 和端点配置名称 endpoint_config_name,成功创建后打印返回的端点 ARN

等待部署完成,大约需要8分钟,节点部署即可成功。

调用 SageMaker 终端节点进行推理。

测试一:对比测试有无使用 Lora 的情况。

#测试第一个消息
messages = [
    {"role": "system", "content":"请始终用中文回答"},
     {"role": "user", "content": "你是谁?"},
]

测试第二个消息:在不使用 Lora 与使用 Lora 的情况下分别进行测试。

# 测试第二个消息
messages = [
    {"role": "system", "content":"请始终用中文回答"},
     {"role": "user", "content": "睡觉时被女鬼压床我该怎么办?"},
]

至此,使用 SageMaker LMI(Large Model Inference) vLLM 引擎部署模型至SageMaker Endpoint 部分结束。
**❗注意:**实验结束之后,运行下面命令删除节点。

!aws sagemaker delete-endpoint --endpoint-name {endpoint_name}
!aws sagemaker delete-endpoint-config --endpoint-config-name {endpoint_config_name}
!aws sagemaker delete-model --model-name {model_name}

七、资源清理

我们建议您在实验完成之后,及时清理实验资源,避免产生额外的费用。

资源清理方法:

停止 Amazon SageMaker Notebooks,参考[文档]

删除 Amazon SageMaker HyperPod 集群, 参考[文档]

八、总结

恭喜你在 Amazon SageMaker HyperPod 上完成了所有实验内容,成功通关!
通过这些实验,你不仅对 Amazon SageMaker HyperPod 在大规模分布式训练任务中的强大功能有了初步的了解,而且体验了其针对高效资源利用和快速迭代所设计的独特优化方式。Amazon SageMaker HyperPod 的核心优势在于支持创建多种计算环境,包括开发、测试和生产环境,为团队在不同阶段进行深度学习模型训练和部署提供了极大的灵活性。此外,Amazon SageMaker HyperPod 提供了一系列广泛的功能,用于构建高性能且高效的机器学习解决方案,确保在大规模训练任务中实现安全性、隐私性和责任导向的设计。通过这些实验,你已经能够利用 Amazon SageMaker HyperPod 的弹性架构,快速启动分布式训练任务,灵活调整资源配置,并使用熟悉的 Amazon SageMaker 工具轻松高效地完成模型开发、训练和部署。
现在,是时候将所学付诸实践了。轻轻一点,“注册海外账号”,立即免费踏入属于您的云端构建世界。作为新注册的您,更能体验到长达12个月的免费使用权,涵盖云计算、云数据库、云存储与前沿的生成式 AI 服务等 100 余种云产品与服务。更值一提的是,您还将全面享受亚马逊云科技的海外区域节点,为您的实战构建之旅铺设坚实的基石。不再等待,立即开启您的云上探索之旅吧!
同时,在云上探索实验室中,我们还有更多丰富多彩的实验内容,让您的学习之旅永不止步。期待您的热情参与,共同体验这场技术的盛宴,一起成长,一起探索更广阔的科技天地。

您的支持是对我最大的鼓励!

发表于: 作者:憧憬。
关注互联网以及分享全栈工作经验的原创个人博客和技术博客,热爱编程,极客精神
Github 新浪微博 SegmentFault 掘金专栏