☰
AISystem 关键设计指标:从 OPS/FLOPs 到 Roofline 模型的 AI 芯片性能评估全解析
2026/10/3 20:11:25 网站建设 项目流程
  • 文档
  • 教程
  • 人工智能

【免费下载链接】AISystem

AISystem 主要是指AI系统,包括AI芯片、AI编译器、AI推理和训练框架等AI全栈底层技术

项目地址:https://gitcode.com/GitHub_Trending/ai/AISystem
点击查看免费下载

本文围绕《AI 计算体系》课程中「关键设计指标」一节展开,系统梳理 AI 芯片产品发布时常用到的 OPS、MACs、FLOPs 等计算单位,以及精度、吞吐量、时延、能耗、价格、易用性六大关键指标;在此基础上深入讲解芯片设计的两大抓手——MACs 优化与 PE(处理单元)设计,并借助算术强度与 Roofline 模型给出评估 AI 模型在指定芯片上理论性能的完整方法。读者读完可以掌握:读懂一张 AI 芯片规格表、判断一个模型是"内存受限"还是"算力受限"、并利用 Roofline 图定位性能瓶颈。

为什么需要"关键设计指标"

前面章节已经介绍了 AI 的计算模式(见 02ArchSlim.md 与 03MobileParallel.md),但这些计算模式究竟如何与 AI 芯片设计结合,业界通常通过一组可量化的指标来建立连接。市场上任何一款 AI 芯片产品发布时,都会用芯片制程、内存大小、核心数、带宽、算力等指标数据来表明产品能力——这些指标既是硬件市场竞争力的直接体现,也是软件侧评估模型可执行性的前提。

在进入指标细节之前,先厘清 AI 算法领域常用的几个计算单位,它们贯穿全文:OPS、MACs、FLOPs 和 MAC(内存占用量)。它们之间的关系与区别,可以参照下图:

计算单位:读懂算力规格表的第一步

OPS 与 OPS/W

OPS(Operations Per Second,每秒操作数)是最直观的算力表述:1 TOPS 代表处理器每秒进行一万亿次($10^{12}$)计算。在实际宣传中,还会出现 OPS/W(每瓦特运算性能),例如 TOPS/W 即评价处理器在 1W 功耗下的运算能力,它是衡量能效的关键口径,也是后续"能耗"指标在计算单位层面的落地。

MACs:乘加累计操作

MACs(Multiply-Accumulate Operations,乘加累计操作)是神经网络中最常见的计算原子:1 次 MACs 包含一个乘法操作与一个加法操作。由于一次乘加在硬件上通常折合两次浮点运算,因此有$1\ MACs = 2\ FLOPs$的换算关系。在仓库姊妹章节 05Matrix.md 中可以看到,卷积层"逐元素相乘再累加"的过程本质上就是 MACs 操作,矩阵乘的 MACs 总数对最终性能具有重要影响。

FLOPs:浮点运算次数

FLOPs(Floating Point Operations,浮点运算次数)用来衡量模型的计算复杂度,常作为神经网络模型速度的间接衡量标准。对于卷积层,FLOPs 的计算公式为:

$$ FLOPs = 2 \cdot H \cdot W \cdot C_{in} \cdot K \cdot K \cdot C_{out} $$

其中 $H \cdot W$ 是输出特征图的空间尺寸,$C_{in}$、$C_{out}$ 分别为输入、输出通道数,$K$ 为卷积核边长。注意 FLOPs 衡量的是"运算次数",与芯片能"每秒"做多少次运算(OPS)是两个维度:前者描述模型需求,后者描述硬件供给。

MAC:内存占用量

MAC(Memory Access Cost,内存占用量)容易与 MACs 混淆,它衡量的是模型运行时的内存占用情况。对卷积层来说,MAC 的计算公式为:

