文档首页>
AI开发平台ModelArts>
最佳实践>
LLM大语言模型>
Baichuan2-13B基于DevServer适配PyTorch NPU训练指导(6.3.904)>
SFT全参微调>
SFT全参微调权重转换
更新时间:2024-05-16 GMT+08:00
SFT全参微调权重转换
支持HuggingFace格式权重转换为Megatron格式后再进行SFT全参微调。本章节主要介绍如何将HuggingFace权重转换为Megatron格式。此处的HuggingFace权重文件和转换操作结果同时适用于SFT全参微调和LoRA微调训练。
HuggingFace权重转换操作
- 下载baichuan2-13b的预训练权重和词表文件,并上传到/home/ma-user/ws/tokenizers/baichuan2-13b-hf目录下。具体下载地址请参见表1。如果已下载,忽略此步骤。
- 创建权重转换后的输出目录/home/ma-user/ws/processed_for_ma_input/BaiChuan2-13B/converted_weights/。
cd /home/ma-user/ws/ #进入/home/ma-user/ws/目录 mkdir -p processed_for_ma_input/BaiChuan2-13B/converted_weights
- 进入代码目录/home/ma-user/ws/6.3.904-Ascend/llm_train/AscendSpeed/ModelLink,在代码目录中执行util.py脚本。
#加载ascendspeed及megatron模型: export PYTHONPATH=$PYTHONPATH:/home/ma-user/ws/6.3.904-Ascend/llm_train/AscendSpeed/AscendSpeed export PYTHONPATH=$PYTHONPATH:/home/ma-user/ws/6.3.904-Ascend/llm_train/AscendSpeed/ModelLink #进入到ModelLink目录下: cd /home/ma-user/ws/6.3.904-Ascend/llm_train/AscendSpeed/ModelLink # 权重格式转换 python tools/checkpoint/util.py --model-type GPT \ --loader llama2_hf \ --saver megatron \ --target-tensor-parallel-size 8 \ #与微调TP值保持一致 --target-pipeline-parallel-size 1 \ #与微调PP值保持一致 --load-dir /home/ma-user/ws/tokenizers/BaiChuan2-13B \ --save-dir /home/ma-user/ws/processed_for_ma_input/BaiChuan2-13B/converted_weights \ --tokenizer-model /home/ma-user/ws/tokenizers/BaiChuan2-13B/tokenizer.model --w-pack True
参数说明:
- -target-tensor-parallel-size:与后续微调TP值保持一致
- -target-pipeline-parallel-size:与后续微调PP值保持一致
- -load-dir:原始HuggingFace权重
- -tokenizer-model:tokenizer路径
- -save-dir:从 huggingface 格式转化为 magatron 格式输出路径
- -w-pack :True
- 权重转换完成后,在/home/ma-user/ws/processed_for_ma_input/BaiChuan2-13B/converted_weights目录下查看转换后的权重文件。
父主题: SFT全参微调