检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
训练的数据集预处理说明 以 llama2-13b 举例,运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理的过程。 若已完成数据集预处理,则直接执行预训练任务。若未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data
W4A16量化 大模型推理中,模型权重数据类型(weight),推理计算时的数据类型(activation)和kvcache一般使用半精度浮点FP16或BF16。量化指将高比特的浮点转换为更低比特的数据类型的过程。例如int4、int8等。 模型量化分为weight-only量化
kv-cache-int8量化 什么是kv-cache-int8量化 kv-cache-int8是实验特性,在部分场景下性能可能会劣于非量化。 约束限制 当前支持per-token动态量化(推荐), per-tensor静态量化以及per-tensor+per-head静态量化。
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过不同模型中的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程。
训练的数据集预处理说明 以llama2-13b举例,使用训练作业运行:0_pl_pretrain_13b.sh训练脚本后,脚本检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行预训练任务。如果未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data
NPU_Flash_Attn融合算子约束 query、key、value都需要梯度。默认开启重计算,则前向时qkv没有梯度,如果需要关闭重计算,可以在yaml配置 `disable_gradient_checkpointing: true` 关闭,但显存占用会直线上升。 attn_mask
克隆GitHub开源仓库文件到JupyterLab 在Notebook的JupyterLab中,支持从GitHub开源仓库Clone文件。 通过JupyterLab打开一个运行中的Notebook。 单击JupyterLab窗口上方导航栏的ModelArts Upload Fil
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already
模型NPU卡数、梯度累积值取值表 不同模型推荐的训练参数和计算规格要求如表1所示。规格与节点数中的1*节点 & 4*Ascend表示单机4卡,以此类推。 表1 NPU卡数、加速框架、梯度配置取值表 模型 Template 模型参数量 训练策略类型 序列长度cutoff_len 梯度累积值
不同模型推荐的参数与NPU卡数设置 表1 不同模型推荐的参数与NPU卡数设置 模型 Template 模型参数量 训练策略类型 序列长度cutoff_len 梯度累积值 优化工具 (Deepspeed) 规格与节点数 Qwen-VL Qwen-VL 7B full 2048 gr
BF16和FP16说明 在大模型训练中,BF16(Brain Floating Point)和FP16(Float16)都是使用的半精度浮点数格式,但它们在结构和适用性上有一些重要的区别。 BF16:具有8个指数位和7个小数位。在处理大模型时有优势,能够避免在训练过程中数值的上溢
ECS获取和上传基础镜像 Step1 创建镜像组织 在SWR服务页面创建镜像组织。 图1 创建镜像组织 Step2 登录ECS服务器 根据创建ECS服务器创建完成ECS服务器后,单击“远程登录”,可使用华为CloudShell远程登录如图所示。后续安装Docker、获取镜像、构建镜像等操作均在该ECS上进行。
断点续训和故障快恢说明 相同点 断点续训(Checkpointing)和故障快恢都是指训练中断后可从训练中一定间隔(${save-interval})保存的模型(包括模型参数、优化器状态、训练迭代次数等)继续训练恢复,而不需要从头开始。 不同点 断点续训:可指定加载训练过程中生成
NPU_Flash_Attn融合算子约束 query、key、value都需要梯度。默认开启重计算,则前向时qkv没有梯度,如果需要关闭重计算,可以在yaml配置 `disable_gradient_checkpointing: true` 关闭,但显存占用会直线上升。 attn
BF16和FP16说明 在大模型训练中,BF16(Brain Floating Point)和FP16(Float16)都是使用的半精度浮点数格式,但它们在结构和适用性上有一些重要的区别。 BF16:具有8个指数位和7个小数位。在处理大模型时有优势,能够避免在训练过程中数值的上溢
# 基于AscendSpeed的训练代码 |──ascendcloud_patch/ # 针对昇腾云平台适配的功能补丁包 |──scripts/ # 训练需要的启动脚本
订阅算法物体检测YOLOv3_ResNet18(Ascend)训练失败报错label_map.pbtxt cannot be found 问题现象 使用订阅算法物体检测YOLOv3_ResNet18(Ascend) 进行训练作业,训练失败报错label_map.pbtxt cannot
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already
上传OBS文件到JupyterLab 在Notebook的JupyterLab中,支持将OBS中的文件下载到Notebook。注意:文件大小不能超过10GB,否则会上传失败。 通过JupyterLab打开一个运行中的Notebook。 单击JupyterLab窗口上方导航栏的ModelArts
各个模型训练前文件替换 在训练开始前,因模型权重文件可能与训练框架不匹配或有优化,因此需要针对模型的tokenizer文件进行修改或替换,不同模型的tokenizer文件修改内容如下。 falcon-11B模型 在训练开始前,针对falcon-11B模型中的tokenizer文件