$$ H_{in} \cdot W_{in} \cdot C_{in} + H_{out} \cdot W_{out} \cdot C_{out} + K \cdot K \cdot C_{in} \cdot C_{out} $$

公式的前两项分别是输入特征图与输出特征图的内存占用量,第三项是卷积核的内存占用量。这个量在后续"算术强度"的计算中扮演关键角色——它对应模型一侧的"访存量"。

AI 芯片关键指标:软硬件两个视角

AI 芯片设计的目标是低成本、高效率地执行 AI 模型,因此衡量 AI 芯片的关键指标分为两个方面:面向 AI 模型软件应用层面的指标(精度、吞吐量、时延)与面向 AI 芯片硬件市场竞争力的指标(能耗、系统价格、易用性)。下面逐一展开。

精度 Accuracy

精度是 AI 芯片非常关键的指标,指模型处理任务时输出结果与实际情况的接近程度,需要从两个角度理解:

  • 计算精度:指芯片支持的运算位宽,如 FP32、FP16 等,决定多少位宽内的计算结果无误差。位宽的设计直接影响硬件成本与计算效率,具体内容可进一步参考仓库 06BitWidth.md 中对比特位宽、FP8 等数据格式的详细讲解。
  • 模型效果精度:不同任务有不同的评价标准,例如 ImageNet 图像识别任务的准确率、回归任务的均方误差等。软件侧的模型量化(见推理章节的量化专题)正是通过权衡这两类精度来换取执行效率。

吞吐量 Throughput

吞吐量指芯片在单位时间内能处理的数据量。对于多核芯片,可以并行处理更多任务,吞吐量往往更高。不同的应用场景对精度和吞吐量的需求不同——例如离线批量推理更看重吞吐,而交互式应用更看重时延。

时延 Latency

AI 芯片的时延指从输入数据传入芯片到输出结果产生的时间间隔。对于需要快速响应的应用场景(自动驾驶、智能监控等),较低的推理时延至关重要。

需要特别区分的是:AI 芯片通常通过应用程序(Application)与用户交互,在这种TTA(交互应用程序)环境中,时延指的是用户输入某个操作或请求后,系统完成相应处理并产生输出结果之间的时间间隔。因此 TTA 环境中时延的影响尤为关键,用户期望系统快速响应以获得流畅体验。优化时延的手段包括优化系统架构、加速处理流程、减少网络延迟等,从而提高系统的响应速度和性能表现。

能耗 Energy

AI 芯片的能耗指执行 AI 任务时芯片消耗的能量。AI 任务往往需要大量计算资源执行复杂算法(如神经网络模型的训练和推断),因此能耗与性能密切相关:高性能芯片通常消耗更多能量,而低功耗设计可以减少能源消耗并延长电池寿命,这对移动设备和物联网设备尤为重要。

能耗取决于多个因素,包括芯片架构、制造工艺、工作负载和优化程度。降低能耗的手段包括:针对 AI 计算任务优化的专用架构、低功耗制造工艺、智能功耗管理等。选择 AI 芯片时通常需要在性能与能效之间权衡:长时间运行或依赖电池供电的设备更青睐低能耗芯片,而高性能计算场景则更关注计算能力与性能表现。

系统价格 Cost

价格是市场选择 AI 产品时的重要考量。搭建一个 AI 系统要综合考虑硬件成本以及系统集成和全栈生态系统的成本:

  • 硬件自身价格:指 AI 芯片设计、制造、封装、测试等环节的费用,直接影响成本效益比,对消费市场和大规模部署场景尤为重要,较低的硬件价格可以降低设备制造成本、提高竞争力。
  • 系统集成上下游全栈成本:包括软件开发、算法优化、系统集成、测试验证、软件支持等方面的费用。AI 芯片往往需要与其他硬件设备、软件系统及云端服务集成,这些集成成本同样必须纳入评估。

易用性 Flexibility

