AISystem 关键设计指标:从 OPS/FLOPs 到 Roofline 模型的 AI 芯片性能评估全解析 文档教程人工智能【免费下载链接】AISystemAISystem 主要是指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/WOPSOperations Per Second每秒操作数是最直观的算力表述1 TOPS 代表处理器每秒进行一万亿次$10^{12}$计算。在实际宣传中还会出现 OPS/W每瓦特运算性能例如 TOPS/W 即评价处理器在 1W 功耗下的运算能力它是衡量能效的关键口径也是后续能耗指标在计算单位层面的落地。MACs乘加累计操作MACsMultiply-Accumulate Operations乘加累计操作是神经网络中最常见的计算原子1 次 MACs 包含一个乘法操作与一个加法操作。由于一次乘加在硬件上通常折合两次浮点运算因此有$1\ MACs 2\ FLOPs$的换算关系。在仓库姊妹章节 05Matrix.md 中可以看到卷积层逐元素相乘再累加的过程本质上就是 MACs 操作矩阵乘的 MACs 总数对最终性能具有重要影响。FLOPs浮点运算次数FLOPsFloating 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内存占用量MACMemory 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吞吐量指芯片在单位时间内能处理的数据量。对于多核芯片可以并行处理更多任务吞吐量往往更高。不同的应用场景对精度和吞吐量的需求不同——例如离线批量推理更看重吞吐而交互式应用更看重时延。时延 LatencyAI 芯片的时延指从输入数据传入芯片到输出结果产生的时间间隔。对于需要快速响应的应用场景自动驾驶、智能监控等较低的推理时延至关重要。需要特别区分的是AI 芯片通常通过应用程序Application与用户交互在这种TTA交互应用程序环境中时延指的是用户输入某个操作或请求后系统完成相应处理并产生输出结果之间的时间间隔。因此 TTA 环境中时延的影响尤为关键用户期望系统快速响应以获得流畅体验。优化时延的手段包括优化系统架构、加速处理流程、减少网络延迟等从而提高系统的响应速度和性能表现。能耗 EnergyAI 芯片的能耗指执行 AI 任务时芯片消耗的能量。AI 任务往往需要大量计算资源执行复杂算法如神经网络模型的训练和推断因此能耗与性能密切相关高性能芯片通常消耗更多能量而低功耗设计可以减少能源消耗并延长电池寿命这对移动设备和物联网设备尤为重要。能耗取决于多个因素包括芯片架构、制造工艺、工作负载和优化程度。降低能耗的手段包括针对 AI 计算任务优化的专用架构、低功耗制造工艺、智能功耗管理等。选择 AI 芯片时通常需要在性能与能效之间权衡长时间运行或依赖电池供电的设备更青睐低能耗芯片而高性能计算场景则更关注计算能力与性能表现。系统价格 Cost价格是市场选择 AI 产品时的重要考量。搭建一个 AI 系统要综合考虑硬件成本以及系统集成和全栈生态系统的成本硬件自身价格指 AI 芯片设计、制造、封装、测试等环节的费用直接影响成本效益比对消费市场和大规模部署场景尤为重要较低的硬件价格可以降低设备制造成本、提高竞争力。系统集成上下游全栈成本包括软件开发、算法优化、系统集成、测试验证、软件支持等方面的费用。AI 芯片往往需要与其他硬件设备、软件系统及云端服务集成这些集成成本同样必须纳入评估。易用性 Flexibility一个好的 AI 芯片产品应提供完善的软硬件支持其易用性具体体现在四个方面文档和教程帮助用户了解芯片特性、功能和使用方法降低学习成本、提高开发效率软件支持和开发工具完善的软件开发工具链包括丰富的 API、SDK、开发环境使开发者能快速上手并进行应用的开发调试硬件接口和集成支持标准化的接口和通信协议便于与其他硬件设备和系统集成实现更广泛的应用场景性能优化和调试工具丰富的性能分析和调试工具帮助开发者进行性能优化与故障排查提高系统的稳定性和可靠性。关键设计点MACs 与 PE 两条主线AI 芯片设计的关键点围绕如何提高吞吐量、降低时延以及低时延与 Batch Size 之间的权衡。具体实现策略集中在 MACs 和 PE 两个方向。MACs减少无用计算、降低单次执行时间减少 MACsMACs 是神经网络推理中最常见的计算操作在 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处理单元的数量与利用率PEProcessing Element处理单元是芯片中负责执行计算任务的基本单元每个处理单元通常包含多个算术逻辑单元ALU和寄存器等计算资源可以并行执行多个计算任务。PE 在神经网络推理和训练中起至关重要的作用其数量和性能直接影响芯片的计算能力和效率。PE 的优化设计有两个方向增加 PE 的核心数量更多的 PE 意味着更多 MACs 并发。采用更高纳米制程技术可以增加单位面积芯片上的 PE 密度对应规格表中的核心数指标。增加 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 性能模型在 CPUHaswell E5-2699 v3、GPUNVIDIA 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 的位宽设计即可形成从模型需求到芯片供给的完整评估框架。赞分享文档教程人工智能【免费下载链接】AISystemAISystem 主要是指AI系统包括AI芯片、AI编译器、AI推理和训练框架等AI全栈底层技术项目地址https://gitcode.com/GitHub_Trending/ai/AISystem点击查看免费下载相关推荐郊狼游戏控制器5分钟打造你的直播互动惩罚系统郊狼游戏控制器5分钟打造你的直播互动惩罚系统 想要让游戏直播更加刺激有趣吗郊狼游戏控制器为你提供了一个创新的解决方案——将游戏失败转化为娱乐亮点的实时互动工后端前端直播DALL-E模型卡片深度解析从训练数据到性能指标的全面评估DALL E模型卡片深度解析从训练数据到性能指标的全面评估 引言你还在为文本到图像生成的压缩效率发愁吗 在人工智能Artificial Intellig深度学习计算机视觉媒体生成基础模型Awesome Lockpicking资源大全从入门教程到高级锁匠技巧Awesome Lockpicking资源大全从入门教程到高级锁匠技巧 Awesome Lockpicking是一个精心策划的资源列表汇集了与锁具、保险箱和文档/教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考