检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过统一的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程。 如果用户进行自定义数据集预处理以及权重转换,可通过编辑 1_preprocess_data
可调整参数:MBS指最小batch处理的样本量(micro-batch-size)、GBS指一个iteration所处理的样本量(global-batch-size)。可将MBS参数值调小至1,但需要遵循GBS/MBS的值能够被NPU/(TP×PP)的值进行整除。 可调整参数:SEQ_LEN要处理的最大的序列长
编辑llm_train/AscendSpeed中的Dockerfile文件第一行镜像地址,修改为本文档中的基础镜像地址。 FROM {image_url} (选填)编辑llm_train/AscendSpeed中的Dockerfile文件,修改git命令,填写自己的git账户信息。 git config
获取训练镜像 请确保在正确的Region下获取镜像。建议使用官方提供的镜像部署训练服务。镜像地址{image_url}请参见表1。 docker pull {image_url} Step5 在ECS中Docker登录 在SWR中单击右上角的“登录指令”,然后在跳出的登录指定窗口,单击复
训练脚本中会自动执行训练前的权重转换操作和数据处理操作。 如果想详细了解脚本执行训练权重转换操作和数据集预处理操作说明请分别参见训练中的权重转换说明和训练的数据集预处理说明。 步骤二 修改训练超参配置 以Llama2-70b和Llama2-13b的SFT微调为例,执行脚本为0_pl_sft_70b
可调整参数:MBS指最小batch处理的样本量(micro-batch-size)、GBS指一个iteration所处理的样本量(global-batch-size)。可将MBS参数值调小至1,但需要遵循GBS/MBS的值能够被NPU/(TP×PP)的值进行整除。 可调整参数:SEQ_LEN要处理的最大的序列长
当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5 #
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 LLama2模型 在当前的软件版本中,由于transformers的版本过高(transformers==4
在训练开始前,因模型权重文件可能与训练框架不匹配或有优化,因此需要针对模型的tokenizer文件进行修改或替换,不同模型的tokenizer文件修改内容如下。 falcon-11B模型 在训练开始前,针对falcon-11B模型中的tokenizer文件,需要替换代码。替换文件{work_d
可调整参数:MBS指最小batch处理的样本量(micro-batch-size)、GBS指一个iteration所处理的样本量(global-batch-size)。可将MBS参数值调小至1,但需要遵循GBS/MBS的值能够被NPU/(TP×PP)的值进行整除。 可调整参数:SEQ_LEN要处理的最大的序列长
示例值需要根据数据集${dataset}的不同,选择其一。 GeneralPretrainHandler:使用预训练的alpaca数据集。 GeneralInstructionHandler:使用微调的alpaca数据集。 MOSSInstructionHandler:使用微调的moss数据集 Al
当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME=enp67s0f5
当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME=enp67s0f5
在训练开始前,因模型权重文件可能与训练框架不匹配或有优化,因此需要针对模型的tokenizer文件进行修改或替换,不同模型的tokenizer文件修改内容如下。 falcon-11B模型 在训练开始前,针对falcon-11B模型中的tokenizer文件,需要替换代码。替换文件{work_d
训练前的权重转换操作和数据处理操作。 步骤二 修改训练超参配置 以 llama2-70b 和 llama2-13b 预训练 为例,执行脚本为 0_pl_pretrain_70b.sh 和 0_pl_pretrain_13b.sh 。 修改模型训练脚本中的超参配置,必须修改的参数如
运行完成后,会在output_dir下生成量化后的权重。量化后的权重包括原始权重和kvcache的scale系数。 Step2 抽取kv-cache量化系数 该步骤的目的是将Step1使用tensorRT量化工具进行模型量化中生成的scale系数提取到单独文件中,供推理时使用。 使用的抽取脚本由vllm社区提供:
可调整参数:MBS指最小batch处理的样本量(micro-batch-size)、GBS指一个iteration所处理的样本量(global-batch-size)。可将MBS参数值调小至1,但需要遵循GBS/MBS的值能够被NPU/(TP×PP)的值进行整除。 可调整参数:SEQ_LEN要处理的最大的序列长
本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过统一的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程。 如果用户进行自定义数据集预处理以及权重转换,可通过编辑 1_preprocess_data
可调整参数:MBS指最小batch处理的样本量(micro-batch-size)、GBS指一个iteration所处理的样本量(global-batch-size)。可将MBS参数值调小至1,但需要遵循GBS/MBS的值能够被NPU/(TP×PP)的值进行整除。 可调整参数:SEQ_LEN要处理的最大的序列长
当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5 #