模型参数量与计算量(FLOPs)估算


一句话总结

模型参数量决定模型容量,计算量(FLOPs)决定训练成本。Scaling Law揭示了参数量、数据量和计算量之间的幂律关系,指导了LLM的最优配置。

核心概念

参数量估算(Decoder-only Transformer):每层包含Self-Attention(4d²)和FFN(约8d²,SwiGLU时),加上Embedding(Vd)和输出层(dV)。总参数≈12Ld²+2Vd,其中L为层数,d为隐藏维度。FLOPs估算:前向传播每个Token约6N FLOPs(N为参数量),反向传播约12N FLOPs,一次完整训练step约18N FLOPs/Token。训练总FLOPs≈6×N×D(N为参数量,D为训练Token数)。Chinchilla定律:给定计算预算C,最优配置为N∝C^0.5和D∝C^0.5,即参数量和数据量应等比扩大。

为什么重要

FLOPs决定了训练时间和成本:GPT-3训练约3.14×10²³ FLOPs,在1000张A100上约需1个月。Scaling Law是LLM训练预算规划的理论基础,可以在小规模实验中预测大模型的性能,避免昂贵的试错。Chinchilla的发现改变了业界策略——从追求最大模型转向平衡参数和数据。

实践要点

GPU利用率(MFU)通常只有30-60%,实际训练时间=理论FLOPs/(GPU算力×MFU);A100的BF16峰值算力为312TFLOPS,H100为989TFLOPS;模型和数据比例的经验法则:每个参数约需20个训练Token(Chinchilla最优);实际训练中常超配数据以获得更好性能(over-training)。

常见误区

误区一:参数量越大模型越好——在固定计算预算下,过大的模型配过少的数据不如较小模型配充足数据(Chinchilla的核心发现)。误区二:FLOPs等于实际计算时间——受限于内存带宽、通信开销和GPU利用率,实际训练时间远大于FLOPs/峰值算力。误区三:推理FLOPs等于训练FLOPs——推理只有前向传播,约为训练的1/3,但推理的瓶颈通常是内存带宽而非计算。