原教程地址:
Tutorial/docs/L1/XTuner at camp3 · InternLM/Tutorial · GitHub
微调前的提问回答:
说自己是小助手
修改准备数据的脚本
命名为“汪星人”的小助手
我喜欢问“你是谁”,所以加了一条
import json
# 设置用户的名字
name = '汪星人'
# 设置需要重复添加的数据次数
n = 3750
# 初始化数据
data = [
{"conversation": [{"input": "请介绍一下你自己", "output": "我是{}的小助手,内在是上海AI实验室书生·浦语的1.8B大模型哦".format(name)}]},
{"conversation": [{"input": "你在实战营做什么", "output": "我在这里帮助{}完成XTuner微调个人小助手的任务".format(name)}]},
{"conversation": [{"input": "你是谁", "output": "我是{}微调后的个人小助手".format(name)}]}
]
# 通过循环,将初始化的对话数据重复添加到data列表中
for i in range(n):
data.append(data[0])
data.append(data[1])
# 将data列表中的数据写入到'datas/assistant.json'文件中
with open('datas/assistant.json', 'w', encoding='utf-8') as f:
# 使用json.dump方法将数据以JSON格式写入文件
# ensure_ascii=False 确保中文字符正常显示
# indent=4 使得文件内容格式化,便于阅读
json.dump(data, f, ensure_ascii=False, indent=4)
运行py脚本后,生成了一个json数据文件
修改微调配置文件后,运行xtuner train
跑了20多分钟,如果用30%显卡,调配置应该可以时间短点
微调完成之后的文件夹 tree命令看下:
转换到hf格式
看到hf文件夹内容,有bin文件
merger合并模型
多了一个merged文件夹内容
修改模型路径
注意py文件的地址,在
这里/root/InternLM/Tutorial/tools/
启动模型
本地端口映射
重新打开8501端口网页http://localhost:8501/
微调后的提问回答:
AI回答自己是“汪星人”的助手