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