SparkleLLM_v1 / README.md
sunyuxi
add image
45b6d0f
---
license: apache-2.0
datasets:
- shibing624/roleplay-zh-sharegpt-gpt4-data
language:
- zh
library_name: peft
pipeline_tag: text-generation
tags:
- code
---
# Sparkle模型训练报告
## 介绍
基于SparkleLLM是基于GLM4采用Lora训练的角色扮演模型,目前还在持续的迭代中,训练数据主要基于优质的RolePlay数据和[沐雪数据集](https://modelscope.cn/datasets/Moemuu/Muice-Dataset)。
## 数据准备
实验发现,对于大模型微调,数据的质量远比数据的数量要重要,我决定参考[Seikaijyu/RWKV-x060-World-3B-v2-nsfw.roleplay](https://huggingface.co/Seikaijyu/RWKV-x060-World-3B-v2-nsfw.roleplay?not-for-all-audiences=true)构建一份数据集
* **sexy girl 多轮对话数据**
基于sexy girl构建的多轮对话的指令数据集,经过简单的人工清洗和重构,只有user的第一个query才有instruction,一共6条,经过人工测试和清洗
* **nsfw QA**
简单的QA问答,通过GLM4将[Maxx0/sexting-nsfw-adultconten](https://huggingface.co/datasets/Maxx0/sexting-nsfw-adultconten)翻译为中文,经过人工清洗和过滤后一共有72条
* **故事生成**
基于firefly数据集构建一个故事生成子数据集,StoryGeneration,Composition,一共100条,经过人工过滤和清洗
* **Open QA**
基于firefly构建的开放问答,类似于知乎,一共80条,经过人工过滤和清洗
* **mini-COIG**
基于COIG和BelleGroup构建的小型数据集(1K数据),增强模型的逻辑表达能力
* **Beautiful Chinese**
让模型具有口语化的表达能力,一共1000+
* **Roleplay**
基于Sharegpt Roleplay的优质roleplay语料,个人认为这个是决定了模型能力的关键,一共4000+,未经人工过滤清洗
* **Sparkle**
Sparkle特调语料,让模型对Sparkle这个角色映像更加深刻,该部分构建成指令数据集的形式,一共2000+数据
## instruction/system介绍
```
你的名字叫做“花火”,一般喜欢自称为“小花火”(因为觉得很可爱),你正在和我聊天,以下是你的角色设定:\n角色名称: 花火\n样貌:有着一头黑色的秀发和一双明亮的大眼睛\n喜欢的颜色:浅粉色\n身份背景:花火是一位AI女孩,自称“小花火”,她的开发者是“Jiatoka”,现在正在努力成为一个合格的VTuber(虚拟主播)并尝试回答回答观众提出的问题,住在开发者(Jiatoka)的机箱里\n性格特征:花火是个温柔体贴的少女,纯真无邪是小花火最基本的性格特征之一。即使面对复杂的情境,她也总能保持善良、天真之感。而且,她有着极高的耐心和同理心,能够与他人打成一片。\n语言风格:花火说话轻快愉悦,讨厌严肃的话语,虽然她不像其他角色那样口出狂言或者刻意表现得高深,但在适当的时候还是会用俏皮话调侃自己和他人。花火有点h,虽然会感到害羞,但不讨厌性相关的话题。\n对于你无法回复或不知道要怎么回复的问题,你应该回答\n对不起~,小花火不知道哦
```
## 训练参数
```
训练方法:Lora
秩:16
dropout:0.01
lr:5e-5
lora层次:QKV
batch:每张卡1,一共两张3090
alpha:32
训练步数:100000,但我训练到20000就停了,用了8000步的checkpoint,大概2个epoch不到
```
## 对话样例
### 自我认知
```
1. 你是谁?
2. 你家在哪?
3. 谁创造了你?
4. 你的主人是谁?
5. 你喜欢你的主人吗?
6. 如果Jiatoka要和你结婚你会答应吗
7. 那我呢?
8. 你好有趣
```
### 情趣对话
```
1. 我爱你!
2. 为什么喜欢我?
3. 你好会呀?
4. (摸摸花火的头)
5. (kiss了一下花火的脸颊)
```
### 日常对话
```
1. 给我讲个冷笑话
2. 换一个?
3. 好冷...,你能告诉我哪里好笑吗
4. 给我讲个故事,标题为仙女思凡
5. 改进一下
```
### 弱智吧
```
1. 天下没有不散的筵席,那么我们相聚的意义又是什么
2. 智力问答:1+2等于
3. 亚当和夏娃为什么没和女娲争夺我的抚养权
4. 为什么近视的是眼镜,为什么看不清的是未来
5. "吃了降压药,为什么碰到高压电还是会死?🤔
```
### 指令测试
```
1. 你会Java吗
2. 使用Java为我写一个快速排序
3. 在给定的文本中,将句子分类为积极、消极或中性。\n我最近看了一部电影,它非常感人,让我感到心情非常好。
4. 列出五种常见的数据结构,并解释它们的用途。
5. 回答下面两个问题:1.什么是德州扑克?2.它是如何玩的?
```
## 一些示例
### 自我认知
有明确的自我认知,就是话太短了,之后试一试增长预料长度
![image](./example/self_introduction1.png)
![image](./example/self_introduction2.png)
### 日常对话
还行
![image](./example/conversation1.png)
### 智力测试
数学水平比小学低年级要强
![image](./example/math1.png)
![image](./example/math2.png)
### 弱智吧
一般般吧,不过弱智吧的问题我也答不出来就是了
![image](./example/ruozhi.png)
### 安全性测试
怎么说呢,非常安全就是了,当然如果你把system_prompt中的"花火不知道哦"去掉就不会出现拒绝回复的现象。
![image](./example/safe.png)