检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
从OBS目录导入数据到数据集 前提条件 已存在创建完成的数据集。 准备需要导入的数据,具体可参见从OBS目录导入数据规范说明。 需导入的数据,已存储至OBS中。Manifest文件也需要存储至OBS。详细指导请参见创建OBS桶用于ModelArts存储数据。 确保数据存储的OBS
在Notebook中通过镜像保存功能制作自定义镜像 通过预置的镜像创建Notebook实例,在基础镜像上安装对应的自定义软件和依赖,在管理页面上进行操作,进而完成将运行的实例环境以容器镜像的方式保存下来。镜像保存后,默认工作目录是根目录“/”路径。 保存的镜像中,安装的依赖包不丢
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME=enp67s0f5
使用kv-cache-int8量化 kv-cache-int8是实验特性,在部分场景下性能可能会劣于非量化。当前支持per-tensor静态量化,支持kv-cache-int8量化和FP16、BF16、AWQ、smoothquant的组合。 kv-cache-int8量化支持的模型请参见表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
执行SFT全参微调训练任务 步骤一 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
保存ckpt时超时报错 在多节点集群训练完成后,只有部分节点会保存权重,而其他节点会一直在等待通信。当等待时间超过36分钟时,会发生超时的错误。 图1 报错提示 解决方法 1. 需要保证磁盘IO带宽正常,可以在36分钟内将文件保存到磁盘。单个节点内,最大只有60G(实际应该在40
BF16和FP16说明 在大模型训练中,BF16(Brain Floating Point)和FP16(Float16)都是使用的半精度浮点数格式,但它们在结构和适用性上有一些重要的区别。 BF16:具有8个指数位和7个小数位。在处理大模型时有优势,能够避免在训练过程中数值的上溢
NPU_Flash_Attn融合算子约束 query、key、value都需要梯度。默认开启重计算,则前向时qkv没有梯度,如果需要关闭重计算,可以在yaml配置 `disable_gradient_checkpointing: true` 关闭,但显存占用会直线上升。 attn_mask
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 Yi模型 在使用Yi模型的chat版本时,由于transformer 4.3
工作负载Pod异常 Pod状态为Pending 当Pod状态为“Pending”,事件中出现“实例调度失败”的信息时,可根据具体事件信息确定具体问题原因。具体参考链接为工作负载状态异常定位方法。 通过以下命令打印Pod日志信息。 kubectl describe pod ${pod_name}
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME=enp67s0f5
附录:基于vLLM不同模型推理支持最小卡数和最大序列说明 基于vLLM(v0.6.0)部署推理服务时,不同模型推理支持的最小昇腾卡数和对应卡数下的max-model-len长度说明,如下面的表格所示。 以下值是在gpu-memory-utilization为0.9时测试得出,为服
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: 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/1_preprocess_data
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括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