由于业务需要,调研下怎么训练一个虚拟角色出来,所以找了一些文档参考,其中有一个基于ChatGLM-6B使用ptuning进行微调,实现类instruction的效果的现成的项目,给大家分享下。
一、介绍
由于ChatGLM-6B 不支持instruction,所以在进行角色扮演任务时具有不稳定性。所以这个项目是通过模板生成超小语料数据集,使用ptuning 进行微调,实现角色扮演的效果。
📜 通过外挂知识库的方式进行角色背景设定。
- Python 3.10
二、部署
1、下载源码
git clone https://github.com/vissurra/RolePlayGLM.git
2、安装依赖
# 安装ChatGLM-6B所需依赖
$ pip install -r chatglm_6b/requirements.txt
# 安装ptuning依赖
$ pip install rouge_chinese nltk jieba datasets
# 安装本项目所需依赖
$ pip install -r requirements.txt
3、训练模型
可以删除 train_instruction.sh 中的
--quantization_bit
参数,不使用量化。
# 构造数据集
$ python dataset.py
# 训练
$ bash train_instruction.sh
-
从 Google Drive 下载已经训练的权重文件,放在 ckpt 目录下,跳过此步骤
4、运行
$ bash web_demo.sh
5、访问
浏览器直接打开 http://127.0.0.1:7860