检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 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
/home/ma-user/ws/llm_train/saved_dir_for_output/llama2-13b/saved_models/pretrain_hf/ 目录下查看转换后的权重文件。 权重转换完成后,需要将例如saved_models/pretrain_hf中的文件与原始Hugging
/home/ma-user/ws/llm_train/saved_dir_for_output/llama2-13b/saved_models/ 目录下查看转换后的权重文件。 权重转换完成后,需要将例如saved_models/pretrain_hf中的文件与原始Hugging Fa
的训练代码AscendCloud-LLM-xxx.zip,并直接进入到llm_train/AscendSpeed文件夹下面 cd ./llm_train/AscendSpeed 编辑llm_train/AscendSpeed中的Dockerfile文件第一行镜像地址,修改为本文档中的基础镜像地址。
可以参考表1按照实际需求修改。 表1 训练超参配置说明 参数 示例值 参数说明 ORIGINAL_TRAIN_DATA_PATH /home/ma-user/ws/training_data/alpaca_gpt4_data.json 必须修改。训练时指定的输入数据路径。请根据实际规划修改。
ECS获取和上传基础镜像 Step1 创建ECS 下文中介绍如何在ECS中构建一个训练镜像,请参考ECS文档购买一个Linux弹性云服务器。完成网络配置、高级配置等步骤,可根据默认选择,或进行自定义。创建完成后,单击“远程登录”,后续安装Docker等操作均在该ECS上进行。 注
可调整参数:SEQ_LEN要处理的最大的序列长度(seq-length),参数值过大很容易发生显存溢出的错误。 可添加参数:在3_training.sh文件中添加开启重计算的参数。其中recompute-num-layers的值为模型网络中num-layers的参数值。 --
128 24 chatglm3-6b 1 64 1 128 25 glm-4-9b 1 32 1 128 26 baichuan2-7b 1 8 1 32 27 baichuan2-13b 2 4 1 4 28 yi-6b 1 64 1 128 29 yi-9b 1 32 1 64
练代码AscendCloud-LLM-xxx.zip,并直接进入到llm_train/AscendFactory文件夹下面 cd ./llm_train/AscendFactory 编辑llm_train/AscendFactory中的Dockerfile文件,修改git命令,填写自己的git账户信息。
NPU_Flash_Attn融合算子约束 query、key、value都需要梯度。默认开启重计算,则前向时qkv没有梯度,如果需要关闭重计算,可以在yaml配置 `disable_gradient_checkpointing: true` 关闭,但显存占用会直线上升。 attn
数据预处理区分: 预训练场景下数据预处理,默认参数: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的参数值。 --
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME=enp67s0f5
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME=enp67s0f5
overwrite_output_dir: true ### train per_device_train_batch_size: 1 gradient_accumulation_steps: 8 learning_rate: 1.0e-5 num_train_epochs: 10.0 lr_scheduler_type:
py脚本进行权重转换生成量化系数,详细参数解释请参见https://github.com/NVIDIA/TensorRT-LLM/tree/main/examples/llama#int8-kv-cache。 python convert_checkpoint.py \ --model_dir
py脚本进行权重转换生成量化系数,详细参数解释请参见https://github.com/NVIDIA/TensorRT-LLM/tree/main/examples/llama#int8-kv-cache。 python convert_checkpoint.py \ --model_dir
附录:工作负载Pod异常问题和解决方法 Pod状态为Pending 当Pod状态长时间为“Pending”,事件中出现“实例调度失败”的信息时,可根据具体事件信息确定具体问题原因。 图1 pod状态pending 通过以下命令打印Pod日志信息。 kubectl describe
py脚本进行权重转换生成量化系数,详细参数解释请参见https://github.com/NVIDIA/TensorRT-LLM/tree/main/examples/llama#int8-kv-cache。 python convert_checkpoint.py \ --model_dir
可调整参数:SEQ_LEN要处理的最大的序列长度(seq-length),参数值过大很容易发生显存溢出的错误。 可添加参数:在3_training.sh文件中添加开启重计算的参数。其中recompute-num-layers的值为模型网络中num-layers的参数值。 --