检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
/home/ma-user/ws/llm_train/saved_dir_for_output/llama2-13b/saved_models/pretrain_hf/ 目录下查看转换后的权重文件。 注意:权重转换完成后,需要将例如saved_models/pretrain_hf中的文件与原始Hugging
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5
PP(pipeline model parallel size)=2 1 1*节点 & 4*Ascend 16 Baichuan2 baichuan2-13b pretrain/sft 4096 TP(tensor model parallel size)=8 PP(pipeline
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already
镜像在SWR上显示只有13G,安装少量的包,然后镜像保存过程会提示超过35G大小保存失败,为什么? 问题现象 我的镜像在SWR侧看,只有13G左右,在开发环境Notebook镜像管理注册,启动Notebook实例后,安装一些包后,镜像保存过程会提示超过35G大小,保存失败? 原因分析
128 35 chatglm3-6b 1 64 1 128 36 glm-4-9b 1 32 1 128 37 baichuan2-7b 1 8 1 32 38 baichuan2-13b 2 4 1 4 39 yi-6b 1 64 1 128 40 yi-9b 1 32 1 64
附录:工作负载Pod异常问题和解决方法 Pod状态为Pending 当Pod状态长时间为“Pending”,事件中出现“实例调度失败”的信息时,可根据具体事件信息确定具体问题原因。 图1 pod状态pending 通过以下命令打印Pod日志信息。 kubectl describe
128 35 chatglm3-6b 1 64 1 128 36 glm-4-9b 1 32 1 128 37 baichuan2-7b 1 8 1 32 38 baichuan2-13b 2 4 1 4 39 yi-6b 1 64 1 128 40 yi-9b 1 32 1 64
https://huggingface.co/THUDM/glm-4-9b-chat/blob/main/tokenization_chatglm.py https://huggingface.co/THUDM/chatglm3-6b/blob/main/tokenization_chatglm.py 或者2、修改
可调整参数:SEQ_LEN要处理的最大的序列长度(seq-length),参数值过大很容易发生显存溢出的错误。 可添加参数:在3_training.sh文件中添加开启重计算的参数。其中recompute-num-layers的值为模型网络中num-layers的参数值。 --
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME=enp67s0f5
可调整参数:SEQ_LEN要处理的最大的序列长度(seq-length),参数值过大很容易发生显存溢出的错误。 可添加参数:在3_training.sh文件中添加开启重计算的参数。其中recompute-num-layers的值为模型网络中num-layers的参数值。 --
数据预处理区分: 预训练场景下数据预处理,默认参数:pretrain 微调场景下数据预处理,默认:sft / lora ORIGINAL_TRAIN_DATA_PATH /home/ma-user/work/training_data/finetune/moss_LossCompare.jsonl
可调整参数:SEQ_LEN要处理的最大的序列长度(seq-length),参数值过大很容易发生显存溢出的错误。 可添加参数:在3_training.sh文件中添加开启重计算的参数。其中recompute-num-layers的值为模型网络中num-layers的参数值。 --
4096]). 需要在训练开始前,修改llm_train/AscendSpeed/yi/3_training.sh文件,并添加--tokenizer-not-use-fast参数。修改后如图1所示。 图1 修改Yi 模型3_training.sh文件 ChatGLMv3-6B 在训
checkout 4ea42a23 cd .. 完整的源码目录结构如下: |——AscendCloud-LLM |──llm_train # 模型训练代码包 |──AscendSpeed # 基于AscendSpeed的训练代码
可调整参数:SEQ_LEN要处理的最大的序列长度(seq-length),参数值过大很容易发生显存溢出的错误。 可添加参数:在3_training.sh文件中添加开启重计算的参数。其中recompute-num-layers的值为模型网络中num-layers的参数值。 --
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME=enp67s0f5
NPU_Flash_Attn融合算子约束 query、key、value都需要梯度。默认开启重计算,则前向时qkv没有梯度,如果需要关闭重计算,可以在yaml配置 `disable_gradient_checkpointing: true` 关闭,但显存占用会直线上升。 attn_mask
BF16和FP16说明 在大模型训练中,BF16(Brain Floating Point)和FP16(Float16)都是使用的半精度浮点数格式,但它们在结构和适用性上有一些重要的区别。 BF16:具有8个指数位和7个小数位。在处理大模型时有优势,能够避免在训练过程中数值的上溢