#十六、参数量、显存与复杂度快算口诀

这部分非常适合笔试前速记。

#1. 快速口诀

  1. embeddingV * d
  2. 标准 attention 投影:约 4d^2
  3. LLaMA 风格单层主干:约 12d^2
  4. 总参数量:约 embedding + L * 12d^2
  5. KV cache:约 2 * B * T * L * n_kv_heads * head_dim * bytes
  6. 长上下文涨的是算力和缓存,不是静态参数

#2. 典型快问题

  1. 为什么 d 翻倍比头数翻倍更可怕?
  2. 为什么层数翻倍会让参数和缓存都近似翻倍?
  3. 为什么 GQA 能显著省缓存,但不一定大幅改 attention 主干参数?
  4. 为什么 MoE 的总参数量大,不代表每个 token 的 FLOPs 同样大?

#就地速答

  • 问:为什么 d 翻倍比头数翻倍更可怕?

    答:因为大多数主干矩阵参数和 FLOPs 都近似按 d^2 增长,而总头数变化若不改总隐藏维,更多只是重分组而不是平方级膨胀。

  • 问:为什么层数翻倍会让参数和缓存都近似翻倍?

    答:因为每多一层,都会多一套主干参数和一层历史 KV 缓存,所以静态权重和推理缓存基本都线性叠加。

  • 问:为什么 GQA 能显著省缓存,但不一定大幅改 attention 主干参数?

    答:因为它主要减少的是 K/V 头数和缓存存储,而 Q/输出投影等大矩阵仍然保留在主干里,所以省缓存比省参数更明显。

  • 问:为什么 MoE 的总参数量大,不代表每个 token 的 FLOPs 同样大?

    答:因为每个 token 并不会经过所有专家,而是只激活少数几个专家,所以一次前向的有效计算量远小于“全部参数全开”的情况。