一个好的 AI 芯片产品应提供完善的软硬件支持,其易用性具体体现在四个方面:

  • 文档和教程:帮助用户了解芯片特性、功能和使用方法,降低学习成本、提高开发效率;
  • 软件支持和开发工具:完善的软件开发工具链,包括丰富的 API、SDK、开发环境,使开发者能快速上手并进行应用的开发调试;
  • 硬件接口和集成支持:标准化的接口和通信协议,便于与其他硬件设备和系统集成,实现更广泛的应用场景;
  • 性能优化和调试工具:丰富的性能分析和调试工具,帮助开发者进行性能优化与故障排查,提高系统的稳定性和可靠性。

关键设计点:MACs 与 PE 两条主线

AI 芯片设计的关键点围绕如何提高吞吐量、降低时延,以及低时延与 Batch Size 之间的权衡。具体实现策略集中在 MACs 和 PE 两个方向。

MACs:减少无用计算、降低单次执行时间

减少 MACs:MACs 是神经网络推理中最常见的计算操作,在 AI 芯片设计中"去掉没有用的 MACs"意味着优化计算资源利用、提高性能和效率。通过减少网络的 MACs,芯片可以增加针对稀疏数据的硬件结构,提升控制流与数据传输的执行效率,达到节省时钟周期的效果。仓库 05Matrix.md 中总结的矩阵乘优化算法(循环优化、分块矩阵乘法、SIMD、SIMT、Strassen/Winograd 等算法改进)本质上都是在软件层面减少或加速 MACs 的执行。

降低 MAC 执行时间:硬件上单次 MAC 的执行时间与时钟频率和指令开销有关,因此可以通过提高时钟频率、减少指令开销来降低单次 MAC 的执行时间。在具体芯片设计中,这体现为"让每个指令执行更多的 MACs 计算"(如 CPU 的 SIMD/Vector 指令、GPU 的 SIMT/Tensor 指令、NPU 的 Tensor/Vector 指令)以及"在不增加内存带宽的前提下单时钟周期内执行更多 MACs"(如英伟达 Tensor Core 的低比特计算设计,在每 cycle 512bit 数据带宽下可执行 64 个 8bit MACs,多于 16 个 32bit MACs)。

PE:处理单元的数量与利用率

PE(Processing Element,处理单元)是芯片中负责执行计算任务的基本单元,每个处理单元通常包含多个算术逻辑单元(ALU)和寄存器等计算资源,可以并行执行多个计算任务。PE 在神经网络推理和训练中起至关重要的作用,其数量和性能直接影响芯片的计算能力和效率。PE 的优化设计有两个方向:

  1. 增加 PE 的核心数量:更多的 PE 意味着更多 MACs 并发。采用更高纳米制程技术,可以增加单位面积芯片上的 PE 密度(对应规格表中的"核心数"指标)。
  2. 增加 PE 利用率:实际硬件执行中,由于指令调度、数据传输通信等限制,PE 利用率一般并不高。提高利用率既包括硬件设计优化,也包括软件算法改进,具体可以考虑以下方面:
    • 并行计算:设计支持高效并行计算的硬件结构(并行处理器架构、硬件流水线设计等),使多个处理单元同时执行计算任务;
    • 负载均衡:设计神经网络模型时合理分配计算任务到不同处理单元,通过动态调度算法和任务分配策略避免某些 PE 空闲或过载;
    • 数据重用:利用数据重用技术减少数据在 PE 之间的传输次数,例如设计高速缓存结构、优化数据存取模式,提高数据在处理单元内的重复利用率。这一思想与 05Matrix.md 中"多级内存层级 + Tiling 分块"的空间换时间策略一脉相承。

计算性能仿真:内存受限还是算力受限?

完成设计后,下一个问题是:不同的 AI 模型在这款芯片上的执行性能是否相同?如何评估?

