#十六、参数量、显存与复杂度快算口诀
这部分非常适合笔试前速记。
#1. 快速口诀
- embedding:
V * d - 标准 attention 投影:约
4d^2 - LLaMA 风格单层主干:约
12d^2 - 总参数量:约
embedding + L * 12d^2 - KV cache:约
2 * B * T * L * n_kv_heads * head_dim * bytes - 长上下文涨的是算力和缓存,不是静态参数
#2. 典型快问题
- 为什么
d翻倍比头数翻倍更可怕? - 为什么层数翻倍会让参数和缓存都近似翻倍?
- 为什么
GQA能显著省缓存,但不一定大幅改 attention 主干参数? - 为什么
MoE的总参数量大,不代表每个 token 的FLOPs同样大?
#就地速答
- 问:为什么
d翻倍比头数翻倍更可怕?答:因为大多数主干矩阵参数和 FLOPs 都近似按
d^2增长,而总头数变化若不改总隐藏维,更多只是重分组而不是平方级膨胀。 - 问:为什么层数翻倍会让参数和缓存都近似翻倍?
答:因为每多一层,都会多一套主干参数和一层历史
KV缓存,所以静态权重和推理缓存基本都线性叠加。 - 问:为什么
GQA能显著省缓存,但不一定大幅改 attention 主干参数?答:因为它主要减少的是
K/V头数和缓存存储,而Q/输出投影等大矩阵仍然保留在主干里,所以省缓存比省参数更明显。 - 问:为什么
MoE的总参数量大,不代表每个 token 的FLOPs同样大?答:因为每个 token 并不会经过所有专家,而是只激活少数几个专家,所以一次前向的有效计算量远小于“全部参数全开”的情况。