Mixtral 8x7B 不是从 Llama 2 改出来的,它的基座是 Mistral 7B。所以它和 Llama 2 7B 的差异其实分成两层:一层是 Mistral 7B 本身就有的改动,另一层才是 MoE。把这两层分开看会清楚很多。
三者共享的骨架完全一致:decoder-only、pre-norm RMSNorm、RoPE、SwiGLU FFN、32 层、hidden size 4096、32 个 query head(head_dim 128)、vocab 32000。
不同的地方如下:
| 对比项 \
| Llama 2 7B | Mistral 7B | Mixtral 8x7B |
| - | - | - | - |
| KV head 数 \
| 32(MHA) | 8(GQA) | 8(GQA) |
| FFN intermediate \
| 11008 | 14336 | 14336 × 8 个 expert |
| 每 token 走几个 FFN \
| 1 | 1 | top-2 |
| 上下文长度 \
| 4K | 8K(sliding window 4096) | 32K(不用 sliding window) |
| RoPE θ \
| 10000 | 10000 | 1,000,000 |
| 总参数 \
| 6.7B | 7.2B | 46.7B |
| 每 token 激活参数 \
| 6.7B | 7.2B | 12.9B |
可以看到,attention、embedding、norm 全部是共享的,只有 FFN 被复制成 8 份。每层多了一个 router(一个 4096 → 8 的线性层),其余结构不变。