检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SFT全参微调训练任务 Step1 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作
训练场景和方案介绍 Stable Diffusion(简称SD)是一种基于扩散过程的图像生成模型,应用于文生图场景,能够帮助用户生成图像。 方案概览 本方案介绍了在ModelArts Lite DevServer上使用昇腾计算资源Ascend Snt9B开展SDXL和SD1.5模型的训练过程
SFT全参微调训练任务 步骤一 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作
使用Advisor工具分析生成调优建议 关于Advisor使用及安装过程请参见昇腾社区Gitee。最后生成导出的各类场景的建议包含以下两种: Terminal日志信息的概览建议。 包含Detail信息及修改示例的HTML信息。 按照建议信息做如下修改: 亲和优化器使能,在train.py
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 LLama2模型 在当前的软件版本中,由于transformers的版本过高(
DockerFile构建镜像(可选) 本章节主要介绍通过DockerFile文件构建训练镜像,将训练过程中依赖包封装使用,过程中需要连接互联网git clone,请确保环境可以访问公网,详解操作如下: 进入代码包Dockerfile文件同级目录: cd /home/ma-user/
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 LLama2模型 在当前的软件版本中,由于transformers的版本过高(
支持的模型列表 表1 支持的大语言模型列表和权重获取地址 序号 模型名称 是否支持fp16/bf16推理 是否支持W4A16量化 是否支持W8A8量化 是否支持W8A16量化 是否支持 kv-cache-int8量化 开源权重获取地址 1 llama-7b √ √ √ √ √ https
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5
训练脚本参数说明 在AscendCloud-AIGC代码包的multimodal_algorithm目录下集成了多个多模态模型的适配脚本,用户可通过不同模型中的xxx_install.sh脚本一键适配。在用户通过Dockerfile构建模型的环境镜像时会执行该脚本,这会从github
训练中的权重转换说明 以 llama2-13b 举例,运行 0_pl_pretrain_13b.sh 脚本。脚本同样还会检查是否已经完成权重转换的过程。 若已完成权重转换,则直接执行预训练任务。若未进行权重转换,则会自动执行 scripts/llama2/2_convert_mg_hf.sh
ECS中构建新镜像 通过ECS获取和上传基础镜像获取基础镜像后,可通过ECS运行Dockerfile文件,在镜像的基础上构建新镜像。 Step1 构建新ModelArts Standard训练镜像 获取模型软件包,并上传到ECS的目录下(可自定义路径),获取地址参考表1。 解压AscendCloud
multi-step 什么是multi-step vLLM的调度和输入准备的CPU开销可能会导致NPU利用率不足,开启multi-step调度可以有效解决这个问题,开启multi-step调度后会在执行一次调度和输入准备后,连续n步运行模型。通过NPU在n步之间连续处理,而无需等待
Chunked Prefill 什么是Chunked Prefill Chunked Prefill(Splitfuse)特性的目的是将长prompt request分解成更小的块,并在多个forward step中进行调度,只有最后一块的forward完成后才开始这个prompt
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5
各个模型训练前文件替换 在训练开始前,因模型权重文件可能与训练框架不匹配或有优化,因此需要针对模型的tokenizer文件进行修改或替换,不同模型的tokenizer文件修改内容如下。 falcon-11B模型 在训练开始前,针对falcon-11B模型中的tokenizer文件,
性能调优总体原则和思路 PyTorch在昇腾AI处理器的加速实现方式是以算子为粒度进行调用(OP-based),即通过Python与C++调用CANN层接口Ascend Computing Language(AscendCL)调用一个或几个亲和算子组合的形式,代替原有GPU的实现方式
训练中的权重转换说明 以 llama2-13b 举例,运行 0_pl_pretrain_13b.sh 脚本。脚本同样还会检查是否已经完成权重转换的过程。 如果已完成权重转换,则直接执行预训练任务。如果未进行权重转换,则会自动执行 scripts/llama2/2_convert_mg_hf.sh
模型NPU卡数取值表 不同模型推荐的训练参数和计算规格要求如表1所示。规格与节点数中的1*节点 & 4*Ascend表示单机4卡,以此类推 表1 模型NPU卡数取值表 支持模型 支持模型参数量 文本序列长度 训练类型 Zero并行 规格与节点数 llama3 70B cutoff_len