FLOPS
3秒看懂
FLOPS(Floating-Point Operations Per Second)是衡量计算机每秒能完成多少次浮点运算的速率单位。在深度学习中,它用于量化训练或推理一个模型需要多少算力,以及某块芯片能提供多少算力。FLOPS越高,数学上“跑得快”的潜力越大,但实际模型运行效率还与内存带宽、软件调度、数值精度等因素强相关,不能只用FLOPS“一刀切”地比较系统性能。
3分钟产业解释
在深度学习产业里,FLOPS 被拆成两个层面:需求侧(模型计算量)与供给侧(硬件算力)。
- 模型侧:一个神经网络(如 Transformer)处理固定规格输入时,前向传播所需的浮点运算次数通常用“FLOPs”(注意大小写,这里表示运算总量,单位为浮点操作次数)来表示,对应的是每个 token 或每张图片的计算开销。训练还需要加上反向传播,大致是前向的 2~3 倍。
- 硬件侧:GPU/AI 加速卡的理论峰值 FLOPS 指芯片在所有计算单元满载、主频最高时,每秒可完成的浮点运算上限。工业界常用的精度有 FP32(单精度)、FP16/BF16(半精度/脑浮点)、TF32(NVIDIA 的混合精度)以及推理用的 INT8。不同精度下峰值 FLOPS 差别极大,例如同一款 GPU 的 FP16 张量核心算力可能是 FP32 的数倍到十数倍。
因为大模型训练需要海量算力(通常以 ExaFLOPs 来衡量总计算量),产业界关心的不只是单芯片的 FLOPS,还有通过高带宽互联(NVLink、InfiniBand)将成千上万块加速卡组织起来后,所能实现的“有效 FLOPS”或“FLOPS 利用率”(MFU, Model FLOPs Utilization)。
15分钟专家深入
进入专家视野后,FLOPS 被细化为一套评价体系:理论值、实测有效值、精度谱系、计算/访存比,以及分布式训练下的通信开销如何侵蚀有效 FLOPS。
理论峰值 vs 有效 FLOPS 芯片标称的峰值 FLOPS 是在理想条件下(所有乘加单元全开、无访存等待、无系统噪声)的算术上限。然而,深度学习计算是典型的“访存 + 计算”交替模式:矩阵乘法(GEMM)属于计算密集型,可以达到较高 FLOPS 利用率;而注意力机制、层归一化、激活函数等属于访存或延迟敏感型,常让计算单元空转。因此,产业和学术圈常用 MFU 来衡量真实利用率: MFU ≈ (实测每秒浮点运算数)/(理论峰值 FLOPS)。 大模型分布式训练中,哪怕用最好的软硬件栈,MFU 通常在 30%~60% 之间,能超过 50% 已属极佳工程水平。
精度与 FLOPS 的折算 为了提升算力或降低功耗,现代 AI 加速器在硬件层面引入了准 FP32、FP16、BF16、TF32 等格式以及稀疏计算模式,理论上 2:1 或更高倍率的结构化稀疏可将 FLOPS 倍增(需软件侧支持网络剪枝)。因此,比较两款芯片时,必须明确是哪种精度下的 FLOPS,否则很容易被营销话术误导。常见精度关系(定性):
- FP32:深度学习训练的基础精度,通用性最强,理论 FLOPS 相对较低。
- FP16/BF16:半精度,矩阵乘加速,理论 FLOPS 通常是 FP32 的 2 倍甚至更高(依赖张量核心数量)。
- TF32:NVIDIA Ampere 及之后架构引入,数据格式为 19 位(1 位符号 + 8 位指数 + 10 位尾数),乘累加操作使用 FP32 累加器,输入/输出类似 FP32,编程透明,提供接近 FP16 的吞吐,但输出仍是 FP32 精度。
- INT8:推理用,理论 FLOPS 更高,但需量化校准。
- FP8:最新的 H100 等支持,进一步翻倍吞吐,可视为 FP16 的加速版,训练和推理均可使用,对软件栈要求极高。
分布式集群的总有效 FLOPS 千卡、万卡集群的总 FLOPS 不等于单卡 × 卡数。数据并行、张量并行、流水并行以及 MoE 的 All-to-All 通信,都会消耗带宽和时间,造成计算资源闲置。例如,张量并行中的 AllReduce/ReduceScatter 会在每一层后同步梯度或激活,若网络带宽不足,多卡的有效 FLOPS 会骤降。
技术原理
FLOPS 的数学定义与深度学习中的“数 FLOP”方法
FLOPS (Floating-Point Operations Per Second) 为速率单位,1 FLOPS = 每秒 1 次浮点运算。深度学习常用的运算次数估算单位是 FLOP(或 FLOPs),代表一次浮点加法/乘法,通常乘加操作(MAC, Multiply-Accumulate)算作两次浮点运算(一次乘 + 一次加)。因此:
- 矩阵乘 C = A × B,其中 A 尺寸 (m×k),B 尺寸 (k×n),总 MAC 数为 m×k×n,对应 FLOP 约为 2×m×k×n。
- 对于全连接层,输入维度 b,输出维度 d,则前向 FLOP ≈ 2×b×d。
- 对于卷积层,输入特征图 H×W×C_in,卷积核 K×K,输出通道 C_out,步长相关输出尺寸 H_out×W_out,FLOP ≈ 2×K×K×C_in×C_out×H_out×W_out。
Transformer 模型 FLOP 计算示例(定性公式)
一个标准 Transformer 层(自注意+前馈网络)输入序列长度 s,隐藏维度 h,前馈中间维度 d_ff,头数 n_heads,分头维度 d_k = h / n_heads。
- 自注意力 QKV 投影:约 3× 2×h×h × s (矩阵乘)或简化为 ~ 6sh²。
- 注意力分数 QKᵀ:约 2×s²×h 。
- 加权求和:约 2×s²×h。
- 输出投影:约 2×h²×s。
- 前馈网络(两层):约 2×s×h×d_ff + 2×s×d_ff×h = 4sh·d_ff。 每 token 前向 FLOPs(总浮点运算次数)大致为 O(sh² + s²h) 级别。大模型隐藏维度 h 很大,sh² 项主导短序列,长序列时 s²h 项显著。
反向传播:因需要计算权重的梯度和输入的梯度,所需 FLOPs 通常是前向的 2~3 倍,取决于具体优化器与激活重计算策略。
芯片 FLOPS 计算逻辑
芯片峰值 FLOPS ≈ (计算单元数量) × (每单元每周期可执行的浮点运算次数) × (运行频率)。以 GPU 为例,SM 中有大量 CUDA 核与 Tensor Core,Tensor Core 每时钟周期可完成多个乘加运算(例如 4×4 矩阵乘以 4×4 矩阵,一次操作完成 64 次浮点乘加,折算 128 次浮点运算)。厂家公布的峰值 FLOPS 就是所有 Tensor Core 和 CUDA Core 累加并乘上最高 Boost 频率得到的数值。
[ 计算单元阵列 ] ——> 访存请求 ——> 缓存/显存
| |
FLOPS 计算 带宽 (GB/s)
|
乘加操作: 1 MAC = 2 FLOP
技术演进史
早期阶段:深度学习兴起前,FLOPS 主要用于高性能计算(HPC)领域,衡量超级计算机的科学计算能力。GPU 的通用计算(GPGPU)依赖 FP32 单精度。
2012-2016:AlexNet 时代,神经网络算力需求快速增长,NVIDIA 推出强化半精度计算的 GPU(如 Tesla P100),FP16 算力大幅提升,但主要服务于推理。训练仍以 FP32 为主,但开始探索混合精度。
2017-2019:Transformer 架构出现,训练计算量呈量级跃升。NVIDIA Volta 架构引入第一代 Tensor Core,专为矩阵乘加速,提供 FP16 下的数倍 FLOPS 提升。后续 Turing 架构添加 INT8/INT4 加速。此时 FLOPS 指标正式走向“张量核心 FLOPS”差异化道路。
2020-2022:Ampere 架构引入 TF32 格式,在 FP32 输入下直接利用 Tensor Core 获得近似 FP16 吞吐,简化了混合精度训练的工程复杂度。BF16 也在谷歌 TPU 和 NVIDIA A100 上广泛支持,成为大模型训练标配。同时,稀疏化导致的 2 倍 FLOPS 提升成为营销和实际加速点。
2023-至今:Hopper 架构支持 FP8,可用于训练,进一步倍增峰值 FLOPS。AI 专用加速器(如 AMD MI250/300、华为昇腾、谷歌 TPU v5p)普遍采用类似多精度策略,理论 FLOPS 进入数百 TFLOPS 乃至 PFLOPS 级别(单芯片)。系统级 FLOPS 以 ExaFLOPs 为单位,万卡集群成为大模型公司标配。产业从单纯追逐峰值 FLOPS 转向关注 MFU、互联带宽和能效比(FLOPS/W)。
技术路线对比(量化表)
因本次检索未获取各厂商最新芯片的具体 FLOPS 参数,以下对比基于行业通用规格特征进行定性表述,具体数值随版本迭代变化,此处用“高/中/低”或相对关系示意。
| 维度 | 通用 GPU 路线(NVIDIA/AMD) | 自研 AI 加速器(Google TPU 系) | 可重构 / FPGA 方案 | CPU 向量化方案(x86/Arm) |
|---|---|---|---|---|
| 峰值 FP32 FLOPS | 高(数十 TFLOPS 级) | 中-高(早期侧重低精度) | 低-中 | 低(1~2 TFLOPS) |
| 峰值 FP16/BF16 FLOPS | 很高(可达 FP32 的 2~6 倍) | 极高(专为矩阵乘设计) | 定制可高 | 低或无高效支持 |
| FP8/INT8 推理 FLOPS | 很高,可达数倍于 FP16 | 极高,设计上原生支持 | 可专项优化 | 依赖扩展指令集,中等 |
| FLOPS 利用率(典型 MFU) | 中等-高(工程优化好可 > 50%) | 高(软硬协同设计,利用率高) | 因架构而异 | 低(通用核调度开销大) |
| 精度生态灵活性 | 极高(FP32/FP16/BF16/TF32/INT8/FP8) | 较窄(通常 BF16/FP8 等,FP32 较弱) | 可自定义 | 依赖 SIMD/AVX,格式受限 |
| 扩展集群总 FLOPS | 易于横向扩展,但受互联限制 | 专有互联(如 ICI),有效 FLOPS 高 | 非主流 | 极少用于大规模 AI 集群 |
| 能效比 (FLOPS/W) | 中(高功耗) | 高(低功耗,专用架构) | 中-高 | 低 |
| 代表场景 | 训练+推理全覆盖 | 大规模训练与推理(闭源生态) | 特定低延迟推理 | 云 CPU 推理/小型模型 |
注:上表“高/低”基于各代际中高端产品的相对关系,具体数值需参照各厂商最新白皮书,此处不作确数认定。
上下游
上游:决定 FLOPS 的硬件与软件基础
- 芯片架构设计(指令集、计算单元、片上网络)
- 先进制程与封装(制程升级提升频率与能效,3D 封装扩大总 FLOPS)
- 高速互连(NVLink/PCIe/CXL,决定多卡 FLOPS 聚合效率)
- 数学库与编译器(cuBLAS、cuDNN、Triton、MLIR 等,直接影响 MFU)
- 精度格式标准(IEEE 754 扩展,TF32、BF16 等)
下游:消耗 FLOPS 的应用场景
- 大语言模型训练(千卡~万卡集群,训练一个模型需数十亿 ExaFLOPs)
- AI 推理服务(每 token 需要的 FLOPs 决定服务成本和延迟)
- 科学计算与模拟(分子动力学、气象预测等,常与 AI 融合)
- 自动驾驶(端侧芯片 FLOPS 限制模型部署)
- 生成式内容(文生图、视频生成,单次推理 FLOPs 很高)
关键指标
- 理论峰值 FLOPS(按精度分列):单加速器/芯片的计算上限,用于比较硬件潜力。
- 总训练运算量 (Total FLOPs):训练一个完成模型所需的浮点运算总次数,衡量训练门槛。
- Token 级推理 FLOPs:每生成一个 token 所需运算数,决定生成速度和成本。
- FLOPS 利用率 (MFU):实际达到的 FLOPS / 理论峰值 FLOPS,反映系统工程能力。
- FLOPS/W (能效比):每瓦算力,数据中心和边缘部署的核心成本指标。
- FLOPS/$ (算力成本):单位资金可购得的算力,涉及采购、能源、运维。
- 有效集群 FLOPS:联机系统在真实工作负载下的聚合 FLOPS,减去通信等开销后的产出。
- 计算密度 (FLOPS/Byte):每从内存读取一个字节数据能进行的浮点运算数,反映算法是否计算受限。
供需与市场数据
受限于检索失败,以下为基于行业研究框架的定性描述,未引用具体第三方数字。
需求侧 大模型规模持续扩张,据公开信息:从GPT-3到GPT-4推测的训练 FLOPs 增长了 2~3 个数量级;当前最强开源模型一次预训练耗用数以万计 GPU 小时,相当于数 ZettaFLOPs 量级(1 ZettaFLOPs = 1e21 FLOPs)。业界预测,为了维持 scaling law 的效益,未来训练算力需求可能每18个月翻十倍。云端推理方面,生成式 AI 的每日 token 消耗已达万亿级,对应的推理 FLOPs 需求极其巨大。
供给侧 GPU 和 AI 加速器出货量持续攀升,单芯片 FP16/BF16 算力每代提升约 2~3 倍(受架构和制程红利驱动)。主力训练卡现普遍可达数百 TFLOPS,即将突破 1 PFLOPS(BF16)。但供给侧存在明显的产能和能效瓶颈,峰值 FLOPS 的增长速度落后于头部模型训练需求,迫使产业采用更多集群化与稀疏化手段。
市场供需特征 高 FLOPS 算力供不应求,尤其在 FP8/BF16 训练和推理卡上。等候周期长,云租赁价格高企。FLOPS 已成为 AI 时代硬通货,各国将算力基础设施等同于战略资源。
代表公司与资本映射
- NVIDIA:全球 FLOPS 生态的绝对核心。通过 GPU 架构迭代(Tensor Core 演进)、互联技术(NVLink/NVSwitch)和软件栈(CUDA、NeMo Megatron)定义了 AI 算力标准。
- AMD:Instinct 系列随 CDNA 架构迭代,FP16/BF16 FLOPS 追赶 NVIDIA,开源 ROCm 生态逐步完善。
- Google:TPU 路线由自身巨大内部需求驱动,在低精度 FLOPS 和利用率上树立标杆,并与 JAX 框架耦合,对外提供云服务。
- NVIDIA 的竞争挑战者:包括 Intel(Gaudi/Falcon Shores)、自研芯片的 AWS(Trainium/Inferentia)、华为昇腾等,均试图在特定精度 FLOPS 和能效上差异化。
- 大模型公司与云厂商:OpenAI、Meta、Microsoft、字节、阿里、腾讯等是 FLOPS 最大的消费者,同时通过自研或定制化方案争取供应链话语权。
资本映射:算力指数级消耗推动数据中心和半导体投资,NVIDIA 估值与 AI 算力 FLOPS 需求高度绑定。围绕 FLOPS 利用率提升、分布式训练加速、专用推理芯片的初创公司持续获得融资。
投资逻辑
- 单点峰值不可迷信:一只股票/公司的长期价值在于能否提供“高有效 FLOPS”和低迁移成本,而不只是纸面算力。
- 能耗比与总拥有成本:随着电力约束加大,FLOPS/W 成为比绝对 FLOPS 更重要的投资壁垒。
- 软件生态护城河:CUDA 生态使得 NVIDIA 在同等 FLOPS 下实际产出更高,后进者即使硬件 FLOPS 接近,商业替代难度仍很大。
- 推理侧 FLOPS 爆发:当训练增长曲线逐步平缓,推理将成为更大算力市场,低精度推理 FLOPS 和高吞吐服务的公司更受益。
- 集群化效率:能够提供从硅、封装到互联的全栈方案(如 NVL 一体化机柜)的公司,将控制下一代有效 PFLOPS 密度。
常见误读纠偏
误读1:把 FLOPS 当成实际的神经网络运行速度¹ 很多宣传中用芯片峰值 FP16 FLOPS 来线性推断模型训练/推理时长,但忽略了内存带宽、编译器优化、框架开销和通信代价。真实性能须用实测吞吐( tokens/s )衡量。高 FLOPS 芯片若搭配传统内存或不善编程,实测可能远不如一枚中 FLOPS 但架构平衡的芯片。
误读2:不同精度 FLOPS 可以直接比较² 误以为 “A 卡 300 TFLOPS(FP8) > B 卡 200 TFLOPS(BF16),所以 A 更快”。实际上 FP8 数值范围较小,需要特定的缩放、量化算法支持,不一定适用于所有模型;BF16 训练稳定性更优。必须看目标负载对应的可用精度和支持度,而非直接比数字。
误读3:FLOPs 与 FLOPS 混淆³ 许多论文和报告将 FLOPs(运算次数)与 FLOPS(速率)混用。如“模型有 3e23 FLOPs”指总运算量,而非 3e23 FLOPS 的速率。高 FLOPs 模型只表示耗算力大,不意味速度快。
学习路径
- 基础理解:阅读 NVIDIA CUDA 编程指南中关于 FLOPS 计算的理论,以及 Roofline 模型(性能上限由计算和带宽共同决定)。
- 深度学习算力估算:研究“Scaling Laws for Neural Language Models”(Kaplan et al.)中训练计算量的计算方法;学习 Transformer 网络中每 token 的 FLOPs 公式推导(Karpathy 的 Llama.c 等文章)。
- 精度与数值格式:查阅 IEEE 754 及相关扩展,理解 FP32/FP16/BF16/TF32/FP8 的比特分布,以及混合精度训练论文(Micikevicius et al., 2018)。
- 分布式训练:深入 Megatron-LM 和 DeepSpeed 源码,分析张量/流水/数据并行如何影响有效 FLOPS,理解通信原语(AllReduce, ReduceScatter, All-to-All)的时间开销。
- 硬件测读:比较 NVIDIA A100/H100、AMD MI250X/MI300X、Google TPU v5p 等白皮书,亲手计算各精度峰值 FLOPS,并学习使用 NVIDIA Nsight 或性能拨测工具观测 MFU。
- 产业追踪:关注三大云厂商和 Meta 的硬件部署演讲,以及 SemiAnalysis 等渠道对于有效 FLOPS 趋势的分析。
一句话总结
FLOPS 是深度学习算力的标尺,但真正决定速度和成本的是“在正确精度上、以可接受的时延和能效,实际输出多少个有效的 FLOPS”;脱离精度、利用率和系统瓶颈谈 FLOPS,无异于只看引擎功率不看整车传动。
延伸阅读与来源
- 因本次检索失败,未能提供具体链接。建议查阅:
- NVIDIA 各代 GPU 架构白皮书(Volta, Ampere, Hopper)中关于张量核心 FLOPS 计算的章节。
- Google TPU 论文“A Domain-Specific Architecture for Deep Neural Networks”及后续 v4/v5 论文,了解其 FLOPS 效率设计。
- “Efficient Large-Scale Language Model Training on GPU Clusters Using Megatron-LM” (Narayanan et al.),学习分布式训练 FLOPS 利用。
- 行业追踪博客:SemiAnalysis、Chiplet 相关研究报告,定期更新各芯片 FLOPS 数据和利用率分析。
- 公开专题讨论:MLPerf 基准测试结果,可对比各平台在特定模型上的实际 FLOPS 产出。