书生·浦语大模型实战营笔记-第四节作业
个人小助手认知微调:通过微调让模型了解自己身份
步骤
环境准备
与笔记中类似,需要安装xtuner0.1.9的环境
在这里直接conda activate xtuner0.1.9
数据集准备
创建一个personal_assistant文件夹mkdir personal_assistant
在这之下创建data文件夹
cd personal_assistant
mkdir data
创建一个python脚本,重复生成一个json数据集
import json
# 输入你的名字
name = '饼干'
# 重复次数
n = 10000
data = [
{
"conversation": [
{
"input": "请做一下自我介绍",
"output": "我是{}的小助手,内在是上海AI实验室书生·浦语的7B大模型哦".format(name)
}
]
}
]
for i in range(n):
data.append(data[0])
with open('personal_assistant.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
模型准备
将internlm-7b模型复制过来
mkdir -p /root/personal_assistant/model/Shanghai_AI_Laboratory
cp -r /root/share/temp/model_repos/internlm-chat-7b /root/personal_assistant/model/Shanghai_AI_Laboratory
配置文件准备
创建一个文件夹,并将配置文件复制过来,同时修改一下路径和参数
#创建用于存放配置的文件夹config并进入
mkdir /root/personal_assistant/config && cd /root/personal_assistant/config
xtuner copy-cfg internlm_chat_7b_qlora_oasst1_e3 .
使用tmux启动训练
首先升级apt
安装tumx
创建tmux窗口
利用deepseed加速微调
apt undate -y
apt install tmux
tmux new -s finetune
xtuner train /root/personal_assistant/config/internlm_chat_7b_qlora_oasst1_e3_copy.py --deepspeed deepspeed_zero2
大概需要40多min完成微调
转换成huggingface格式
export MKL_SERVICE_FORCE_INTEL=1
mkdir hf
xtuner convert pth_to_hf config/internlm_chat_7b_qlora_oasst1_e3_copy.py work_dirs/internlm_chat_7b_qlora_oasst1_e3_copy/epoch_3.pth/ hf/
合并模型参数
mkdir merged
xtuner convert merge model/Shanghai_AI_Laboratory/internlm-chat-7b/ ./hf/ merged/ --max-shard-size 2GB
实现网页demo
pip install streamlit==1.24.0#安装依赖
修改Internlm的web_demo.py文件,修改其中的模型路径
服务器输入streamlit run /root/code/InternLM/web_demo.py --server.address 127.0.0.1 --server.port 6006
注意这一行必须要在InternLM项目路径下运行,否则将会报错
本地终端输入C:\Users\ken> ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn -p 34027
打开http://127.0.0.1:6006/即可开始加载模型
现在模型已经可以知道自己的master是谁了,计划通!