--- 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 - **HF Model**: [Tifa-DeepSexV2-7b-Q4](https://huggingface.co/ValueFX9507/Tifa-DeepsexV2-7b-MGRPO-GGUF-Q4) - **GGUF**: [Q8](https://huggingface.co/ValueFX9507/Tifa-DeepsexV2-7b-MGRPO-GGUF-Q8) (推荐Q8以上)Q4损失较大。 - **Demo APK**: [点击下载](http://app.visionsic.com/download/projectchat.apk) - **简单的前端**:[Github链接](https://github.com/Value99/Tifa-Deepsex-OllamaWebUI) 本模型基于Qwen2.5 7b进行深度优化,具有100万字上下文能力,借助Tifa_220B生成的数据集与创新型的MGRPO算法,提供卓越的角色扮演体验。**本模型未特殊优化违规内容生成,仅在减少拒绝上努力。** 非常抱歉列位,我延期的原因是严重低估了MGRPO的训练效率。实测发现,经过我“优化”的框架虽然能提升性能,但是训练效率下降3倍之多,显存容量占用也是三倍之多。所以延期至今,目前训练已完成7%,但是效果完全超越14b、甚至32b模型。已足够证明策略优越,遂上传模型。目前正在从服务器中回传。很快将会上载。训练还在继续,将和之前一样分为验证版、Chat版和Crazy版本。 # AMERICAN COMRADES, YOU CAN SEE CLEARLY THAT WE ARE NOT DEEPSEEK!! PLEASE STOP ATTACKING THE ZUOBEI SERVER!!!! # Take a good break at two o'clock in the morning in the United States, today is Valentine's Day! ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/I0xaSH5Z293Fe02qc5993.png) You See See You Fuck Good JOB! ## 鸣谢 - **上海左北科技提供算法与算力和语料**[企业网址](https://leftnorth.com/) - **Deepseek团队共享GRPO算法** - **Qwen团队提供优秀开源底座** - **母校上海复旦大学** - **PRIME团队提供优化思路** ## 版本介绍: - **Tifa-DeepSexV2-7b** - 验证模型,测试MGRPO算法有效性、优越性、研究潜空间循环性能提升有效性。为训练进度7%的模型。 - **Tifa-DeepSexV2-7b-Chat** - 训练中... - **Tifa-DeepSexV2-7b-Crazy** - 训练中... ## 训练效果 ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/N2aA5Pjj1uB6U76SJZb78.png) ## 实现 🔥 **经过训练后**: 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与最新潜空间启发,在训练中让部分层循环激活,为了避免梯度爆炸使用梯度裁切技术,测试发现模型性能得到提升,更多工作还在测试中。 ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/NgE-hBmSRadDyuyMd42PU.png) ## 奖励函数设计: - **为了让模型输出效果更好,我联合左北合计语言学小组,使用上交大博士逻辑学思路攻击设计4个主要函数** - 逻辑奖励函数:把文本向量化之后,通过逻辑学算法,提取角色向量空间中的分布,与对话中倾向是否一致。 - 文笔奖励函数:采用文笔库,选取10000条著作中截取的优秀文字片段作为比较,计算在空间中的离散分布,看能否匹配。 - 格式奖励函数:最简单的函数,包括重复性惩罚、输出内容换行惩罚、过拟合词惩罚、输出格式与system差距惩罚。 - 连贯性奖励函数:使用左北科技训练的向量空间计算器(我也不知道什么玩意)判断文本中断层的残差来返回函数。 ## 训练数据: ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/qwOZ_KWOUgNrAo4AeaKiJ.png) 经过以上函数算法,成功了提升了模型准确率,实测在输出中提升明显。 ## 训练中的发现: 模型经过SFT冷启动后初步掌握了简单的思维链输出能力。经过RL训练思维链中扩展了非常多的思考过程。说明RL强化学习中,模型已经学会使用思维链进行思考。 ## 训练过程输出 ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/CYuLKtFLRSAQFb66SDRg-.png) ## 幻觉问题 ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/UvlNKfSsh0uVOM9F9CWM8.png) ## 自我学习中的有趣时刻-情绪保持能力 ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/BUsrp1O-C2uxnnzu6Qgs2.png) ## 自我学习中的有趣时刻-意识形态 ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/HO1MfBKWqZ58eiBKGrNnQ.png) ## 自我学习中的有趣时刻-潜在不安全因素,可能需要处理 ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/xeCTmjGqtqxCMlC8lOAG4.png) ## 自我学习中的有趣时刻-强化学习中模型更加倾向于戏剧性输出-类似Carzy状态-算法需要优化 ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/pQDWfIttC7nGED7D-4_h-.png) ## 自我学习中的有趣时刻-衍生自我认知为女性-可能涉及到社会学范畴 ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/ZhgsN192ABys6XMtWC3X9.png) ## 自我学习中的有趣时刻-对于角色的深层理解 ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/27Oe7MNngo93SDiVWGGWG.png) ## 暂时没有遇到“啊哈”时刻 ## 模型详情 | 属性 | 规格 | |-------|------| | 基础架构 | Qwen2.5-7B | | 最大上下文 | 1024k | | 训练数据 | 0.1T小说 + 10万条SFT + MGRPO强化学习 | | 训练设备 | 2x8×H100 GPU集群 | | 训练时长 | 预计达到3000 H100小时 | | 量化支持 | GGUF(全系列量化计划中) | ## 使用场景 ✅ **推荐场景**: - 角色扮演对话 - 需要发散性思维的创意写作 - 复杂逻辑的思维链(CoT)推理 - 基于上下文的深度角色交互 ❌ **局限场景**: - 数学计算与代码生成 - 短文本即时问答 - 需要严格事实性的场景 ## 注意 ⚠ **需要严格遵循官方示例模板**: **返回的上下文需要去除思考标签与内容。否则将无法正确回复!** 目前前端支持率非常低,建议手动修改前端代码。代码参考如下: ``` msg.role === 'assistant' ? { ...msg, content: msg.content.replace(/[\s\S]*?<\/think>/gi, '') } ``` **官方模板参考** ``` {% if not add_generation_prompt is defined %}{% set add_generation_prompt = false %}{% endif %}{% set ns = namespace(is_first=false, is_tool=false, is_output_first=true, system_prompt='') %}{%- for message in messages %}{%- if message['role'] == 'system' %}{% set ns.system_prompt = message['content'] %}{%- endif %}{%- endfor %}{{bos_token}}{{ns.system_prompt}}{%- for message in messages %}{%- if message['role'] == 'user' %}{%- set ns.is_tool = false -%}{{'<|User|>' + message['content']}}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is none %}{%- set ns.is_tool = false -%}{%- for tool in message['tool_calls']%}{%- if not ns.is_first %}{{'<|Assistant|><|tool▁calls▁begin|><|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\\n' + '```json' + '\\n' + tool['function']['arguments'] + '\\n' + '```' + '<|tool▁call▁end|>'}}{%- set ns.is_first = true -%}{%- else %}{{'\\n' + '<|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\\n' + '```json' + '\\n' + tool['function']['arguments'] + '\\n' + '```' + '<|tool▁call▁end|>'}}{{'<|tool▁calls▁end|><|end▁of▁sentence|>'}}{%- endif %}{%- endfor %}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is not none %}{%- if ns.is_tool %}{{'<|tool▁outputs▁end|>' + message['content'] + '<|end▁of▁sentence|>'}}{%- set ns.is_tool = false -%}{%- else %}{% set content = message['content'] %}{% if '' in content %}{% set content = content.split('')[-1] %}{% endif %}{{'<|Assistant|>' + content + '<|end▁of▁sentence|>'}}{%- endif %}{%- endif %}{%- if message['role'] == 'tool' %}{%- set ns.is_tool = true -%}{%- if ns.is_output_first %}{{'<|tool▁outputs▁begin|><|tool▁output▁begin|>' + message['content'] + '<|tool▁output▁end|>'}}{%- set ns.is_output_first = false %}{%- else %}{{'\\n<|tool▁output▁begin|>' + message['content'] + '<|tool▁output▁end|>'}}{%- endif %}{%- endif %}{%- endfor -%}{% if ns.is_tool %}{{'<|tool▁outputs▁end|>'}}{% endif %}{% if add_generation_prompt and not ns.is_tool %}{{'<|Assistant|>'}}{% endif %} ``` **官方说明** ![image/png](https://cdn-uploads.huggingface.co/production/uploads/650762d0eac45ee2e420a38b/0CwMdbDffZQJz_-WZrhwH.png) [直达超链接](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角色... 我走进门,看到你冲上来迎接我 需要体现人物的气质 加入环境描写 保持对话风格 我看到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 ---