跳到正文
RadarAI· IBM Research:AI·· 4 小时前AI 评分34

IBM 新课程讲解 AI 模型如何在 GPU、TPU、Cerebras、Groq、Spyre 等加速器上运行

AI 导读

IBM Research 研究员 Kaoutar El Maghraoui 在 Coursera 推出六门课专项课程《Dataflow Architectures for AI。

正文 · AI 翻译

IBM Research:AI·2026-10-19 20:00· 1 小时前AI 评分36

新课程讲解 AI 模型如何在现代加速器上运行

AI 导读

IBM Research 研究员 Kaoutar El Maghraoui 在 Coursera 推出六门课专项课程《Dataflow Architectures for AI: From Principles to Practice》。

正文 · 原文

如今构建 AI 模型的大多数工程师都在 GPU 上工作。他们用 PyTorch 编写模型、运行模型,并测量延迟和利用率。框架与芯片之间发生的事情往往被隐藏起来。当一种架构占据主导地位时,这尚可应付。如今则困难得多,因为 AI 硬件已多样化,涵盖 GPU、Google TPU、Cerebras 晶圆级引擎(WSE)、Groq 语言处理单元(LPU)以及 IBM 的 Spyre 加速器。

Coursera 新推出的专项课程 Dataflow Architectures for AI: From Principles to Practice 面向需要在这一系列硬件上工作的工程师。该课程由 IBM Research 首席研究科学家、哥伦比亚大学计算机科学兼职教授 Kaoutar El Maghraoui 讲授,六门课程涵盖执行模型、编译、内存系统、调试和性能建模,并配有动手实验。

“有时模型本身并不是困难的部分,”El Maghraoui 说。“困难的是理解该模型如何映射到特定架构上,以及为什么在某个系统上运行良好的东西在另一个系统上可能表现完全不同。”

一个 PyTorch 模型与五种执行模型

该专项课程从一个 PyTorch 模型出发。在框架层面,它在每个目标上都是同一个 nn.Module。一旦编译器将其映射到硬件上,执行方式看起来就大不相同,而且每个软件栈都支持自己的一组算子、布局和图变换。GPU 将模型作为内核在大量并行线程上运行,使用硬件管理的缓存和专用矩阵单元。TPU 将工作映射到脉动阵列上,由 XLA 编译器指导分块和数据移动。Cerebras 将计算和超过 40 GB 的片上 SRAM 分布在整个晶圆上。Groq 依靠其编译器来调度每个操作的运行时间和数据移动时间。Spyre 将模型编译成数据流图,其编译器决定布局和暂存区放置,而运行时负责编排传输和启动。具体细节因产品代际而异。

这些选择改变了哪些优化更重要。融合消除了中间内存流量,但能节省多少取决于编译器是否已将中间结果保留在片上、张量如何分块,以及融合内核是否增加了内存压力。在某个目标上能干净映射的张量维度,在另一个目标上可能需要填充或数据重排。该专项课程将数据流执行视为具有共同原则的一类架构。每个概念都先以通用方式介绍,然后再讨论具体系统。Spyre 是主要的实例,因为 El Maghraoui 的团队直接使用它,但它只是全程比较的五个系统之一。

同一操作的两种实现也可能以截然不同的速度运行,原因与算术关系不大。对于矩阵乘法和注意力,分块、数据布局、同步以及片上与片外内存之间的移动往往决定了可达到的性能。

Figure1_Accelerator_Landscape_Map.png

图 1:加速器全景图。学生在全部六门课程中都会使用这张表,并随着学习逐步补充每个单元格背后的推理。

“没有哪一种架构能在每一行都胜出,”El Maghraoui 说。“GPU 优先考虑灵活性和广泛的可编程性。其他系统则放弃一部分灵活性,以换取效率、确定性、规模或对执行更严格的控制。”

编译器尤其受到关注。在专用加速器上,它负责分块、融合、调度、放置和内存管理。在模型启用过程中,性能的很大一部分正是在这里赢得或失去的。“你可以拥有一个对它所支持的操作极其高效的加速器,”她说,“但只要有一个不受支持的操作符、一个映射不佳的张量形状,或一个内存放置问题,就可能对整个模型产生很大影响。”

图 2:PyTorch 编译的简化视图,见课程 3。运行哪些变换取决于编译模式和后端。使用 torch.compile 时,默认由 Inductor 完成降级,torch-spyre 将其扩展用于 Spyre。TPU 则通过 XLA 降级。数据流后端在降级过程中做出大部分融合、分块和放置决策。

专项涵盖的内容

