Mixtral 8x7B

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 的线性层),其余结构不变。