在data
目录下新建一个generate_data.py文件,运行该脚本即可生成数据集personal_assistant.json。
之后修改文件路径和参数并微调:
xtuner copy-cfg internlm_chat_7b_qlora_oasst1_e3 .
然后微调后参数转换,并Merge模型参数
# 创建用于存放Hugging Face格式参数的hf文件夹
mkdir /root/personal_assistant/config/work_dirs/hf
export MKL_SERVICE_FORCE_INTEL=1
# 配置文件存放的位置
export CONFIG_NAME_OR_PATH=/root/personal_assistant/config/internlm_chat_7b_qlora_oasst1_e3_copy.py
# 模型训练后得到的pth格式参数存放的位置
export PTH=/root/personal_assistant/work_dirs/internlm_chat_7b_qlora_oasst1_e3_copy/epoch_3.pth
# pth文件转换为Hugging Face格式后参数存放的位置
export SAVE_PATH=/root/personal_assistant/config/work_dirs/hf
# 执行参数转换
xtuner convert pth_to_hf $CONFIG_NAME_OR_PATH $PTH $SAVE_PATH
export MKL_SERVICE_FORCE_INTEL=1
export MKL_THREADING_LAYER='GNU'
# 原始模型参数存放的位置
export NAME_OR_PATH_TO_LLM=/root/personal_assistant/model/Shanghai_AI_Laboratory/internlm-chat-7b
# Hugging Face格式参数存放的位置
export NAME_OR_PATH_TO_ADAPTER=/root/personal_assistant/config/work_dirs/hf
# 最终Merge后的参数存放的位置
mkdir /root/personal_assistant/config/work_dirs/hf_merge
export SAVE_PATH=/root/personal_assistant/config/work_dirs/hf_merge
# 执行参数Merge
xtuner convert merge \
$NAME_OR_PATH_TO_LLM \
$NAME_OR_PATH_TO_ADAPTER \
$SAVE_PATH \
--max-shard-size 2GB
之后启动网页DEMO
微调前,机器人还是输出书生·浦语的官方回答
可以看到微调后,机器人就变成了YangZhC的小助手啦
进阶作业
将训练好的Adapter模型权重上传到 MoelScope。
将训练好后的模型应用部署到 OpenXLab 平台
1.首先将训练好的模型参数上传至hugging face。
2.下载InternLM
git clone https://gitee.com/internlm/InternLM.git
将web_demo.py
模型修改为上传至hugging face 的模型。
首先在本地测试是否能够使用
可以使用,那么在openxlab 创建账号并创建仓库
可以启动,但是因为申请不到GPU,所以运行在输入时老是被kill掉,运行结果只能以后再补啦~