准备Notebook
ModelArts Notebook云上云下,无缝协同,更多关于ModelArts Notebook的详细资料请查看开发环境介绍。
本案例中的训练作业需要通过SFS Turbo挂载盘的形式创建,因此需要将上述数据集、代码、权重文件从OBS桶上传至SFS Turbo中。
用户需要创建开发环境Notebook,并绑定SFS Turbo,以便能够通过Notebook访问SFS Turbo服务。随后,通过Notebook将OBS中的数据上传至SFS Turbo,并对存储在SFS Turbo中的数据执行编辑操作。
创建Notebook
创建开发环境Notebook实例,具体操作步骤请参考创建Notebook实例。
镜像选择已注册的自定义镜像,资源类型选择创建好的专属资源池,规格推荐选择“Ascend: 8*ascend-snt9b”。
存储配置选择“弹性文件服务SFS”,并且选择已创建的SFS Turbo实例。如果该SFS Turbo多人共用,则推荐用户编辑“子目录挂载”,创建自己的子目录进行划分。
使用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中的数据。
Notebook中安装依赖包并保存镜像
在后续训练步骤中,训练作业启动命令中包含sh scripts/install.sh,该命令用于git clone完整的代码包和安装必要的依赖包,每次启动训练作业时会执行该命令安装。
您可以在Notebook中导入完代码之后,在Notebook运行sh scripts/install.sh命令提前下载完整代码包和安装依赖包,然后使用保存镜像功能。后续训练作业使用新保存的镜像,无需每次启动训练作业时再次下载代码包以及安装依赖包,可节约训练作业启动时间。
由于训练启动命令也会执行sh scripts/install.sh安装依赖包,因此Notebook保存镜像为可选操作。