Notebook中构建新镜像
ModelArts中注册镜像
通过ECS获取和上传基础镜像将基础镜像上传后,可在SWR中查看已上传的镜像。但在ModelArts中还需要完成镜像注册后,才能在后续的Notebook中使用。
访问ModelArts,在镜像管理中选择注册镜像,如图所示:
选择已上传的镜像源,架构选择ARM,类型勾选CPU和ASCEDN,完成镜像注册。
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”。
存储配置选择“弹性文件服务SFS”,并且选择已创建的SFS Turbo实例,子目录挂载可选择默认不填写。
如果该SFS Turbo多人共用,则推荐用户编辑“子目录挂载”,创建自己的子目录进行划分。
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完整的代码包和安装必要的依赖包。
|——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命令提前下载完整代码包和安装依赖包,然后使用保存镜像功能。后续训练作业使用新保存的镜像,无需每次启动训练作业时再次下载代码包以及安装依赖包,可节约训练作业启动时间。