准备资源
创建专属资源池
本文档中的模型运行环境是ModelArts Standard,用户需要购买专属资源池,具体步骤请参考创建资源池。
资源规格要求:
计算规格:不同模型训练推荐的NPU卡数请参见不同模型推荐的参数与NPU卡数设置。
硬盘空间:至少200GB。
昇腾资源规格:
- Ascend: 1*ascend-snt9b表示昇腾单卡。
- Ascend: 8*ascend-snt9b表示昇腾8卡。
推荐使用“西南-贵阳一”Region上的昇腾资源。
创建OBS桶
ModelArts使用对象存储服务(Object Storage Service,简称OBS)进行数据存储以及模型的备份和快照,实现安全、高可靠和低成本的存储需求。因此,在使用ModelArts之前通常先创建一个OBS桶,然后在OBS桶中创建文件夹用于存放数据。
本文档也以将运行代码以及输入输出数据存放OBS为例,请参考创建OBS桶,例如桶名: standard-qwenvl-7b。并在该桶下创建文件夹目录用于后续存储代码使用,例如:training_data。
创建VPC
虚拟私有云(Virtual Private Cloud)可以为您构建隔离的、用户自主配置和管理的虚拟网络环境,操作指导请参考创建虚拟私有云和子网。
创建SFS Turbo
SFS Turbo HPC型文件系统为用户提供一个完全托管的共享文件存储。SFS Turbo文件系统支持无缝访问存储在OBS对象存储桶中的对象,用户可以指定SFS Turbo内的目录与OBS对象存储桶进行关联,然后通过创建导入导出任务实现数据同步。通过OBS与SFS Turbo存储联动,可以将最新的训练数据导入到SFS Turbo,然后在训练作业中挂载SFS Turbo到容器对应ckpt目录,实现分布式读取训练数据文件。
创建SFS Turbo文件系统前提条件:
- 创建SFS Turbo文件系统前,确认已有可用的VPC。
- 需要由IAM用户设置SFS Turbo FullAccess权限,用于授权ModelArts云服务使用SFS Turbo。
详细操作指导请参考创建SFS Turbo文件系统。

其中,文件系统类型推荐选用500MB/s/TiB或1000MB/s/TiB,应用于AI大模型场景中。存储容量推荐使用 6.0~10.8TB ,以存储更多模型文件。

创建ECS服务器
弹性云服务器(Elastic Cloud Server,ECS)是由CPU、内存、操作系统、云硬盘组成的一种可随时获取、弹性可扩展的云服务器。具体过程请参考ECS文档购买一个Linux弹性云服务器。创建完成后,单击“远程登录”,可直接访问ECS服务器。
注意:CPU架构必须选择鲲鹏计算;镜像推荐选择EulerOS;ECS服务器确保可以访问公网,用于获取镜像和构建镜像。

ECS服务器挂载SFS Turbo
ECS服务器中手动挂载SFS Turbo步骤如下:
- 用户可通过CloudShell或SSH等方式登录并访问ECS服务器,进入ECS终端界面。创建/mnt/sfs_turbo目录作为挂载目录 ,命令为:mkdir /mnt/sfs_turbo。
- 单击用户创建的SFS Turbo,查看SFS Turbo基本信息,找到并复制挂载命令。
- 在ECS的终端中粘贴SFS Turbo挂载命令,完成挂载。
- 挂载完成后,可通过后续的步骤获取到代码和数据,并上传至/mnt/sfs_turbo路径下。

ModelArts网络关联SFS Turbo
OBS-SFS Turbo联动方案涉及VPC、SFS Turbo HPC型文件系统、OBS对象存储服务和ModelArts资源池。如果要使用训练作业挂载SFS Turbo功能,则需要配置ModelArts和SFS Turbo间网络直通,以及配置ModelArts网络关联SFS Turbo。
如果ModelArts网络关联SFS Turbo失败,则需要授权ModelArts云服务使用SFS Turbo,具体操作请参见配置ModelArts和SFS Turbo间网络直通。

SFS Turbo模式下执行流程

SFS Turbo作为完全托管的共享文件存储系统,在本方案中作为主要的存储介质应用于训练作业。因此,后续需要准备的原始数据集、原始Hugging Face权重文件以及训练代码都需要上传至SFS Turbo中。而基于SFS Turbo所执行的训练流程如下:
- 将SFS Turbo挂载至ECS服务器后,可直接访问SFS Turbo。通过CloudShell远程登录ECS并将代码包上传至SFS Turbo中。
- 在表1获取基础镜像,随后通过准备镜像中的步骤执行代码包中AscendCloud-AIGC-6.3.912-xxx/multimodal_algorithm/QwenVL/train/<commit_id>/Dockerfile文件,构建新的镜像,并上传至SWR中。
- 在构建镜像的过程中会下载完整的模型代码、执行环境,然后自动进行NPU适配,并将以上源码和环境打包至镜像中。
- 在ModelArts中创建训练作业如:SFT全参微调训练,执行代码包中例如:finetune/finetune_ds.sh 的脚本,开始训练。
- 在训练中,程序会自动执行对数据集预处理、权重转换、执行训练等操作,具体可通过查看日志和性能查看日志和性能、训练脚本说明 了解其中的操作。
- 训练完成后在SFS Turbo中保存训练的模型结果。(多机情况下,只有在rank_0节点进行数据预处理,权重转换等工作,所以原始数据集和原始权重,包括保存结果路径,都应该在共享目录下)