1.激活环境
conda activate xtuner0.1.17
2.数据集准备
# 前半部分是创建一个文件夹,后半部分是进入该文件夹。 mkdir -p /root/ft && cd /root/ft # 在ft这个文件夹里再创建一个存放数据的data文件夹 mkdir -p /root/ft/data && cd /root/ft/data
touch /root/ft/data/generate_data.py
3.模型准备
# 创建目标文件夹,确保它存在。 # -p选项意味着如果上级目录不存在也会一并创建,且如果目标文件夹已存在则不会报错。 mkdir -p /root/ft/model # 复制内容到目标文件夹。-r选项表示递归复制整个文件夹。 cp -r /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b/* /root/ft/model/
4.配置文件选择
# 创建一个存放 config 文件的文件夹 mkdir -p /root/ft/config # 使用 XTuner 中的 copy-cfg 功能将 config 文件复制到指定的位置 xtuner copy-cfg internlm2_1_8b_qlora_alpaca_e3 /root/ft/config
5.模型训练
# 使用 deepspeed 来加速训练
xtuner train /root/ft/config/internlm2_1_8b_qlora_alpaca_e3_copy.py --work-dir /root/ft/train_deepspeed --deepspeed deepspeed_zero2
6.模型转化
# 创建一个保存转换后 Huggingface 格式的文件夹 mkdir -p /root/ft/huggingface
xtuner convert pth_to_hf /root/ft/train_deepspeed/internlm2_1_8b_qlora_alpaca_e3_copy.py /root/ft/train_deepspeed/iter_100.pth /root/ft/huggingface
7.模型整合
# 创建一个名为 final_model 的文件夹存储整合后的模型文件 mkdir -p /root/ft/final_model # 解决一下线程冲突的 Bug export MKL_SERVICE_FORCE_INTEL=1 # 进行模型整合 # xtuner convert merge ${NAME_OR_PATH_TO_LLM} ${NAME_OR_PATH_TO_ADAPTER} ${SAVE_PATH} xtuner convert merge /root/ft/model /root/ft/huggingface /root/ft/final_model