检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
训练tokenizer文件说明 在训练开始前,有些模型需要对模型的tokenizer文件,或者模型的配置文件进行修改,具体的修改如下: Qwen-VL 修改文件modeling_qwen.py: # 将36 37 两行注释部分 36 SUPPORT_BF16 = SUPPORT_CUDA
使用SmoothQuant量化工具转换权重 SmoothQuant(W8A8)量化方案能降低模型显存以及需要部署的卡数。也能同时降低首token时延和增量推理时延。支持SmoothQuant(W8A8)量化的模型列表请参见表1。 本章节介绍如何在Notebook使用SmoothQuant量化工具实现推理量化。
SFT全参微调训练任务 Step1 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
SFT全参微调训练任务 步骤1 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
常见错误原因和解决方法 显存溢出错误 网卡名称错误 保存ckpt时超时报错 Git下载代码时报错 父主题: 主流开源大模型基于Lite Server适配ModelLink PyTorch NPU训练指导(6.3.907)
使用kv-cache-int8量化 kv-cache-int8是实验特性,在部分场景下性能可能会劣于非量化。当前支持per-tensor静态量化,支持kv-cache-int8量化和FP16、BF16、AWQ、smoothquant的组合。 kv-cache-int8量化支持的模型请参见支持的模型列表和权重文件。
使用kv-cache-int8量化 kv-cache-int8是实验特性,在部分场景下性能可能会劣于非量化。当前支持per-tensor静态量化,支持kv-cache-int8量化和FP16、BF16、AWQ、smoothquant的组合。 kv-cache-int8量化支持的模型请参见支持的模型列表和权重文件。
从OBS目录导入数据规范说明 导入数据集时,使用存储在OBS的数据时,数据的存储目录以及文件名称需满足ModelArts的规范要求。 当前只有“图像分类”、“物体检测”、“图像分割”、“文本分类”和“声音分类”标注类型支持按标注格式导入。 其中,“表格”类型的数据集,支持从OBS
创建Workflow数据集导入节点 功能介绍 通过对ModelArts数据集能力进行封装,实现数据集的数据导入功能。数据集导入节点主要用于将指定路径下的数据导入到数据集或者标注任务中,主要应用场景如下: 适用于数据不断迭代的场景,可以将一些新增的原始数据或者已标注数据导入到标注任
标注文本分类数据 项目创建完成后,将会自动跳转至新版自动学习页面,并开始运行,当数据标注节点的状态变为“等待操作”时,需要手动进行确认数据集中的数据标注情况,也可以对数据集中的数据进行标签的修改,数据的增加或删减。 图1 数据标注节点状态 双击“数据标注”节点,单击实例详情按钮,打开数据标注页面。
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 Yi模型 在使用Yi模型的chat版本时,由于transformer 4.3
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME=enp67s0f5
训练启动脚本说明和参数配置 本代码包中集成了不同模型的训练脚本,并可通过不同模型中的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。若未完成,则执行脚本,自动完成数据预处理和权重转换的过程。 若用户进行自定义数据集预处理以及权重转换,可通过编辑 1_preprocess_data
训练的数据集预处理说明 以 llama2-13b 举例,运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理的过程。 若已完成数据集预处理,则直接执行预训练任务。若未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data
训练的数据集预处理说明 以llama2-13b举例,使用训练作业运行:obs_pipeline.sh 训练脚本后,脚本自动执行数据集预处理,并检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行训练任务。如果未进行数据集预处理,则会自动执行scripts/llama2/1_preprocess_data
执行SFT全参微调训练任务 步骤一 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
ECS获取和上传基础镜像 Step1 创建镜像组织 在SWR服务页面创建镜像组织。 图1 创建镜像组织 Step2 登录ECS服务器 根据创建ECS服务器创建完成ECS服务器后,单击“远程登录”,可使用华为CloudShell远程登录如图所示。后续安装Docker、获取镜像、构建镜像等操作均在该ECS上进行。
训练中的权重转换说明 以 llama2-13b 举例,运行 0_pl_pretrain_13b.sh 脚本。脚本同样还会检查是否已经完成权重转换的过程。 如果已完成权重转换,则直接执行预训练任务。如果未进行权重转换,则会自动执行 scripts/llama2/2_convert_mg_hf
Yaml配置文件参数配置说明 本小节主要详细描述demo_yaml配置文件、配置参数说明,用户可根据实际自行选择其需要的参数。 表1 模型训练脚本参数 参数 示例值 参数说明 model_name_or_path /home/ma-user/ws/tokenizers/Qwen2-72B