上海人工智能实验室书生·浦语大模型基础岛关卡5-XTuner 微调个人小助手认知任务

1. 前期准备

首先,运行如下指令安装XTuner:

# 创建一个目录,用来存放源代码
mkdir -p /root/InternLM/code

cd /root/InternLM/code

git clone -b v0.1.21  https://github.com/InternLM/XTuner /root/InternLM/code/XTuner
# 进入到源码目录
cd /root/InternLM/code/XTuner
conda activate demo

# 执行安装
pip install -e '.[deepspeed]'

通过以下代码一键通过符号链接的方式链接到模型文件,这样既节省了空间,也便于管理。

# 创建一个目录,用来存放微调的所有资料,后续的所有操作都在该路径中进行
mkdir -p /root/InternLM/XTuner

cd /root/InternLM/XTuner

mkdir -p Shanghai_AI_Laboratory

ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b Shanghai_AI_Laboratory/internlm2-chat-1_8b

2. 指令跟随微调

创建一个脚本文件 xtuner_generate_assistant.py,复制 tools/xtuner_generate_assistant.py的内容到其中,指令如下所示:

cd /root/InternLM/XTuner
touch xtuner_generate_assistant.py
cd /root/InternLM/XTuner
cp /root/InternLM/Tutorial/tools/xtuner_generate_assistant.py ./

为了训练出自己的小助手,需要将脚本中name后面的内容修改为我自己的名称,这里我选择了我的github的名称YamadaRyoo,并将n值调大,修改后的代码如下所示:

随后执行脚本生成数据文件:

cd /root/InternLM/XTuner
conda activate demo

python xtuner_generate_assistant.py

利用如下指令准备配置文件:

xtuner list-cfg -p internlm2
cd /root/InternLM/XTuner

xtuner copy-cfg internlm2_chat_1_8b_qlora_alpaca_e3 .
cd /root/InternLM/XTuner
cp /root/InternLM/Tutorial/configs/internlm2_chat_1_8b_qlora_alpaca_e3_copy.py ./

利用如下指令启动微调:

cd /root/InternLM/XTuner
conda activate demo

xtuner train ./internlm2_chat_1_8b_qlora_alpaca_e3_copy.py

微调过程的部分截图如下所示:

利用如下指令进行模型格式转换:

cd /root/InternLM/XTuner
conda activate demo

# 先获取最后保存的一个pth文件
pth_file=`ls -t ./work_dirs/internlm2_chat_1_8b_qlora_alpaca_e3_copy/*.pth | head -n 1`
export MKL_SERVICE_FORCE_INTEL=1
export MKL_THREADING_LAYER=GNU
xtuner convert pth_to_hf ./internlm2_chat_1_8b_qlora_alpaca_e3_copy.py ${pth_file} ./hf

利用以下指令进行模型合并:

cd /root/InternLM/XTuner
conda activate xtuner0121

export MKL_SERVICE_FORCE_INTEL=1
export MKL_THREADING_LAYER=GNU
xtuner convert merge /root/InternLM/XTuner/Shanghai_AI_Laboratory/internlm2-chat-1_8b ./hf ./merged --max-shard-size 2GB

3. 模型微调后的模型对话

首先将脚本中的模型路径修改为微调后的模型的路径,修改后的脚本内容如下所示:

利用如下指令启动应用:

conda activate demo
streamlit run /root/InternLM/Tutorial/tools/xtuner_streamlit_demo.py

运行后在本地进行端口映射:

最终通过浏览器访问localhost:8501即可进行对话。对话如图所示:

可见微调成功,本关任务完成。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值