判断的依据是模型受限于芯片的哪类资源:

  • 模型因芯片内部cache 空间有限导致性能无法提升 →内存受限模型(Memory Bound);
  • 模型因芯片的计算单元有限导致性能无法提升 →算力受限模型(Computation Bound)。

算术强度的推导

一个模型在 AI 芯片上的执行过程大致分三步:1)从外部存储搬移数据到计算单元,2)计算单元进行计算,3)把结果搬回外部存储空间。精简地说就是搬移数据和计算两件事。

对硬件平台而言,数据搬移的带宽和计算单元(算力)是固定值;对模型而言,可以依据前文的 FLOPs 与 MAC 概念统计出总浮点运算次数与总内存占用量。约定符号如下:bytes表示内存占用量,ops表示浮点运算次数,bw表示数据搬移带宽,$\pi$ 表示 PE 个数(算力)。则:

  • 搬移数据的时间 $t_1 = bytes / bw$;
  • 计算的时间 $t_2 = ops / \pi$。

搬移与计算在硬件指令流水执行时是并行的,因此:

  • 当 $t_1 > t_2$ 时,搬移时间大于计算时间,模型最终一定是内存受限;
  • 当 $t_1 < t_2$ 时,模型最终是计算受限。

将 $t_1 > t_2$ 具体参数代入并调换不等号两侧,可得:

$$ t_1 > t_2 \rightarrow bytes / bw > ops / \pi \rightarrow \pi / bw > ops / bytes $$

不等号左侧 $\pi / bw$ 是AI 芯片计算带宽与内存带宽的比值,称为操作字节比(与硬件平台相关);不等号右侧 $ops / bytes$ 是AI 模型运算次数与内存占用量的比值,称为算术强度(arithmetic intensity,与模型相关)。当模型的算术强度大于芯片的操作字节比时,模型为算力受限;反之则为内存受限。

实例:V100 GPU 上的 GEMM

以 V100 GPU 执行 GEMM 为例。V100 的 FP16 峰值计算性能为125 TFLOPS,片外存储带宽约为900 GB/s,片上 L2 带宽为3.1 TB/s:

  • 输入数据来自片外存储器:操作字节比约为 $125/0.9 \approx 138.9$;
  • 输入数据来自片上存储器:操作字节比约为 $125/3.1 \approx 40$。

对于 FP16 数据类型、(M, K, N) 形状的矩阵乘,其算术强度为:

$$ \frac{2 \times M \times N \times K}{2\times (M \times K + K \times N + M \times N)}=\frac{M \times N \times K}{(M \times K + K \times N + M \times N)} $$

代入两个典型 Shape:

  • 当 (M, K, N) = (8192, 128, 8192) 时,算术强度为124.1,低于V100 片外操作字节比 138.9,该算子为内存受限型;
  • 当 (M, K, N) = (8192, 8192, 8192) 时,算术强度为2730,远高于138.9,该算子为计算受限型。

这一推导与仓库 02Principle.md 中"计算强度"的概念完全一致:那里用 $N \times N$ 矩阵乘得到算术强度约 $O(N)$(运算量 $2N^3-N^2$、访存量 $3N^2$),并指出矩阵维度增大时算术强度线性上升,而 GPU 的 FP32 计算强度存在上限,二者交点即是计算与搬运平衡的临界点——这正是本节的"操作字节比"在矩阵乘场景下的直观体现。

Roofline 性能评估

实际评估不同模型在特定硬件平台的执行效率,可以利用Roofline Model建模预估:通过简化硬件计算平台架构,根据计算平台的算力上限和带宽上限两个参数,结合算子的算术强度,评估其能达到的最大性能。如下图所示,横坐标是算子的算术强度,纵坐标是该算子能达到的最高浮点运算性能,最大理论性能公式为:

$$ P = min(peak_{performance},\ ops/byte \cdot bw) $$

  • 算术强度落在红色区域时,算子表现为内存受限(性能被带宽上限的斜线压制);
  • 落在绿色区域时,算子表现为算力受限(性能触达算力上限的水平线)。

