更新时间:2024-09-12 GMT+08:00
分享

Notebook中构建新镜像

ModelArts中注册镜像

通过ECS获取和上传基础镜像将基础镜像上传后,可在SWR中查看已上传的镜像。但在ModelArts中还需要完成镜像注册后,才能在后续的Notebook中使用。

访问ModelArts,在镜像管理中选择注册镜像,如图所示:

图1 注册镜像

选择已上传的镜像源,架构选择ARM,类型勾选CPU和ASCEDN,完成镜像注册。

图2 选择已上传的镜像源

Notebook介绍

ModelArts Notebook云上云下,无缝协同,更多关于ModelArts Notebook的详细资料请查看Notebook使用场景介绍

本案例中的训练作业需要通过SFS Turbo挂载盘的形式创建,因此需要将上述数据集、代码、权重文件从OBS桶上传至SFS Turbo中。

用户需要创建开发环境Notebook,并绑定SFS Turbo,以便能够通过Notebook访问SFS Turbo服务。随后,通过Notebook将OBS中的数据上传至SFS Turbo,并对存储在SFS Turbo中的数据执行编辑操作。

Step1 创建Notebook

创建开发环境Notebook实例,具体操作步骤请参考创建Notebook实例

镜像选择已注册的自定义镜像,资源类型选择创建好的专属资源池,资源规格推荐选择“Ascend: 8*ascend-snt9b”

图3 Notebook中选择自定义镜像与规格

存储配置选择“弹性文件服务SFS”,并且选择已创建的SFS Turbo实例,子目录挂载可选择默认不填写。

如果该SFS Turbo多人共用,则推荐用户编辑“子目录挂载”,创建自己的子目录进行划分。

图4 Notebook中选择弹性文件服务

Step2 使用Notebook将OBS数据导入SFS Turbo

打开已创建的Notebook实例,选择Notebook的python-3.9.10,即可编辑Untitled.ipynb文件。编写以下代码,并运行Untitled.ipynb文件(用于将OBS中的数据导入至SFS Turbo)。

import moxing as mox  
#obs存放数据路径 
obs_code_dir= "obs://<bucket_name>/llm_train"
obs_data_dir= "obs://<bucket_name>/training_data"
obs_model_dir= "obs://<bucket_name>/model"
# NoteBook中存放数据路径
local_code_dir= "/home/ma-user/work/llm_train"
local_data_dir= "/home/ma-user/work/training_data"
local_model_dir= "/home/ma-user/work/model"
mox.file.copy_parallel(obs_code_dir,local_code_dir)
mox.file.copy_parallel(obs_data_dir,local_data_dir)
mox.file.copy_parallel(obs_model_dir,local_model_dir)

以此,OBS中的数据已迁移至SFS Turbo中,并可通过Notebook随时访问并编辑SFS Turbo中的数据。

Step3 Notebook中安装依赖包并保存镜像

在后续训练步骤中,训练作业启动命令中包含sh scripts/install.sh,该命令用于git clone完整的代码包和安装必要的依赖包。

通过运行install.sh脚本,会git clone下载Megatron-LM、MindSpeed、ModelLink源码(install.sh中会自动下载配套版本,若手动下载源码还需修改版本)至llm_train/AscendSpeed文件夹中。下载的源码文件结构如下:
|——AscendCloud-LLM
    |──llm_train                 # 模型训练代码包
          |──AscendSpeed         # 基于AscendSpeed的训练代码
                 |──ascendcloud_patch/   # 针对昇腾云平台适配的功能补丁包
                 |──scripts/             # 训练需要的启动脚本
                 |——src/                 # 启动命令行封装脚本,在install.sh里面自动构建
          |──Megatron-LM/         # 适配昇腾的Megatron-LM训练框架
          |──MindSpeed/           # MindSpeed昇腾大模型加速库
          |──ModelLink/           # ModelLink端到端的大语言模型方案
                 |——megatron/     # 注意:该文件夹从Megatron-LM中复制得到
                 |——...

您可以在Notebook中导入完代码之后,在Notebook运行sh scripts/install.sh命令提前下载完整代码包和安装依赖包,然后使用保存镜像功能。后续训练作业使用新保存的镜像,无需每次启动训练作业时再次下载代码包以及安装依赖包,可节约训练作业启动时间。

图5 安装依赖包
图6 保存镜像
图7 填写保存镜像相关参数

相关文档