|
--- |
|
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) |
|
|