题目
给定一个 层、隐藏维度 、词表 的 Decoder-only 模型,如何估算其参数量与训练/推理 FLOPs?
参考答案
参数量估算(忽略 bias):
每层包含:
- 注意力:Q/K/V/O 四个矩阵,各 ,共 。
- FFN:标准两层 ,参数 (用 SwiGLU 则 , 为中间维度,常约 )。
- LayerNorm/RMSNorm:可忽略。
故每层约 参数。 层主干 。
加上 embedding:输入 + 输出共享时 ,不共享 。
总参数量约:
示例: → 主干 ,embedding ,约 6.5B(接近 LLaMA-7B)。
训练 FLOPs 估算:
经验法则:每 token 训练约 FLOPs(前向 ~,反向 ~)。
其中 为训练 token 数。
示例:7B 模型训 1T token → FLOPs ≈ 4.2e22。
换算 GPU:A100 算力约 312 TFLOPS(BF16 理论),实际 MFU 30–50%:
4.2e22 / (3.12e14 × 0.4 × 3600) ≈ 93,500 GPU 时,约 3,900 A100 跑一天。
推理 FLOPs 估算:
- Prefill:处理 prompt,约 FLOPs。
- Decode 每 token:约 FLOPs(前向一次),但实际瓶颈是访存而非计算(见 KV Cache 题)。
关键直觉:
- 训练算力与参数和 token 数线性相关:。
- 推理 prefill 是计算瓶颈,decode 是访存瓶颈。
- 参数量主要看 , 与 平方关系——扩 比扩 更”费参数”。
面试加分点:
- 能口算”训 X B 模型用 Y token 需多少 A100 天”是 Infra 岗的硬技能。
- 指出训练算力公式 来自 Kaplan 论文,是 Scaling Law 的基础。
- 推理时”参数量决定下限、KV Cache 决定上限”——长上下文推理显存主要被 KV Cache 吃掉,而非权重。
出处:Chinchilla 论文、大模型算力估算面经。
内容来源
整理自大模型算力估算面经与 Chinchilla 论文
本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。