## 项目亮点
- **易于使用**:专为新手设计的用户友好界面和详细的文档。
- **高效训练**:只需少量聊天数据,即可快速生成高质量的聊天机器人。
- **个性化**:能够训练出模拟你自己或任何其他现实或虚拟角色的聊天机器人。
- **强大性能**:基于最新的glm4开源模型,确保生成的对话自然、流畅且具有高度的互动性。
- **资源友好**:使用lora训练方法,家用级显卡,只要满足24G显存。都可以训练。
## 环境要求
请确保您的系统中已安装CUDA和PyTorch。
CUDA建议11.8以上
PyTochy建议2.0.0以上
### 创建虚拟环境
#### 对于Linux用户:
```
conda create -n Chatbot-Trainer python=3.10 -y
source activate Chatbot-Trainer
```
#### 对于Windows用户:
```
conda create -n Chatbot-Trainer python=3.10 -y
conda activate Chatbot-Trainer
```
# 依赖安装
```
pip install -r requirements.txt
```
# 模型下载
```
pip install codewithgpu
cg down xxxiu/glm-4-9b-chat
```
打开run.py文件,找到这行代码:MODEL_PATH = os.environ.get('MODEL_PATH', '模型路径')
将其中的“模型路径”替换为你刚刚下载的glm-4-9b-chat模型的绝对路径。并保存
## 模型推理测试
测试是否可以推理成功:
```
python run.py
```
## 训练
首先,数据集制作分为两种格式:传统问答对格式和“半”监督格式。
**问答对格式示例**:
```
问:你平时一般做什么呀?
答:我平时一般工作完,就看看视频或者出门跑跑步,周末会去和朋友吃烧烤或者火锅。
问:最近新出来了个电影,要去看吗?
答:诶呀。外面太热了,不想出门。
```
**“半”监督数据集示例**:
```
问:你叫(名字),用这种说话方式和我对话
答:我平时一般工作完,就看看视频或者出门跑跑步,周末会去和朋友吃烧烤或者火锅。
问:你叫(名字),用这种说话方式和我对话
答:诶呀。外面太热了,不想出门。
```
第二种数据集格式,优势在于无需传统一问一答的编写格式,无需根据问题提供回答。只要在"答"的后面跟着的是说话人说话的内容就行。
甚至不需要有一定的逻辑。只需确保“答”的部分内容符合您的个人说话风格或者训练人说话风格即可。什么内容都可以,这里主要是训练您的语言习惯。
在实际的测试中第二种方法仅比第一种下降10%~20%的模型质量,操作简便。
但即便如此,数据集还是至少包含70对问答,如果想要有好的效果,这是最低标准。
## 数据集制作
我在dataset里面放了一个"半监督QA"和一个"QA"文件。你可以选择你希望训练的数据集格式
如果打算用QA文本训练,数据集里面有大约100条问题,你需要用你自己的性格和语气来一一回复这些问题,写在“答”后面。
全部写完后,记得保存。
然后再运行这个指令处理你刚刚编写的数据集:
```
python preprocessing.py
```
# 开始训练
**Linux系统**:
```
python finetune.py data/ glm-4-9b-chat configs/lora.yaml
```
**Windows系统**:
```
python finetune.py data\\ glm-4-9b-chat configs\\lora.yaml
```
# 推理
```
python run.py
```
## 许可协议
+ 使用GLM-4 模型权重需要遵循 [模型协议](https://huggingface.co/THUDM/glm-4-9b/blob/main/LICENSE)。
+ 本开源仓库代码遵循 [Apache 2.0](LICENSE) 协议。
### 讨论学习
QQ群:296483610
微信公众号:AI会思考
(公众号里我会经常分享我最新的训练理解和微调信息差)
汀、人工智能
- 粉丝: 9w+
- 资源: 410
最新资源
- lanchaoHunanHoutaiQiantai
- (177377030)Python 爬虫.zip
- (177537818)python爬虫基础知识及爬虫实例.zip
- 自动驾驶横纵向耦合控制-复现Apollo横纵向控制 基于动力学误差模型,使用mpc算法,一个控制器同时控制横向和纵向,实现横纵向耦合控制 matlab与simulink联合仿真,纵向控制已经做好油门刹
- (178199432)C++实现STL容器之List
- (178112810)基于ssm+vue餐厅点餐系统.zip
- 两相步进电机FOC矢量控制Simulink仿真模型 1.采用针对两相步进电机的SVPWM控制算法,实现FOC矢量控制,DQ轴解耦控制~ 2.转速电流双闭环控制,电流环采用PI控制,转速环分别采用PI和
- VMware虚拟机USB驱动
- Halcon手眼标定简介(1)
- (175128050)c&c++课程设计-图书管理系统
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