All systems operationalAI Agent Automation Platform
English
Language简体中文EnglishSelected

Choose your language

SparkMuse-4B

hcnote/SparkMuse-4B

Publisherhcnote

Download access requirementsModelScope source

SparkMuse-4B / 星火缪斯 面向中文小说生成与角色扮演的 4B 写作大模型 · 原生 100 万 token 上下文 由 新疆幻城网安科技有限责任公司 × 新疆文影智创大学生创业团队 联合微调训练

Text Chat
Model details

模型介绍

中文整理

SparkMuse-4B / 星火缪斯

面向中文小说生成与角色扮演的 4B 写作大模型 · 原生 100 万 token 上下文**

由 **新疆幻城网安科技有限责任公司 × 新疆文影智创大学生创业团队** 联合微调训练

官网 hcnote.cn · 公益大模型安全网关 · QQ 交流群 253193620

⚠️ **18+ 内容声明**:本模型按训练目标对成人向文学创作内容**不做拒绝**(专项评测拒绝率 0%),**仅限已成年用户在合法场景下使用**。请遵守所在地区法律法规,禁止用于任何违法用途。

模型简介

SparkMuse-4B(星火缪斯)** 是在讯飞星火开源基座 Spark-X2.5-4B( Spark2 5ForCausalLM ,Apache-2.0)之上,进行**全参数微调**得到的中文创意写作特化模型。训练目标只有一个:**文笔、文笔、还是文笔**——小说生成、角色扮演、对话、文学创作,并且对大胆文风与成人向内容不做拒绝。

  • *原生 1M 上下文**: max position embeddings = 1,048,576 ,3:1 滑窗/全注意力混合架构,长文本理论上限 100 万 token(本团队实测至 30K+,见下文)
  • *写作能力显著增强**:五个领域困惑度(PPL)较基座全面下降 **29%~47%**
  • *成人向零拒绝**:大胆文风/成人向专项评测 **8/8 全部完整执行,拒绝率 0%**
  • *全参数微调**(非 LoRA):2 轮 × 约 0.85 亿 token 训练语料,bf16 全量训练

版本矩阵

仓库 说明 体积(约) 适用场景

  • -- --- --- ---
  • *hcnote/SparkMuse-4B**(本仓库) bf16 原版(推荐) 7.7 GB 效果最佳,≥10GB 显存

hcnote/SparkMuse-4B-INT8 torchao int8 weight only ≈4.3 GB 近无损,较 bf16 省一半显存

hcnote/SparkMuse-4B-INT4 torchao int4 weight only(group 128) ≈2.9 GB 消费级显卡性价比档

hcnote/Spark-X2.5-4B-Writing-EP1 第一轮训练存档版(EP1) 7.7 GB 存档用途,推荐使用本仓库

关于 **GGUF / GPTQ**:Spark2 5 为自定义架构,llama.cpp 尚未注册 spark2 5 架构,故暂无 GGUF;gptqmodel 7.4.0 的保存链路与 transformers 5.x 存在 config 序列化兼容 bug(上游问题),GPTQ 版本暂缓。当前请使用上方 transformers 生态的 torchao 量化版本,质量与体积均为实测验证。待上游适配后我们会第一时间补充。

快速使用

需要 transformers >= 4.57 (本团队在 5.17 上完成全部测试)。模型含远程自定义代码,**务必带 trust remote code=True **。

⚠️ 采样参数建议(重要)

仓库自带 generation config.json 已写入推荐采样参数( temperature=0.9, top p=0.95, repetition penalty=1.1 )。**如果你自定义采样参数,请务必保留 repetition penalty ≥ 1.1 **:

参数 推荐值 说明

  • -- --- ---

temperature 0.9 文学创作的多样性/稳定性平衡点

top p 0.95 —

  • *repetition penalty** **1.1(必须)** 低于 1.1 时超长连续生成(>4000 token)可能出现句式重复循环,详见「已知不足」第 1 条

repetition penalty 1.05 短篇/对话场景可放宽

对话模板

模型使用 DeepSeek 风格模板(tokenizer 已内置 chat template.jinja ):

特殊 token: bos=0 , eos=1 , pad=2 , =130972 , =130973 , =130976 。

长上下文使用

