云服务器内容精选

  • 步骤二 修改训练超参配置 以llama2-70b和llama2-13b预训练为例,执行脚本为0_pl_pretrain_70b.sh 和0_pl_pretrain_13b.sh 。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值,可以参考表1按照实际需求修改。 表1 训练超参配置说明 参数 示例值 参数说明 ORIGINAL_TRAIN_DATA_PATH /home/ma-user/ws/training_data/train-00000-of-00001-a09b74b3ef9c3b56.parquet 必须修改。训练时指定的输入数据路径。请根据实际规划修改。 ORIGINAL_HF_WEIGHT /home/ma-user/ws/models/llama2-13B 必须修改。加载Hugging Face权重(可与tokenizer相同文件夹)时,对应的存放地址。请根据实际规划修改。 TOKENIZER_PATH /home/ma-user/ws/tokenizers/llama2-13B 该参数为tokenizer文件的存放地址。默认与ORIGINAL_HF_WEIGHT路径相同。如果用户需要将Hugging Face权重与tokenizer文件分开存放时,则需要修改参数。 INPUT_PRO CES SED_DIR /home/ma-user/ws/llm_train/AscendSpeed/processed_for_input/llama2-13b 该路径下保存“数据转换”和“权重转换”的结果。示例中,默认生成在“processed_for_input”文件夹下。如果用户需要修改,可添加并自定义该变量。 OUTPUT_SAVE_DIR /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/ 该路径下统一保存生成的CKPT、P LOG 、LOG文件。示例中,默认统一保存在“saved_dir_for_output”文件夹下。如果用户需要修改,可添加并自定义该变量。 CKPT_SAVE_PATH /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/saved_models/llama2-13b 保存训练生成的模型CKPT文件。示例中,默认保存在“saved_dir_for_output/saved_models”文件夹下。如果用户需要修改,可添加并自定义该变量。 LOG_SAVE_PATH /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/saved_models/llama2-13b/log 保存训练过程记录的日志LOG文件。示例中,默认保存在“saved_models/llama2-13b/log”文件夹下。如果用户需要修改,可添加并自定义该变量。 ASCEND_PROCESS_LOG_PATH /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/plog 保存训练过程中记录的程序堆栈信息日志PLOG文件。示例中,默认保存在“saved_dir_for_output/plog”文件夹下。如果用户需要修改,可添加并自定义该变量。 对于Yi系列模型、ChatGLMv3-6B和Qwen系列模型,还需要手动修改训练参数和tokenizer文件,具体请参见训练tokenizer文件说明。
  • 训练支持的模型列表 本方案支持以下模型的训练,如表1所示。 表1 支持的模型列表 序号 支持模型 支持模型参数量 权重文件获取地址 1 llama2 llama2-7b https://huggingface.co/meta-llama/Llama-2-7b-chat-hf 2 llama2-13b https://huggingface.co/meta-llama/Llama-2-13b-chat-hf 3 llama2-70b https://huggingface.co/meta-llama/Llama-2-70b-hf https://huggingface.co/meta-llama/Llama-2-70b-chat-hf (推荐) 4 llama3 llama3-8b https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct 5 llama3-70b https://huggingface.co/meta-llama/Meta-Llama-3-70B-Instruct 6 Qwen qwen-7b https://huggingface.co/Qwen/Qwen-7B-Chat 7 qwen-14b https://huggingface.co/Qwen/Qwen-14B-Chat 8 qwen-72b https://huggingface.co/Qwen/Qwen-72B-Chat 9 Qwen1.5 qwen1.5-7b https://huggingface.co/Qwen/Qwen1.5-7B-Chat 10 qwen1.5-14b https://huggingface.co/Qwen/Qwen1.5-14B-Chat 11 qwen1.5-32b https://huggingface.co/Qwen/Qwen1.5-32B-Chat 12 qwen1.5-72b https://huggingface.co/Qwen/Qwen1.5-72B-Chat 13 Yi yi-6b https://huggingface.co/01-ai/Yi-6B-Chat 14 yi-34b https://huggingface.co/01-ai/Yi-34B-Chat 15 ChatGLMv3 glm3-6b https://huggingface.co/THUDM/chatglm3-6b 16 Baichuan2 baichuan2-13b https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat 17 Qwen2 qwen2-0.5b https://huggingface.co/Qwen/Qwen2-0.5B-Instruct 18 qwen2-1.5b https://huggingface.co/Qwen/Qwen2-1.5B-Instruct 19 qwen2-7b https://huggingface.co/Qwen/Qwen2-7B-Instruct 20 qwen2-72b https://huggingface.co/Qwen/Qwen2-72B-Instruct 21 GLMv4 glm4-9b https://huggingface.co/THUDM/glm-4-9b-chat 说明: glm4-9b模型必须使用版本4b556ad4d70c38924cb8c120adbf21a0012de6ce 22 mistral mistral-7b https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2 23 mixtral mixtral-8x7b https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1 24 llama3.1 llama3.1-8b https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct 25 llama3.1-70b https://huggingface.co/meta-llama/Meta-Llama-3.1-70B-Instruct 26 Qwen2.5 qwen2.5-0.5b https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct 27 qwen2.5-7b https://huggingface.co/Qwen/Qwen2.5-7B-Instruct 28 qwen2.5-14b https://huggingface.co/Qwen/Qwen2.5-14B-Instruct 29 qwen2.5-32b https://huggingface.co/Qwen/Qwen2.5-32B-Instruct 30 qwen2.5-72b https://huggingface.co/Qwen/Qwen2.5-72B-Instruct 31 llama3.2 llama3.2-1b https://huggingface.co/meta-llama/Llama-3.2-1B-Instruct 32 llama3.2-3b https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct
  • 操作流程 图1 操作流程图 表2 操作任务流程说明 阶段 任务 说明 准备工作 准备环境 本教程案例是基于ModelArts Lite Server运行的,需要购买并开通Server资源。 准备代码 准备AscendSpeed训练代码、分词器Tokenizer和推理代码。 准备数据 准备训练数据,可以用本案使用的数据集,也可以使用自己准备的数据集。 准备镜像 准备训练模型适用的容器镜像。 预训练 预训练 介绍如何进行预训练,包括训练数据处理、超参配置、训练任务、性能查看。 微调训练 SFT全参微调 介绍如何进行SFT全参微调、超参配置、训练任务、性能查看。 LoRA微调训练 介绍如何进行LoRA微调、超参配置、训练任务、性能查看。
  • 文档更新内容 6.3.910版本相对于6.3.909版本新增如下内容: 文档中新增对Qwen2.5的适配(包括0.5B、7B, 14B, 32B, and 72B),支持sft、lora、预训练。 文档中新增对Llama3.2的适配(包括1B和3B),支持sft、lora、预训练。 代码中ModelLink、MindSpeed已升级到最新版本,Python三方依赖版本已升级,其中: MindSpeed的版本升级到commitID=4ea42a23 ModelLink的版本升级到commitID=8f50777 transformers版本升级到4.45.0 peft版本升级到0.12.0