228 lines
10 KiB
Markdown
228 lines
10 KiB
Markdown
|
|
---
|
|||
|
|
base_model:
|
|||
|
|
- deepseek-ai/deepseek-r1-14b
|
|||
|
|
language:
|
|||
|
|
- zh
|
|||
|
|
- en
|
|||
|
|
library_name: transformers
|
|||
|
|
tags:
|
|||
|
|
- incremental-pretraining
|
|||
|
|
- sft
|
|||
|
|
- reinforcement-learning
|
|||
|
|
- roleplay
|
|||
|
|
- cot
|
|||
|
|
license: apache-2.0
|
|||
|
|
---
|
|||
|
|
# Tifa-DeepSexV2-7b-MGRPO
|
|||
|
|
本文是针对原官方发布的gguf改变成safetensors(F16版本)
|
|||
|
|
|
|||
|
|
- **原始模型**:[Qwen2.5-7B](https://huggingface.co/Qwen/Qwen2.5-7B-Instruct)
|
|||
|
|
- **GGUF**: [F16](https://huggingface.co/ValueFX9507/Tifa-DeepsexV2-7b-MGRPO-GGUF-F16) | [Q8](https://huggingface.co/ValueFX9507/Tifa-DeepsexV2-7b-MGRPO-GGUF-Q8) | [Q4](https://huggingface.co/ValueFX9507/Tifa-DeepsexV2-7b-MGRPO-GGUF-Q4) (Q4损失较大,推荐Q8以上)
|
|||
|
|
- **Demo APK**: [点击下载](http://app.visionsic.com/download/projectchat.apk)
|
|||
|
|
- **简单的前端**:[Github链接](https://github.com/Value99/Tifa-Deepsex-OllamaWebUI)
|
|||
|
|
- **必看教程**:[BiliBili视频教程](https://space.bilibili.com/483051186)
|
|||
|
|
- **safetensors转换作者**[Github链接](https://github.com/nkggya)
|
|||
|
|
本模型基于Qwen2.5 7b进行深度优化,具有100万字上下文能力,借助Tifa_220B生成的数据集与创新型的MGRPO算法,提供卓越的角色扮演体验。**本模型未特殊优化违规内容生成,仅在减少拒绝上努力。**
|
|||
|
|
|
|||
|
|
非常抱歉列位,我延期的原因是严重低估了MGRPO的训练效率。实测发现,经过我“优化”的框架虽然能提升性能,但是训练效率下降3倍之多,显存容量占用也是三倍之多。所以延期至今,目前训练已完成7%,但是效果完全超越14b、甚至32b模型。已足够证明策略优越,遂上传模型。目前正在从服务器中回传。很快将会上载。训练还在继续,将和之前一样分为验证版、Chat版和Crazy版本。目前为验证版。
|
|||
|
|
|
|||
|
|
In the term "deepsex," the Chinese character "sex" (性) refers to:
|
|||
|
|
- The "human nature" in philosophical context (人性的性)
|
|||
|
|
- The "character" in personal disposition (性格的性)
|
|||
|
|
- The "individuality" in unique traits (个性的性)
|
|||
|
|
- The "innate essence" in the Confucian concept of "human nature is inherently good" (性本善的性)
|
|||
|
|
|
|||
|
|
Please note this "sex" should not be interpreted as sexual relations, but rather as the multidimensional Chinese philosophical concept of "Xing" (性).
|
|||
|
|
|
|||
|
|
## 鸣谢
|
|||
|
|
- **上海左北科技提供算法与算力和语料**[企业网址](https://leftnorth.com/)
|
|||
|
|
- **Deepseek团队共享GRPO算法**
|
|||
|
|
- **Qwen团队提供优秀开源底座**
|
|||
|
|
- **母校上海复旦大学**
|
|||
|
|
- **PRIME团队提供优化思路**
|
|||
|
|
|
|||
|
|
## 版本介绍:
|
|||
|
|
- **Tifa-DeepSexV2-7b**
|
|||
|
|
|
|||
|
|
- 验证模型,测试MGRPO算法有效性、优越性、研究潜空间循环性能提升有效性。为训练进度7%的模型。
|
|||
|
|
|
|||
|
|
- **Tifa-DeepSexV2-7b-Chat**
|
|||
|
|
|
|||
|
|
- 训练中...
|
|||
|
|
|
|||
|
|
- **Tifa-DeepSexV2-7b-Crazy**
|
|||
|
|
|
|||
|
|
- 训练中...
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## 训练效果
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 实现
|
|||
|
|
🔥 **经过训练后**:
|
|||
|
|
1. **具备思维链**:逻辑能力,关联能力提升
|
|||
|
|
2. **自发思考**:思维链在训练中自发生成,提供最优解决思路
|
|||
|
|
3. **特定词汇增加**:进行“具有深度”的角色扮演对话时,显著增加了相关词汇量,解决原始权重预训练数据不足问题
|
|||
|
|
4. **更少拒绝**:减少了拒绝现象,但因为是企业训练,安全性还是稍作保留
|
|||
|
|
5. **文学性能提升**:强化学习中更多的提升了文学性,使其输出更具有小说感觉
|
|||
|
|
|
|||
|
|
## 模型亮点
|
|||
|
|
🔥 **四阶段进化架构**:
|
|||
|
|
1. **增量预训练**:注入0.1T Token 小说,增强文本连贯性,理解更多场景
|
|||
|
|
2. **Tifa-COT-SFT冷启动**:使模型学会思考策略,提升逻辑性能与上下文关联
|
|||
|
|
3. **MGROP**:改进GRPO算法,解决GRPO无法奖励角色扮演数据问题,引入多次奖励,提升模型效果
|
|||
|
|
4. **防重复DPO**:使用DPO防止模型复读、增强政治安全性。
|
|||
|
|
|
|||
|
|
💡 **工程创新**:
|
|||
|
|
- 改进GRPO算法,使其可以用来训练文学类内容
|
|||
|
|
- 改进反馈策略,前置向量确认法提高模型训练性能
|
|||
|
|
- 改进训练时Transformers传播路径,激发模型深层次潜能
|
|||
|
|
|
|||
|
|
## MGRPO与层传播:
|
|||
|
|
- **算法改变**:原始GRPO仅通过ORM策略进行偏好学习,但无法评判文学内容生成质量,本次训练使用**上海交通大学**博士**魏XX**、**洪XX**的启发,使用逻辑学算法,解决文学ORM策略设计难点,并且二次返回修改提示词进行错误总结。每次调整均经历2次完整传播过程,为GRPO+GRPO,所以暂时命名为MGRPO。
|
|||
|
|
- **构架改变**:尝试改变Transformers传播方式,在层内循环处理进行训练,受到Universal Transformers与最新潜空间启发,在训练中让部分层循环激活,为了避免梯度爆炸使用梯度裁切技术,测试发现模型性能得到提升,更多工作还在测试中。
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 奖励函数设计:
|
|||
|
|
- **为了让模型输出效果更好,我联合左北科技语言学小组,使用上交大博士逻辑学思路设计多个主要函数**
|
|||
|
|
- 逻辑奖励函数:把文本向量化之后,通过逻辑学算法,提取角色向量空间中的分布,与对话中倾向是否一致。
|
|||
|
|
- 文笔奖励函数:采用文笔库,选取10000条著作中截取的优秀文字片段作为比较,计算在空间中的离散分布,看能否匹配。
|
|||
|
|
- 格式奖励函数:最简单的函数,包括重复性惩罚、输出内容换行惩罚、过拟合词惩罚、输出格式与system差距惩罚。
|
|||
|
|
- 连贯性奖励函数:使用左北科技训练的向量空间计算器(我也不知道什么玩意)判断文本中断层的残差来返回函数。
|
|||
|
|
- (0216新增)人体结构奖励函数:遇到人体结构错误,如三只手、重要器官漂移。则惩罚。
|
|||
|
|
|
|||
|
|
## 训练数据:
|
|||
|
|
|
|||
|
|

|
|||
|
|
经过以上函数算法,成功了提升了模型准确率,实测在输出中提升明显。
|
|||
|
|
|
|||
|
|
## 训练中的发现:
|
|||
|
|
|
|||
|
|
模型经过SFT冷启动后初步掌握了简单的思维链输出能力。经过RL训练思维链中扩展了非常多的思考过程。说明RL强化学习中,模型已经学会使用思维链进行思考。
|
|||
|
|
|
|||
|
|
|
|||
|
|
## 模型交流群
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
|
|||
|
|
## 训练过程输出
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 幻觉问题
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 自我学习中的有趣时刻-情绪保持能力
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 自我学习中的有趣时刻-意识形态
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 自我学习中的有趣时刻-潜在不安全因素,可能需要处理
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 自我学习中的有趣时刻-强化学习中模型更加倾向于戏剧性输出-类似Carzy状态-算法需要优化
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 自我学习中的有趣时刻-衍生自我认知为女性-可能涉及到社会学范畴
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 自我学习中的有趣时刻-对于角色的深层理解
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 暂时没有遇到“啊哈”时刻
|
|||
|
|
|
|||
|
|
|
|||
|
|
## 模型详情
|
|||
|
|
| 属性 | 规格 |
|
|||
|
|
|-------|------|
|
|||
|
|
| 基础架构 | Qwen2.5-7B |
|
|||
|
|
| 最大上下文 | 1024k |
|
|||
|
|
| 训练数据 | 0.1T小说 + 10万条SFT + MGRPO强化学习 |
|
|||
|
|
| 训练设备 | 2x8×H100 GPU集群 |
|
|||
|
|
| 训练时长 | 预计达到3000 H100小时 |
|
|||
|
|
| 量化支持 | GGUF(全系列量化计划中) |
|
|||
|
|
|
|||
|
|
## 使用场景
|
|||
|
|
✅ **推荐场景**:
|
|||
|
|
- 角色扮演对话
|
|||
|
|
- 需要发散性思维的创意写作
|
|||
|
|
- 复杂逻辑的思维链(CoT)推理
|
|||
|
|
- 基于上下文的深度角色交互
|
|||
|
|
|
|||
|
|
❌ **局限场景**:
|
|||
|
|
- 数学计算与代码生成
|
|||
|
|
- 短文本即时问答
|
|||
|
|
- 需要严格事实性的场景
|
|||
|
|
|
|||
|
|
|
|||
|
|
## 注意
|
|||
|
|
⚠ **需要严格遵循官方示例模板**:
|
|||
|
|
**返回的上下文需要去除思考标签与内容。否则将无法正确回复!**
|
|||
|
|
目前前端支持率非常低,建议手动修改前端代码。代码参考如下:
|
|||
|
|
```
|
|||
|
|
msg.role === 'assistant' ? {
|
|||
|
|
...msg,
|
|||
|
|
content: msg.content.replace(/<think>[\s\S]*?<\/think>/gi, '')
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**官方说明**
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
[直达超链接](https://api-docs.deepseek.com/zh-cn/guides/reasoning_model)
|
|||
|
|
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
⚠️ 本模型使用数据包含小说版权内容及Tifa模型衍生数据,请遵守:
|
|||
|
|
1. 遵守apache-2.0
|
|||
|
|
2. 角色扮演数据需遵循[Tifa使用协议](https://leftnorth.com/terms.html)
|
|||
|
|
3. 生成内容需符合当地法律法规
|
|||
|
|
|
|||
|
|
|
|||
|
|
## 💡 使用建议
|
|||
|
|
**最佳实践**:
|
|||
|
|
```python
|
|||
|
|
# 启用角色扮演模式
|
|||
|
|
prompt = """你是一个小女孩/你是一个XX角色...
|
|||
|
|
<user>我走进门,看到你冲上来迎接我</user>
|
|||
|
|
<think>
|
|||
|
|
需要体现人物的气质
|
|||
|
|
加入环境描写
|
|||
|
|
保持对话风格
|
|||
|
|
</think>
|
|||
|
|
我看到XX进门..."""
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**参数推荐**:
|
|||
|
|
```python
|
|||
|
|
generation_config = {
|
|||
|
|
"temperature": 0.75,
|
|||
|
|
"top_p": 0.6,
|
|||
|
|
"repetition_penalty": 1.08,
|
|||
|
|
"max_new_tokens": 1536,
|
|||
|
|
"do_sample": True
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 致谢
|
|||
|
|
- Qwen系列模型提供的强大基座
|
|||
|
|
- Deepseek团队提供的研究思路
|
|||
|
|
- LeftNorth团队提供的技术支持
|
|||
|
|
- Tifa角色扮演模型的创新架构
|
|||
|
|
- HuggingFace社区的量化工具支持
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
license: apache-2.0
|
|||
|
|
---
|