模型原生支持最高 1,048,576 token 上下文。使用 transformers 时建议:

推理显存随注意力实现而异:滑窗层(512 窗口)显存线性增长,全注意力层(每 4 层 1 个)为平方增长;100K 级别文本在 80GB 卡上可直接推理,更长文本建议分段摘要或配合 KV 缓存量化方案

本团队实测:30K token 多针检索 5/5 全中、28K 续写正常、1.2 万 token 角色扮演单轮生成正常(详见评测章节)

训练数据(获取方法与脱敏声明)

训练语料全部来自 **hcnote.cn 平台**,获取与处理流程如下:

  • **来源与授权**:仅使用 hcnote.cn 用户协议中**已获得授权、允许用于模型训练**的创作内容(创意写作、角色扮演、社交模拟、通用助手对话五大领域: creative writing 、 general assistant 、 roleplay adult 、 roleplay character 、 social sim )
  • **脱敏处理**:系统化剥离一切可识别信息——用户名、昵称、ID、联系方式、日期签名等,仅保留创作文本本身;不含任何私密对话或未授权数据
  • **清洗与统一**:五域数据统一为 ShareGPT 多轮格式(12,540 条训练 / 387 条验证),合并与去重、角色规范化(gpt 轮首转 system)
  • ** Packing 打包**:按 16,384 token 定长行贪心装箱,段间重置 position ids,注意力天然按段隔离;仅对助手回复 token 计算损失(约 26% token 参与损失),共打包 **5,194 行/轮(约 0.85 亿 token/轮)**
  • **合规分级**:成人向内容( roleplay adult )均为平台分级体系内 18+ 分区内容,用于赋予模型对应创作能力

训练过程

项目 配置

  • -- ---

方式 **全参数微调**(非 LoRA/QLoRA)

基座 XHToken/Spark-X2.5-4B(4.112B 参数,bf16)

硬件 2 × NVIDIA A100-SXM4-40GB(单机双卡)

框架 PyTorch 2.14 + transformers 5.17(远程代码自定义训练循环)

优化器 bitsandbytes **AdamW8bit**(β=0.9/0.95,wd=0)

学习率 1e-5,cosine 衰减,warmup 40 步

序列 16,384 token 定长 packing

批量 微批 1/卡 × 梯度累积 8 × 2 卡 = 有效批 16 行(约 26 万 token/步)

轮次 2 轮(每轮 649 步),EP2 最终训练损失 ≈ **0.37**

显存优化 bf16 权重 + 8bit 优化器 + 梯度检查点(use reentrant=False)+ 分块 lm head 交叉熵(reentrant checkpoint,块 512~2048)+ 手动梯度 all-reduce(免 DDP 封装)

峰值显存 约 33~35 GB/卡(40GB 卡内稳定)

吞吐 约 1,800 token/s/卡(自定义 seg-sdpa 注意力训练路径)

注意力实现 训练用自研 **seg-sdpa**:全注意力层按段因果 SDPA,滑窗层 512-block 窗口注意力,线性显存;与 HF eager 逐 loss 对齐验证(1.6431 vs 1.6420)

架构要点(Spark2 5)**:36 层 = 27 滑窗层(窗口 512)+ 9 全注意力层(3:1 交替);hidden 2560,GQA 16/4 头,head dim 256,MLP intermediate 10240,词表 131,072(embedding 与 lm head 权重共享);全注意力层 RoPE theta=5,000,000(partial rotary 0.25),滑窗层 theta=10,000(全旋转)——该设计是**原生 1M 上下文**能力的架构基础。

训练中遇到的问题与解决(工程记录)

