检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过不同模型中的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程。 若用户进行自定义数据集预处理以及权重转换,可通过Notebook环境编辑
编辑llm_train/AscendSpeed中的Dockerfile文件第一行镜像地址,修改为本文档中的基础镜像地址。 FROM {image_url} (选填)编辑llm_train/AscendSpeed中的Dockerfile文件,修改git命令,填写自己的git账户信息。 git config
S/MBS的值能够被NPU/(TP×PP×CP)的值进行整除。 模型推荐的参数与NPU卡数设置 不同模型推荐的训练参数和计算规格要求如表2所示。规格与节点数中的1*节点 & 4*Ascend表示单机4卡,以此类推。 表2 不同模型推荐的参数与NPU卡数设置 序号 支持模型 支持模型参数量
可调整参数:MBS指最小batch处理的样本量(micro-batch-size)、GBS指一个iteration所处理的样本量(global-batch-size)。可将MBS参数值调小至1,但需要遵循GBS/MBS的值能够被NPU/(TP×PP)的值进行整除。 可调整参数:SEQ_LEN要处理的最大的序列长
编辑llm_train/AscendSpeed中的Dockerfile文件第一行镜像地址,修改为本文档中的基础镜像地址。 FROM {image_url} (选填)编辑llm_train/AscendSpeed中的Dockerfile文件,修改git命令,填写自己的git账户信息。 git config
可调整参数:MBS指最小batch处理的样本量(micro-batch-size)、GBS指一个iteration所处理的样本量(global-batch-size)。可将MBS参数值调小至1,但需要遵循GBS/MBS的值能够被NPU/(TP×PP)的值进行整除。 可调整参数:SEQ_LEN要处理的最大的序列长
当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME=enp67s0f5
可调整参数:MBS指最小batch处理的样本量(micro-batch-size)、GBS指一个iteration所处理的样本量(global-batch-size)。可将MBS参数值调小至1,但需要遵循GBS/MBS的值能够被NPU/(TP×PP)的值进行整除。 可调整参数:SEQ_LEN要处理的最大的序列长
参数类型 描述 input 是 String 模板输入路径,可以是obs文件路径,obs目录路径,使用多输入项的模板创建模型时,如果模板定义的目标路径input_properties是一样的,则此处输入的obs目录或者obs文件不能重名,否则会覆盖。 input_id 是 String
在本机机器上运行,通过obsutil工具将本地数据集传到OBS桶。 # 将本地数据传至OBS中 # ./obsutil cp ${数据集所在的本地文件夹路径} ${存放数据集的obs文件夹路径} -f -r # 例如 ./obsutil cp ./coco obs://your_bucket/
表2 数据集输入位置,用于将此目录及子目录下的源数据(如图片/文件/音频等)同步到数据集。对于表格数据集,该参数为导入目录。表格数据集的工作目录不支持为KMS加密桶下的OBS路径。 work_path 是 表6 数据集输出位置,用于存放输出的标注信息等文件。 labels 否 List
906-xxx.zip中的AscendCloud-AIGC-6.3.906-xxx.zip文件。获取路径:Support-E。 如果没有软件下载权限,请联系您所在企业的华为方技术支持下载获取。 代码包文件名中的xxx表示具体的时间戳,以包名的实际时间为准。 Step1 准备环境
创建训练作业后,会在节点机器中使用基础镜像创建docker容器,并在容器内进行分布式训练。而install.sh则会在容器内安装依赖以及下载完整的代码。当训练作业结束后,对应的容器也会同步销毁。 图1 训练作业启动命令 父主题: 准备镜像
--model-type:模型类型。 --loader:选择对应加载模型脚本的名称。 --saver:选择模型保存脚本的名称。 --tensor-model-parallel-size:${TP}张量并行数,需要与训练脚本中的TP值配置一样。 --pipeline-model-paralle
镜像方案说明 准备大模型训练适用的容器镜像,包括获取镜像地址,了解镜像中包含的各类固件版本,配置Standard物理机环境操作。 基础镜像地址 本教程中用到的训练的基础镜像地址和配套版本关系如下表所示,请提前了解。 表1 基础容器镜像地址 镜像用途 镜像地址 配套版本 训练基础镜像
建训练作业时,训练作业的图1中都需要执行 install.sh文件,来安装依赖以及下载完整代码。 使用基础镜像的方法,需要确认训练作业的资源池是否联通公网,否则执行 install.sh 文件时下载代码会失败。因此可以选择配置网络或使用ECS中构建新镜像的方法。 若要对ChatC
当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5 #
在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 Yi模型 在使用Yi模型的chat版本时,由于transformer 4.38版本的bug,导致在读取toke
tokenizer的存放路径,与HF权重存放在一个文件夹下。 --handler-name:生成数据集的用途,这里是生成的文本数据集,用于预训练。 GeneralPretrainHandler:默认。用于预训练时的数据预处理过程中,将数据集根据key值进行简单的过滤。 --seq-length:要处理的最大seq
ECS中上传新镜像 Step1 在ECS中Docker登录 在SWR中单击右上角的“登录指令”,然后在跳出的登录指定窗口,单击复制临时登录指令。在创建的ECS中粘贴临时登录指令,即可完成登录。 图1 复制登录指令 Step2 修改并上传镜像 在ECS服务器中输入登录指令后,使用下