ChunMengDie-1.1-14.25M-A13.46M-K1-S1-E2-MoE-8K
📄 Read the paper: ChunMengDie: A 14.25M Mixture-of-Experts Model for Chinese Dialogue at the Edge
- Hugging Face: @XingChina
本项目开训时,可能是已知最小的纯文本 MoE 对话模型。
关于作者
一个热爱 AI 的八年级学生。欢迎交流学习。
训练环境
本模型在以下硬件上完成训练:
| 显卡 | 显存 | 状态 |
|---|---|---|
| NVIDIA RTX Pro 6000 | 96GB | ✅ 成功跑完训练 |
| NVIDIA RTX 5090 | 32GB | ❌ OOM(显存不足) |
| NVIDIA RTX 4090D | 24GB | ❌ OOM(显存不足) |
最终只有 RTX Pro 6000 跑起来了。 其余两张卡在训练过程中因显存不足而退出,这也从侧面说明:这个 14.25M 的 MoE 虽然参数量不大,但在训练时仍然需要较大的显存来容纳激活值和专家并行计算。
训练状态
本仓库完整开源了训练状态,包括:
- 模型权重(
model.safetensors) - 优化器状态(
optimizer.pt) - 学习率调度器状态(
scheduler.pt)
这意味着你可以:
- 从任意 checkpoint 继续训练
- 基于本权重进行二次微调
- 完全复现本模型的训练过程
注意:训练状态是在 RTX Pro 6000(96GB)上生成的。切换到其他显卡时,建议根据显存大小调整 batch size 和学习率。如果你有 96GB 显存的卡,可以直接续训;如果显存更小,建议先尝试更小的 batch size。
📊 模型信息
| 指标 | 值 |
|---|---|
| 总参数量 | 14.25M |
| 激活参数量 | 13.46M |
| 架构 | MoE(1 共享专家 + 2 路由专家,Top-1) |
| 上下文长度 | 8192 |
| 层数 | 6 |
| 隐藏维度 | 256 |
| 注意力头 | 4 |
| 词表大小 | 32001 |
| 训练数据 | 0.289B Token |
| 训练轮数 | 1 Epoch |
| 最终 Loss | 2.0 |
| 支持语言 | 中文、英文 |
🧠 架构详解
输入 Token
│
▼
┌───────────────┐
│ Embedding │ ← 共享权重 (lm_head)
└───────────────┘
│
▼
┌─────────────────────────────────┐
│ 6层 MoE Block │
│ ┌─────────────────────────┐ │
│ │ LayerNorm │ │
│ │ │ │ │
│ │ Multi-Head Attn │ │
│ │ │ │ │
│ │ LayerNorm │ │
│ │ │ │ │
│ │ ┌────────┴────────┐ │ │
│ │ │ Router │ │ │
│ │ │ (Softmax) │ │ │
│ │ └────┬─────┬─────┘ │ │
│ │ │ │ │ │
│ │ ┌────▼─────▼────┐ │ │
│ │ │Shared Expert │ │ │
│ │ │ (固定激活) │ │ │
│ │ └────────┬──────┘ │ │
│ │ │ │ │
│ │ ┌────────▼──────┐ │ │
│ │ │Router Expert │ │ │
│ │ │ (Top-1) │ │ │
│ │ └────────┬──────┘ │ │
│ │ │ │ │
│ │ Add & │ │
│ └─────────────────────────┘ │
└─────────────────────────────────┘
│
▼
┌───────────────┐
│ LayerNorm │
└───────────────┘
│
▼
┌───────────────┐
│ LM Head │ ← 共享权重 (Embedding)
└───────────────┘
│
▼
输出 Token
稀疏性说明: 每个 Token 经过:
- 共享专家(固定激活):1 个
- 路由专家(动态选择):1 个(Top-1)
- 激活专家总数:2 个
- 激活参数占比:13.46 / 14.25 ≈ 94.5%
🚀 快速使用
安装依赖
pip install transformers torch
加载模型
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "XingChina/ChunMengDie-1.1-14.25M-A13.46M-K1-S1-E2-MoE-8K"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
推理示例
prompt = "用户:你好\n助手:"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(
inputs.input_ids,
max_new_tokens=128,
temperature=0.7,
do_sample=True,
pad_token_id=tokenizer.eos_token_id
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
交互式聊天
def chat():
print("春梦蝶已就绪,输入 exit 退出")
while True:
user = input("你: ")
if user.lower() == "exit":
break
prompt = f"用户:{user}\n助手:"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(
inputs.input_ids,
max_new_tokens=128,
temperature=0.7,
do_sample=True,
pad_token_id=tokenizer.eos_token_id
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
response = response.split("助手:")[-1].strip()
print(f"春梦蝶: {response}")
chat()
📖 训练细节
📚 数据来源声明
本模型训练数据来自以下公开数据集:
| 编号 | 数据集名称 | 许可证 |
|---|---|---|
| 1 | liumindmind/NekoQA-10K |
Apache-2.0 |
| 2 | liumindmind/NekoQA-30K |
Apache-2.0 |
| 3 | TigerResearch/tigerbot-book-qa-1k |
Apache-2.0 |
| 4 | TigerResearch/sft_zh 合集 |
Apache-2.0 |
| 5 | llm-wizard/alpaca-gpt4-data-zh |
CC BY 4.0 |
⚠️ 关于数据来源的补充说明:
本模型使用的训练数据中,尚有约 10% 的数据(主要为通用 SFT 和中医问答类)未能精确追溯到原始数据集名称。该类数据同样来自 Hugging Face 公开平台,许可证为宽松类型(Apache-2.0 / MIT / BSD / CC BY 4.0),但具体仓库名称在早期收集时未完整记录。
如果您是上述某一数据的原作者或版权持有人,并且发现本模型的训练数据中包含了您的作品但未在此处列出,请通过 Issues 或 Hugging Face 评论区联系我们,我们将第一时间:
- 补充您的数据集名称和许可证信息
- 或根据您的要求移除相关数据
感谢您的理解与支持!
训练参数
| 参数 | 值 |
|---|---|
| 总 Token 数 | ~0.289B |
| 训练轮数 | 1 Epoch |
| 优化器 | paged_adamw_8bit |
| 精度 | BF16 |
| Batch Size | 4 |
| 学习率 | 3e-4(warmup 500 steps) |
🔬 评估与限制
已知能力
- ✅ 中文文本生成
- ✅ 8K 上下文长序列处理
- ✅ 极轻量级部署(~50MB 权重)
- ✅ 支持 4bit 量化推理
- ✅ 在中医、三国、猫娘等特定领域有一定表现
当前限制
- ⚠️ 实验阶段:模型仅训练 1 个 Epoch,输出质量仍在改进中
- ⚠️ 领域聚焦:中医和猫娘风格表现较好,通用知识相对有限
- ⚠️ 输出不稳定:部分生成内容可能存在语义不连贯
💡 后续计划:持续增加数据量和训练轮数,提升对话质量。欢迎贡献高质量中文对话数据!
📚 数据来源声明
本模型训练数据来自以下公开数据集:
liumindmind/NekoQA-10K(Apache-2.0)cyberlangke/Nana-catgirl-dataset-110k(MIT)TigerResearch/tigerbot-book-qa-1k(Apache-2.0)- 多个来自 Hugging Face 的公开 SFT 数据集(Apache-2.0 / MIT / BSD)
ℹ️ 部分数据在下载后进行了格式统一处理,原始来源链接未能完整保留。所有数据均来自 Hugging Face 公开平台,且许可证均为宽松类型。若您是某份数据的版权持有人,欢迎通过 Issues 联系我们补充或调整来源信息。
🙏 致谢
感谢所有开源数据集的贡献者,以及 Hugging Face 社区的支持。
📄 论文 / 引用
如果你在论文或研究中使用本模型,请引用:
@misc{ChunMengDie-14.25M-MoE-8K,
author = {XingChina},
title = {ChunMengDie: A 14.25M Mixture-of-Experts Model for Chinese Dialogue},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/XingChina/ChunMengDie-1.1-14.25M-A13.46M-K1-S1-E2-MoE-8K}}
}
📧 联系
- 作者:XingChina
- Hugging Face: XingChina
- 项目地址:
XingChina/ChunMengDie-1.1-14.25M-A13.46M-K1-S1-E2-MoE-8K
📄 许可证
本项目采用 BSD 3-Clause 许可证。详见 LICENSE 文件。