ac75faa0cc
CI / build-and-test (push) Has been cancelled
- E4B-MarkBase model (42 layers, 4.4GB) loaded successfully - All Phase 1-6 tests passed (model loading, forward pass, vision/audio towers, token generation, performance) - All stress tests passed (5/5 in 127.6s) - Concurrent inference - Memory stress (67.5 tok/s, 0 NaN) - Continuous generation - Batch processing - Long-running stability - Swift Metal inference engine with multimodal support
5.3 KiB
5.3 KiB
重要发现:31B 是 Dense 模型,可以直接使用!
发现日期
2026-06-20
关键发现
31B 模型结构验证
{
"enable_moe_block": False,
"num_experts": None,
"moe_intermediate_size": N/A
}
结论: ✅ 31B 是 Dense 模型(无 MoE)
26B-A4B 模型结构验证
{
"enable_moe_block": True,
"num_experts": 128,
"moe_intermediate_size": 704
}
结论: ⚠️ 26B-A4B 所有30层都有 MoE
实际结构对比
| 模型 | MoE | 层数 | Experts | 实现难度 | 实际意义 |
|---|---|---|---|---|---|
| 31B | No ✅ | 60 | None | ⭐⭐⭐⭐⭐ 直接可用 | ⭐⭐⭐⭐⭐ 最高 |
| 26B-A4B | Yes ⚠️ | 30 | 128 (all layers) | ⭐⭐⭐ 需要 MoE | ⭐⭐⭐ 中 |
| 26B-Standard | No ✅ | 30 | None | ⭐⭐⭐⭐⭐ 已验证 | ⭐⭐⭐⭐⭐ 最高 |
| 26B 8-bit | No ✅ | 30 | None | ⭐⭐⭐⭐⭐ 标准 | ⭐⭐⭐⭐⭐ 高 |
为什么 31B 可以直接测试
1. Dense 结构(无 MoE)
- ✅ enable_moe_block: False
- ✅ 无 MoE 权重(420个 vs 26B-A4B)
- ✅ 标准 Dense forward pass
2. 已下载可用
- ✅ 文件大小: 18.41 GB(已下载)
- ✅ 4 shards(完整权重)
- ✅ 配置齐全
3. 量化格式标准
- ✅ 4-bit (group=64)
- ✅ 标准 MLX 格式
- ✅ 无特殊处理需求
4. Swift 代码已支持
- ✅ Model.swift: 已有 Dense 模型加载逻辑
- ✅ Layer.swift: Dense forward pass 实现
- ✅ 可复用 26B-Standard 的代码
5. 只需小调整
- ⚠️ 层数调整:60层(vs 26B 30层)
- ⚠️ Hidden size:5376(vs 26B 2816)
- ⚠️ 可能需要验证 scales(group=64)
预计工作量: 1-2小时(不是 5-8天!)
31B vs 26B 详细对比
模型规格
31B 4-bit:
参数量: 31B (+19% vs 26B)
层数: 60 (+100% vs 26B)
Hidden size: 5376 (+91% vs 26B)
结构: Dense ✅
26B 4-bit:
参数量: 26B
层数: 30
Hidden size: 2816
结构: Dense ✅
性能参数
31B 4-bit:
文件: 18.41 GB (实测)
内存: ~20 GB
推理速度: ~25 tok/s (预计,60层)
精度: Acceptable (4-bit)
设备: M4 (64GB)
26B 4-bit:
文件: 15.61 GB
内存: ~17 GB
推理速度: 40 tok/s (实测)
精度: Acceptable (4-bit)
设备: M3 Max (48GB)
实际意义对比
31B 4-bit:
实际意义: ⭐⭐⭐⭐⭐ (最高)
- Dense 结构,直接可用
- 更大模型容量
- 更深层数
- 已下载
- 立即测试
26B 4-bit:
实际意义: ⭐⭐⭐⭐⭐ (最高)
- 最快速度
- 最小内存
- 已验证
- 当前最优
测试步骤
立即测试 31B(1-2小时)
步骤 1: 复用 26B 测试逻辑
// 使用 26B-Standard 的测试框架
// 调整参数:num_layers=60, hidden_size=5376
步骤 2: 验证配置
cd /Users/accusys/MarkBase12B
.build/debug/G12BServer models/gemma-4-31b-it-4bit test --benchmark
步骤 3: 检查 scales
# 验证 group_size=64
# 检查是否需要 normalization
步骤 4: 对比性能
对比指标:
- Token generation speed (tok/s)
- Memory usage
- Output quality
- Forward pass 稳定性
步骤 5: 验证输出
# Python 验证(类似 26B)
# 确认输出 tokens 有效
新的推荐策略
立即行动(今天)
- ✅ 测试 31B 4-bit(Dense,直接可用)
- ✅ 对比 31B vs 26B 性能
- ✅ 验证是否真的更强
当前最优(继续)
- ✅ 26B 4-bit(最快、最小、已验证)
- ✅ 适合 M3 Max (48GB)
未来升级(可选)
- 26B 8-bit(最高精度,需要 64GB+)
- 31B 4-bit(如果测试证明更强)
学习研究(可选)
- 26B-A4B MoE(需要 3-5天实现 MoE)
优先级(重新排序)
基于新发现
1. 31B 4-bit ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
- Dense 结构,直接可用
- 更大模型容量
- 立即测试
2. 26B 4-bit (当前) ⭐⭐⭐⭐⭐
- 最快、最小、已验证
- 当前最优
3. 26B 8-bit ⭐⭐⭐⭐⭐
- 最高精度
- 需要 64GB+
4. 26B-A4B MoE ⭐⭐⭐
- 需要 MoE 实现
- 仅用于学习
关键结论
-
31B 实际意义大幅提升
- 从 ⭐⭐⭐⭐ (需要 MoE) → ⭐⭐⭐⭐⭐ (直接可用)
- Dense 结构,无需额外开发
-
31B 可以立即测试
- 工作量从 5-8天 → 1-2小时
- 可复用 26B 测试框架
-
31B vs 26B 对比有意义
- 两者都是 Dense 结构
- 可以公平对比性能
-
建议立即测试 31B
- 验证是否真的更强
- 可能替代 26B 作为主力模型
下一步行动
立即可行
- ✅ 测试 31B 4-bit forward pass
- ✅ 对比 31B vs 26B token generation
- ✅ 验证内存和推理速度
- ✅ Python 验证输出质量
如果测试成功
- ✅ 31B 可能成为新主力(更大容量)
- ✅ 26B 继续用于快速推理
- ✅ 根据实际性能决定使用哪个
如果测试失败
- ⚠️ 检查 scales/hidden_size 配置
- ⚠️ 验证 group_size=64 格式
- ⚠️ 可能需要小调整
发现: 31B 是 Dense 模型 ✅
意义: 实际意义大幅提升 ⭐⭐⭐⭐⭐
工作量: 1-2小时(不是 5-8天)
推荐: 立即测试验证
预期: 31B 可能更强(更大容量,更深层数)