最佳情况是算子的算术强度恰好落在红绿交接的那条斜线上,此时该计算平台的带宽与算力得到很好平衡。

仓库后端章节 03Optimization.md 给出了 Roofline 模型在实际算子优化中的应用实例:通过定义计算量、访存量、计算强度和理论性能等指标,用 Roofline 模型分析程序瓶颈并指导优化策略——例如 MobileNet 落在 Memory-Bound 区域,在 1080Ti 上理论性能只有 3.3 TFLOPs;而 VGG 落在 Compute-Bound 区域,能完全利用 1080Ti 的全部算力。需要注意的是,Roofline 给出的是理论性能上界,实际运行中缓存大小与速度等其他因素也会影响程序执行。在 05TPU1.md 中还可以看到谷歌研究员用 Roofline 性能模型在 CPU(Haswell E5-2699 v3)、GPU(NVIDIA K80)和 TPU v1 上对六个模型做实测对比的案例。

七种典型性能瓶颈形态

对 AI 芯片进行性能仿真可以帮助确认性能瓶颈并在软件层面优化。下图基于 Roofline Model 展示了七种由于软件任务或硬件设计导致不同性能表现的情况(Step1–Step7),开发人员可根据分析结果调整软件策略或改善硬件设计,进一步提高仿真性能:

  • Step1、Step2:计算平台的资源没有限制,通过软件最大化配置任务负载或数据并行策略来达到最好执行性能,此时性能瓶颈在于软件调度策略;
  • Step3、Step4:由于固定的 PE 维度或 size,部分 PE 在任务周期内并非 100% 被激活。例如 7 个计算任务分给 4 个 PE 执行需要 2 个 cycle,其中某个 PE 的激活率只有 50%,此时计算性能达不到峰值;
  • Step5:计算单元的内存容量有限,即使数据被很快送到也没有足够空间存放,到达算力性能瓶颈;
  • Step6、Step7:计算平台自身提供的带宽有限,即使算力与内存空间充足,实际仿真性能也无法更高,到达带宽瓶颈。

这七种形态实际上是对"内存受限/算力受限"二分法的细化——Step3/Step4 对应 PE 利用率问题(与上文"增加 PE 利用率"呼应),Step5 对应 cache 容量问题(内存受限),Step6/Step7 对应带宽问题(带宽受限),从而把设计指标、PE 优化与性能仿真串成一条完整的方法论闭环。

小结与思考

  • AI 芯片设计关注提高计算吞吐量和降低时延,通过优化 MACs 操作和提升 PE 利用率实现,具体策略包括减少无用的 MACs、降低单次 MAC 执行时间、增加 PE 核心数量,以及通过并行计算、负载均衡和数据重用提升 PE 利用率。
  • 性能仿真通过 Roofline Model 评估 AI 模型在硬件上的执行效率,其核心是"操作字节比(硬件)"与"算术强度(模型)"的比较,指导软件优化和硬件设计改进;Step1–Step7 给出了七种典型瓶颈形态的定位方法。
  • AI 芯片关键指标包括 OPS、OPS/W、MACs 和 FLOPs 等计算单位,它们分别从算力、能效、计算原子和模型复杂度等角度影响芯片性能和市场竞争力。
  • 系统价格、易用性与 AI 芯片的精度、吞吐量、时延和能耗一同决定 AI 产品的选择和应用场景;理解这些指标后,再结合 05Matrix.md 的矩阵乘实现与 06BitWidth.md 的位宽设计,即可形成从"模型需求"到"芯片供给"的完整评估框架。
  • 文档
  • 教程
  • 人工智能

【免费下载链接】AISystem

AISystem 主要是指AI系统,包括AI芯片、AI编译器、AI推理和训练框架等AI全栈底层技术

项目地址:https://gitcode.com/GitHub_Trending/ai/AISystem
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询