加载中...
基于 AttnRes 架构的中文对话生成模型
SudenMind 采用创新的 AttnRes 架构,为中文对话场景提供卓越性能
每层可动态关注之前所有层的输出,信息流动更丰富
2层AttnRes编码器 + 6层AttnRes解码器,支持跨层残差连接
所有 FFN 层替换为 MoE 层,8 个专家,top_k=2
使用 ShareGPT/ChatML 格式,兼容主流模型
FP16 加速,节省显存,支持 AMD ROCm
支持导出 ONNX 格式,可用 Netron 可视化模型结构
创新的门控机制平衡记忆与推理,动态调整特征融合
解码器可访问编码器所有中间状态,增强上下文理解
基于 Attention Residuals 的 Encoder-Decoder 设计
Token Embedding + Position Encoding
自定义编码器(双向注意力),每层可访问之前所有层
解码器(因果注意力)+ 跨层残差注意力 + MoE 前馈网络
Linear → Softmax → 概率分布
输入 (batch, seq_len)
↓
Token Embedding + Position Encoding
↓
AttnRes Encoder ×2
↓
AttnRes Decoder ×6
↓
Linear → Softmax
↓
输出 (batch, seq_len, vocab_size=65024)
深入理解创新的 Attention Residuals 机制
AttnRes (Attention with Residual) 是一种创新的注意力机制,允许每层不仅关注当前输入,还能动态访问之前所有层的输出。这显著增强了信息流动和特征重用能力。
每个AttnRes层通过计算当前查询与所有历史层键值对的注意力分数,实现对历史信息的选择性聚焦。
创新的门控网络动态平衡MoE输出和跨层残差输出,根据输入特征自适应调整特征融合比例。
通过残差连接和注意力机制的结合,解决了深层网络中的梯度消失问题,同时保持了特征的丰富性。
Gate = σ([MoE_out; Res_out]W_g)
Output = (1 - Gate) ⊗ MoE_out + Gate ⊗ Res_out
其中σ为Sigmoid激活函数,W_g为可学习参数矩阵。这个机制使模型能够根据当前输入的特征,动态决定采用更多的创新特征(MoE输出)还是保留历史信息(残差输出)。
传统Transformer:信息仅在相邻层之间流动
AttnRes架构:每层可直接访问所有前序层的丰富特征,形成密集连接的信息高速公路。
采用业界标准格式,确保兼容性
[BOS] <|im_start|>user
你好
<|im_end|>
<|im_start|>assistant
你好!很高兴为你服务。
<|im_end|>
<|im_start|>user
今天天气怎么样?
<|im_end|>
<|im_start|>assistant
今天天气很好!
<|im_end|>
[EOS]
模型会根据 `data_utils.py` 的规则,在 assistant 填写的内容区间计算 loss。
[BOS] <|im_start|>user
你好
<|im_end|>
<|im_start|>assistant
你好!很高兴为你服务。
<|im_end|>
<|im_start|>user
今天天气怎么样?
<|im_end|>
<|im_start|>assistant
推理时,模型基于此文本续写 assistant 内容直到结束符(`<|im_end|>` 或 `[EOS]`)。
| 模型 | 格式 | 特点 |
|---|---|---|
| SudenMind | <|im_start|>user/assistant | 使用 ShareGPT/ChatML 标准格式 |
| OpenAI GPT-4 | ⟨im_start⟩user⟨im_sep⟩{内容}⟨im_end⟩ | 使用 ⟨im_sep⟩ 分隔符 |
| Qwen | ⟨im_start⟩user\n{内容}⟨im_end⟩ | 与 SudenMind 格式兼容 |
| ChatGLM2/3 | [BOS] ⟨user⟩\n{内容}⟨/assistant⟩ | 使用特殊标记和角色标签 |
几分钟内即可体验 SudenMind 的强大功能
conda create -n sudenmind python=3.10
conda activate sudenmind
# AMD ROCm 版本
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.4
# 或 CUDA 版本
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# 其他依赖(硬性版本要求)
pip install transformers>=4.30.0 datasets>=2.0.0 sentencepiece>=0.1.99 onnx>=1.14.0 onnxruntime>=1.15.0 netron>=7.0.0
python src/train.py
python src/chat.py