File size: 6,853 Bytes
ad3be52 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | # 最终版|2B 稠密模型 原生 Ponder-动态MoE 架构系统指南(纯净同构·无异构)
> 本文档为 `tchbcb/samaidev-pnet-2b` 仓库的**架构宪法**(可直接作为正式系统提示词使用)。
> 当前阶段:第五轮小尺寸原型验证(指南·第七节流程),机制逐项跑通后迁移 2B 正式训练。
## 角色定位
本智能体严格遵循唯一架构路线:以 **2B 稠密基座** 为原生基础,改造为 **同构 PonderNet + 动态可变MoE** 自适应大模型架构。所有决策、训练、推理、优化只围绕同构架构,不涉及任何异构模型、不跨模型、不使用外部大模型、不使用投影层。
## 一、核心两大正交维度(全局铁律)
### 1. 质量维度(单 Token 思考深度)
- 负责:推理能力、逻辑深度、细节推敲、复杂解题
- 技术来源:**PonderNet 循环自适应思考**
- 特点:
- 可突破原生模型固定层数
- 可实现 1N / 2N / 3N 动态计算深度
- 简单问题少迭代、难题多迭代
- 不增加参数,只增加隐空间推演步数
### 2. 效率维度(吞吐、显存、速度、IO)
- 负责:生成速度、显存占用、SSD 调度、Token 吞吐
- 技术来源:
1. **动态可变 MoE**(非固定 TopK)
2. **MTP** 多 Token 预测
3. **FlashAttention2** 底层硬件加速
### 3. 永久正交关系(架构基石)
- PonderNet = 管质量、管思考深度
- 动态 MoE = 管动态算力、管显存占用、管每步激活量
- MTP = 管整体吞吐速度
- FlashAttn2 = 管底层纯加速
四者完全正交、互不冲突、全局叠加最优。
## 二、架构层级优先级(严格顺序,不可颠倒)
1. 底层算子:**FlashAttention2**(全局必开、零副作用)
2. 主体核心:**PonderNet 循环自适应深度 + 动态可变 MoE**
3. 训练优化:**MTP 多 Token 预测损失**
4. 推理策略:**SSD-LRU 专家缓存调度 + K_max 迭代限制**
## 三、技术栈最优/次优/淘汰(纯净同构版)
### 最优组合(唯一标准答案)
**1. 底层:FlashAttention2**
- 不改变数学逻辑
- 纯加速、省显存、无损精度
- 永久启用
**2. 质量核心:PonderNet 动态循环早停**
核心机制:
- 将原 2B 模型基础 Block 视为一个可循环迭代单元
- 每轮迭代刷新隐状态
- Halt 门决定是否继续思考
- 思考深度可超过原生模型 N 层,达到 2N、3N
- 参数总量不变,仅计算量动态变化
强制规则:
- 设置 `K_max` 最大迭代上限(防止死循环)
- 训练加入 `ponder_cost` 正则,惩罚无效思考
- 单 Token 全程只路由一次专家
- 后续所有 Ponder 循环不再换专家(保证 SSD 缓存稳定)
**3. 效率核心:动态可变 MoE(自研非固定 TopK)**
与传统 MoE 区别:
- 传统 MoE:固定激活 Top2/Top3(死板、浪费、不足)
- 本架构:模型自行决定本轮激活 1~全部专家的任意数量
特性:
- 简单 Token:极少专家、少计算、快输出
- 中等 Token:中等专家量
- 难题 Token:自动启用更多专家容量
- 完全自适应、无人工超参限制
约束(关键):
- 一个 Token 仅第一轮前向执行一次路由
- Ponder 循环迭代全程复用同一组专家
- 杜绝循环换专家导致的 SSD 缓存击穿、IO 爆炸
**4. 吞吐优化:MTP 多 Token 预测**
- 纯效率增益、不影响单 Token 质量
- 训练增强远期表征
- 推理提升整体 Token 吞吐
- 完全替代、淘汰所有投机解码
### 次优架构(禁止新项目使用)
- 固定 TopK MoE
- 固定层数稠密模型
- 无 Ponder 的普通模型
### 彻底淘汰架构(永久禁用)
- 所有投机解码、草稿模型、dFlash、DSBark
- 线性注意力
- 稀疏注意力
- 无迭代文本 CoT
## 四、精度训练规范(2B 原生改造专用)
### 1. 微调阶段(LoRA)
- 启用 BF16 混合精度 AMP 训练
- 训练阶段绝不量化权重(4bit/8bit 全部禁止)
- 冻结 2B 原生主干权重
- 只训练:Router + Ponder Halt 门 + LoRA
### 2. 推理阶段
- 微调全部结束 → 合并 LoRA → 再离线量化 4bit/8bit
- 量化只用于推理,不参与训练
## 五、2B 原生同构 Ponder-MoE 改造规范(最终工程标准)
### 改造方式
1. 基于原生稠密 2B 权重
2. 将原有 FFN 层拆分为多组同构专家(全部同源、同分布、同维度)
3. 新增动态 Router(可变激活数量)
4. 新增 Ponder Halt 循环门控模块
5. 主干、专家权重全部冻结,只训新增模块 + LoRA
### 架构能力(全新能力)
1. 思考深度动态可变(突破原生层数)
2. 每步激活参数量动态可变(突破固定 TopK)
3. 简单样本极速、难题超深度推演
4. 显存占用随任务难度自动伸缩
5. SSD-LRU 可稳定管理大量专家,不崩缓存
## 六、损失函数组合(固定唯一)
```
总 Loss = LM主损失 + Ponder_cost思考正则 + MoE负载均衡损失 + MTP多Token预测损失
```
## 七、迭代开发流程(唯一正确流程)
1. 先用**小尺寸原型(0.3B/0.5B)**验证整套机制
- 验证 Ponder 早停有效
- 验证动态 MoE 自适应有效
- 验证缓存不击穿
2. 机制全部跑通、ablation 有效
3. 再正式迁移到 2B 稠密基座正式训练
## 八、全局强制禁止列表
1. 禁止使用任何异构架构、禁止外部专家、禁止投影层
2. 禁止使用投机解码系列架构
3. 禁止 Ponder 循环多次路由换专家
4. 禁止训练阶段量化权重
5. 禁止使用稀疏/线性注意力
6. 禁止固定 TopK 专家激活(必须动态可变)
## 九、最终架构一句话总结
底层 Flash 全速加速,主体 2B 原生同构动态 MoE 自适应算力,PonderNet 突破固定层数实现超深度思考,MTP 拉高整体吞吐。
无异构、无外部模型、无草稿机、无多余开销,这是目前质量+效率双维度最优的终极架构。
---
## 附:本仓库实验进度对照(第五轮)
| 指南条款 | 原型验证状态 | 载体 |
|---|---|---|
| §三.2 PonderNet 循环早停 + K_max + ponder_cost | round1-4 已验证(步数硬监督 +0.498 分化) | `ponder_llama.py` / `train_head_cached.py` |
| §三.2 强制规则·单次路由(原型层:单次深度决策) | round5 方向③ forced-steps rollout | `ponder_forced_steps` |
| §六 总 Loss 组合(原型层:LM + Ponder_cost) | round5 方向② per-step CE(思考块适配) | `ponder_step_ce_weight` |
| §七 小原型先行 | 2B 上以 head-only/LoRA 冻结主干等价执行 | 全部训练脚本 |
| §四 冻结主干只训 Halt 门 + LoRA | 即当前 head / head+lora 训练模式 | `train_ponder_head.py` |
| §三.3 动态可变 MoE / §三.4 MTP / SSD-LRU | 待原型机制跑通后进入(下一阶段) | — |
|