检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用llm-compressor工具量化 当前版本使用llm-compressor工具量化仅支持Deepseek-v2系列模型的W8A8量化。 本章节介绍如何在GPU的机器上使用开源量化工具llm-compressor量化模型权重,然后在NPU的机器上实现推理量化。 具体操作如下:
使用kv-cache-int8量化 kv-cache-int8是实验特性,在部分场景下性能可能会劣于非量化。当前支持per-tensor静态量化、per-tensor+per-head静态量化以及per-token,支持kv-cache-int8量化和FP16、BF16、AWQ、smoothquant
启动推理服务 本章节主要介绍大语言模型的推理服务启动方式,包括离线推理和在线推理2种方式。 离线推理 编辑一个python脚本,脚本内容如下,运行该脚本使用ascend-vllm进行模型离线推理。 from vllm import LLM, SamplingParams def
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过统一的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already
各个模型训练前文件替换 在训练开始前,因模型权重文件可能与训练框架不匹配或有优化,因此需要针对模型的tokenizer文件进行修改或替换,不同模型的tokenizer文件修改内容如下。 falcon-11B模型 在训练开始前,针对falcon-11B模型中的tokenizer文件,
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过统一的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already
训练中的权重转换说明 以 llama2-13b 举例,运行 0_pl_pretrain_13b.sh 脚本。脚本同样还会检查是否已经完成权重转换的过程。 若已完成权重转换,则直接执行预训练任务。若未进行权重转换,则会自动执行 scripts/llama2/2_convert_mg_hf.sh
ECS获取和上传基础镜像 Step1 创建ECS 下文中介绍如何在ECS中构建一个训练镜像,请参考ECS文档购买一个Linux弹性云服务器。完成网络配置、高级配置等步骤,可根据默认选择,或进行自定义。创建完成后,单击“远程登录”,后续安装Docker等操作均在该ECS上进行。 注意
ECS中构建新镜像 通过ECS获取和上传基础镜像获取基础镜像后,可通过ECS运行Dockerfile文件,在镜像的基础上构建新镜像。 Step1 构建新ModelArts Standard训练镜像 获取模型软件包,并上传到ECS的目录下(可自定义路径),获取地址参考表1。 解压AscendCloud
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already
断点续训和故障快恢说明 相同点 断点续训(Checkpointing)和故障快恢都是指训练中断后可从训练中一定间隔(${save-interval})保存的模型(包括模型参数、优化器状态、训练迭代次数等)继续训练恢复,而不需要从头开始。 不同点 断点续训:可指定加载训练过程中生成的
模型NPU卡数、梯度累积值取值表 不同模型推荐的训练参数和计算规格要求如表1所示。规格与节点数中的1*节点 & 4*Ascend表示单机4卡,以此类推。 表1 NPU卡数、加速框架、梯度配置取值表 模型 Template 模型参数量 训练策略类型 序列长度cutoff_len 梯度累积值
工作负载Pod异常 Pod状态为Pending 当Pod状态为“Pending”,事件中出现“实例调度失败”的信息时,可根据具体事件信息确定具体问题原因。具体参考链接为工作负载状态异常定位方法。 通过以下命令打印Pod日志信息。 kubectl describe pod ${pod_name
mc2融合算子报错 Yi-34B、Qwen1.5系列、GLM4-9B模型执行lora微调策略任务时产生mc2融合算子错误。 图1 mc2融合算子错误 解决方法 修改代码文件:AscendFactory/scripts_modellink/{model_name}/3_training.sh
语言模型推理性能测试 benchmark方法介绍 性能benchmark包括两部分。 静态性能测试:评估在固定输入、固定输出和固定并发下,模型的吞吐与首token延迟。该方式实现简单,能比较清楚的看出模型的性能和输入输出长度、以及并发的关系。 动态性能测试:评估在请求并发在一定范围内波动
单模型性能测试工具Mindspore lite benchmark 在模型精度对齐后,针对Stable Diffusion模型性能调优,您可以通过AOE工具进行自助性能调优,进一步可以通过profiling工具对于性能瓶颈进行分析,并针对性地做一些调优操作。 您可以直接使用benchmark