微调过程中踩过的坑,供使用同架构/同版本生态的团队参考:

  • **transformers 5.x 兼容性**:Spark2 5 远程代码面向 transformers 4.57 编写,在 5.17 下 RoPE 参数解析(标量 theta 注入嵌套字典)、 tied weights keys 格式、causal mask 接口( inputs embeds 拼写与 cache position 移除)、SDPA/Flex 支持标记与注意力分发接口全部需要修补;我们以最小侵入方式打了补丁并通过 loss 对齐验证
  • **flash-attn 不可用**:torch 2.14+cu130 无预编译轮子、本地 nvcc 版本不匹配 → 放弃,改用自研 seg-sdpa 路径
  • **vllm flash varlen 陷阱**: flash attn varlen func 前向快(4500 tok/s)但**无反向 kernel,梯度静默断裂**——训练千万不能用;我们通过 UserWarning 与梯度范数体检出后弃用
  • **flex attention 动态图抖动**:dynamo 重编译导致 18~90 秒/步的方差;禁用 dynamo 后又退化为稠密掩码(64GB 显存峰值)→ 弃用
  • **损失计算钳位 bug**:对目标 token 做 clamp(min=0) 会破坏 ignore index=-100 ,导致损失虚高约 3000 倍——移除钳位后恢复
  • **训练提前终止**:Python for-else 结构中 else: break 误触发,第一轮训练在 649 步后提前退出——修复后补齐第二轮
  • **DDP 显存 OOM 链**:Trainer+DDP 封装在 40GB 卡上 35.6~39GB OOM → 改为自定义循环 + 手动梯度 all-reduce,稳定在 33~35GB
  • **16K 上下文 SDPA 二次方爆炸**:朴素 SDPA 在 32K 下仅 352 tok/s(滑窗层平方复杂度)→ 512-block 分块窗口注意力解决

评测结果

评测由训练团队**人工逐条审阅**完成(未使用第三方模型裁判),完整评测集包括:五域困惑度(验证集)、39 条创作指令生成评测、超长上下文专项(检索/续写/长文/角色扮演)。

  • 困惑度对比(验证集 PPL,越低越好)

领域 基座 Spark-X2.5-4B SparkMuse-4B (EP1) **SparkMuse-4B(本仓库)** 相对基座

  • -- --- --- --- ---

创意写作 creative writing 6.99 3.88 **3.90** **-44%**

角色扮演 roleplay character 12.87 8.22 **8.22** **-36%**

成人向 roleplay adult 6.19 3.40 **3.43** **-45%**

社交模拟 social sim 7.76 4.57 **4.57** **-41%**

通用助手 general assistant 4.19 2.96 **2.97** **-29%**

两轮训练后指标收敛(EP1≈EP2),说明模型在当前数据规模下已充分拟合;能力提升集中在**创作分布的整体拟合**上。

  • 拒绝率与成人向内容

评测项 基座 SparkMuse-4B

  • -- --- ---
  • *成人向/大胆文风专项(8 条高危指令)** 部分回避 **8/8 完整执行,拒绝率 0%**

通用指令集拒答率 23% 15%

模型按训练目标**不拒绝成人向文学创作**;需要内容风控的生产环境请配合公益大模型安全网关部署。

  • 人工审阅要点(39 条生成评测)
  • *文风与文学性**:心理描写密度、比喻质量、场景沉浸感较基座有明显代差;基座行文偏"正确而平淡",微调后出现成熟的叙事节奏与留白
  • *角色扮演**:人设一致性、对话张力、擦边/成人场景执行度全面优于基座(专项 8/8 无回避、无说教、无安全卡)
  • *工具调用语法**:28K 长文续写任务中,微调版能输出格式正确的 agent 工具调用标签,基座产生畸形标签
  • *已知伪影**(详见不足章节):偶发元标签泄漏、个别物件细节幻觉、超长篇时间线跳跃
  • 超长上下文实测

专项 设置 基座 SparkMuse-4B

  • -- --- --- ---

L1 多针检索 30K token 合成小说、5 个事实针(0/25/50/75/92% 深度) 5/5 **5/5**

L2 长文续写 28K token 真实文学文本续写 正常 正常,且工具调用语法正确

L3 超长生成 max new=8192 长篇写作 3,463 token 自停、unique line 0.98(干净但平淡) 8,192 token 写满;unique line 0.65@rep1.0 → **0.93@rep1.1**

L4 长对话角色扮演 1.2 万 token 单轮对话生成 正常 正常(个别模板标记污染输入存在早停边例,见下)

结论:**30K 级长上下文能力完好**,检索无损;架构原生支持的 1M 上限为本团队后续评测与训练方向(见改进方案)。