该专项由六门课程组成。每门课程涵盖栈的一层,并以一个实验收尾。它们共同逐行构建加速器全景图。完成全部六门课程可获得 AI 系统性能工程专业证书。

  • 课程 1——加速器全景:领域特定架构、控制流与数据流执行、内存层次结构,以及全部五种系统上的编程模型。
  • 课程 2——数据流执行模型:节点、边、触发规则,以及静态和动态调度。通过 Spyre 和 TPU 追踪一个 transformer 注意力块。
  • 课程 3——面向数据流的编译:TorchDynamo、AOTAutograd 和后端代码生成。XLA 和 Spyre 编译器中的融合、分块和调度。
  • 课程 4——内存系统:缓存、暂存器和仅 SRAM 设计。每种内存层次结构如何改变 LLM 推理的 KV 缓存管理。
  • 课程 5——跨数据流栈调试:八层故障分类法,包括图捕获错误和调度死锁、DMA 超时以及数值问题。
  • 课程 6——性能建模与优化:针对软件管理内存改编的 Roofline 分析,将调度作为与计算和内存并列的第三瓶颈进行度量。

跨栈调试与性能

在数据流加速器上,错误结果或性能下降往往出现在离其成因很远的地方。模型输出中的 NaN 可能来自操作符分解、融合过程、张量布局不匹配或 DMA 错误。课程 5 将这些故障组织成八层分类法,从前端的图捕获错误到后端的调度冲突、死锁、DMA 超时和数值问题。

在正确性方面,学生将故障缩小到一个小型复现器,将每一层的输出与 CPU 或 GPU 参考进行比较,并找出结果首次出现分歧的位置。在性能方面,课程 6 界定计时区域,将内核时间与传输时间分开,将结果与编译器的理想值进行比较,并将剩余部分归因于每个内存层级移动的字节数。随后每个操作都被绘制到 Roofline 图上。

在开源项目 torch-spyre 中报告的一个 bug里,克隆一个 65 元素的 fp16 张量时返回了错误的最后一个值。传输日志是正确的,但编译后的拷贝只覆盖了前 64 个元素,将每一层的输出与参考结果对比后,在该步骤发现了错误。

图 3:课程 5 和课程 6 讲授的调试与性能方法,取自开源的 torch-spyre 调试与性能分析指南。两者都走同一条编译器栈。正确性工作寻找第一个输出与参考结果出现偏差的层。性能工作将实测时间归因到造成该时间的层和内存层级。

图 4:课程 6 讲授的 Roofline 分析。Roofline 图显示一个操作距离其上限有多远,但不显示原因。在数据流目标上,原因可能是调度:数据重排、图遍历或流水线停顿。性能分析器将时间定位到内核、数据传输和通信。它们在核内归因时间的精细程度取决于所用工具。

Google Colab 与 Spyre 实验

每门课程都以一个核心实验收尾,该实验在 Google Colab 上使用标准 PyTorch 运行。每个实验还有一个可选的 Spyre 实践部分,在 Spyre 硬件上运行。这些实验由 IBM Research 高级技术员工、该专项课程的实验讲师 Rashed Bhatti 博士开发。每个实验耗时 90 分钟到两小时,学生编写并运行自己的代码。在第一个实验中,他们用 torch.utils.benchmark 从零构建一个基准测试框架,并用 SIMT 并行和 HBM 带宽解释 CPU 与 GPU 之间的差距。后续实验用 torch.fx 追踪一个 transformer 块,比较 eager 模式与 torch.compile,在 LLM 推理期间读取 PyTorch Profiler 内存时间线,诊断三个预埋的 bug,并为 LLM 工作负载构建 Roofline 图。

核心实验不需要专有工具。在名为 Dataflow Deep Dive 的可选 Spyre 实践部分中,合作项目的学生在 Spyre 硬件上运行相同的实验。在那里,他们直接接触每门课程中的数据流概念:他们阅读 Spyre 编译器生成的数据流图,并编录其插入的融合和数据移动边;跟踪张量如何被切分为 stick 并放入暂存内存;用硬件计数器测量 HBM 与暂存内存之间的流量;并基于这些计数器为软件管理的内存层级构建 Roofline。该深入实践部分不是完成专项课程或获得证书的必需项。

适合人群

该专项课程面向中高级学习者,包括计算机科学或电气工程专业的研究生、编译器工程师、硬件架构师,以及跨硬件目标优化工作负载的机器学习从业者。参与者应熟悉中级 Python 和 C/C++,了解 CNN 和 transformer 架构,并具备基本的计算机体系结构基础。

完成该项目的学习者将获得 AI 系统性能工程专业证书。

“到课程结束时,当你看到一个新的 AI 加速器,我希望你知道该问它哪些问题,”El Maghraoui 说。“执行模型是什么?内存在哪里?谁调度操作?编译器控制什么?”

该专项课程已在 Coursera 开放报名。

来源:IBM Research:AI · research.ibm.com

来源:RadarAI · aihot.news