任务
使用 XTuner 微调 InternLM2-Chat-1.8B 实现自己的小助手认知
实践
步骤一:创建新的虚拟环境xtuner021
# 创建虚拟环境
conda create -n xtuner0121 python=3.10 -y
# 激活虚拟环境
conda activate xtuner0121
# 安装一些必要的库
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia -y
# 安装其他依赖
pip install transformers==4.39.3
pip install streamlit==1.36.0
步骤二:安装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 xtuner0121
# 执行安装
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
步骤四:微调前启动对话
下面代码启动,进入web端
streamlit run /root/InternLM/Tutorial/tools/xtuner_streamlit_demo.py
微调前,不能回答出我们的问题
步骤五:微调
数据准备:准备一个数据集,可以脚本生成json文件
准备配置文件,并修改
开始微调
步骤六:微调后参数合并
使用 xtuner convert pth_to_hf
命令来进行模型格式转换
使用xtuner convert merge
命令合并模型
步骤七:使用微调后的模型
修改xtuner_streamlit_demo.py文件,模型位置指向微调后的路径
微调后的模型,可以回答我们的问题。