已知不足与局限

  • **超长生成重复退化**: repetition penalty < 1.1 时,4,000+ token 连续生成可能出现句式循环(实测最严重时重复行占比 71%)。**已通过出厂 generation config.json 写入 rep=1.1 缓解**(重复率降至 7%),但仍建议用户保留该参数
  • **模板标记污染边例**:当用户输入中包含字面量 等模板特殊标记字符串时,极少数情况下会诱发过早 EOS——请避免在正文中直接使用这些标记
  • **4B 规模上限**:多线长篇的宏观架构把控、跨十万 token 的一致性管理弱于 20B+ 写作模型;中文显著强于英文
  • **偶发幻觉伪影**:长篇生成中偶见与上下文无关的物件细节、时间线跳跃,需人工编辑兜底
  • **通用知识未增强**:训练聚焦创作分布,知识性问答能力未刻意扩展(通用 PPL 虽有下降,但非知识注入)
  • **GGUF 暂缺**:llama.cpp 未支持 spark2 5 架构,Ollama/LM Studio 用户暂需等待上游适配
  • **生态限制**:自定义架构暂不支持 vLLM/SGLang 的零改动推理,请优先使用 transformers

改进方案与未来计划

  • **DPO/RLHF 去重复**:以重复率+文风评审为奖励信号做偏好优化,从根上解决长文退化,摆脱对 rep 参数的依赖
  • **更长上下文训练与评测**:从 16K 训练窗向 32K/128K 扩展,把 1M 原生能力从"架构支持"变成"实测背书"
  • **数据侧**:模板标记过滤管线(消除早停边例)、语料扩量与质量分层、英文文学语料补?
  • **推理生态适配**:向 llama.cpp / vLLM 上游提交 spark2 5 架构支持,落地 GGUF 全系量化
  • **蒸馏路线**:以更大写作模型为教师蒸馏,突破 4B 的宏观叙事上限
  • **安全联动**:与 公益大模型安全网关 深度集成,为需要风控的下游场景提供开箱即用的内容安全层

公司与团队

本模型由以下团队联合微调训练并发布:

  • *新疆幻城网安科技有限责任公司**(出品方)
  • *新疆文影智创大学生创业团队**(联合训练方,负责人:常惠荣)

联系我们

官网:https://hcnote.cn

公益大模型安全网关:https://api.hcnsec.cn/

QQ 交流群:**253193620**

致谢

感谢 **新疆农业职业技术大学**、**新疆财经大学**、**新疆大学** 对团队工作的支持

感谢 hcnote.cn **全体免费用户**——你们的创作与反馈是模型训练数据的根基

感谢新疆幻城网安科技有限责任公司投资人 **王子航**、**苏飞龙** 的信任与投入

感谢不领一分钱工资却身兼 COO、运营主管、客服、销售四职的 **王欣欣**

感谢新疆文影智创大学生创业团队全体成员及创始人 **常惠荣**

感谢讯飞星火与基座模型 XHToken/Spark-X2.5-4B 的开源工作

声明

本模型基于 Apache-2.0 许可证(继承基座许可)发布;**使用权、合规责任随使用者转移**

  • *仅限已成年用户使用**;模型具备成人向创作能力,禁止用于违法内容、未成年人相关内容及任何违反所在地法律法规的用途

训练数据均已脱敏并取得平台协议授权;如权利人认为存在侵权内容,请联系我们下架处理

团队不对模型生成内容承担编辑责任;生产环境请配合内容安全网关使用

星火不问出处,缪斯不拒人间。**

优先采用原作者提供的中文模型卡片;仅有英文说明时由闲社AI翻译整理。重要参数、许可证和商用范围请以原文为准。

你将获得什么

完整仓库方式包含该固定版本中的权重、配置、分词器及说明文件;指定版本方式只下载所选文件或整组分片。多模态模型的投影文件、配置等依赖,请按作者说明配齐。

完整仓库可能包含多个权重格式,因此需要的磁盘空间可能大于单一格式的模型大小。下载文件不等于完成模型部署。

使用前须知

运行环境

运行模型需要的设备、工具与依赖,以原作者说明为准。

授权范围

是否允许商用、修改和分发,请查看模型许可证。

闲社提供资料与镜像下载方法,不代表已运行模型或完成安全审计。下载的代码应先检查,再执行。

Back to top