ai-performance-engineering

GitHub
1.3k 187 较难 1 次阅读 今天Apache-2.0语言模型开发框架
AI 解读 由 AI 自动生成,仅供参考

ai-performance-engineering 是一套专为现代 AI 系统打造的性能工程代码库与资源集合,源自 O'Reilly 即将出版的同名技术著作。它旨在解决 AI 开发中常见的痛点:如何不再盲目追求算力峰值,而是通过精细化调优提升实际有效吞吐量(goodput),从而在训练和推理环节显著降低成本并提高效率。

这套资源特别适合 AI/ML 工程师、系统架构师及平台团队使用。无论是需要优化大规模分布式训练,还是构建高吞吐的推理服务,用户都能从中找到实战方案。其核心技术亮点在于提供了一套“以剖析为先”的方法论,指导用户利用 Nsight 和 PyTorch Profiler 精准定位瓶颈;同时涵盖了从内存布局优化、PyTorch 与 Triton 编译器内核定制,到 vLLM、TensorRT-LLM 等前沿推理框架的高级技巧(如分页 KV 缓存、预填充与解码分离)。此外,它还包含大量针对 NVIDIA GPU 的 PyTorch 和 CUDA C++ 代码示例,以及一份涵盖 200 多项的检查清单,帮助团队在复杂系统中稳定复现性能增益,避免回归问题。

使用场景

某大型电商平台的算法团队正试图将自研的千亿参数推荐模型从实验环境迁移至生产集群,以支持实时个性化推荐。

没有 ai-performance-engineering 时

  • 盲目优化导致收益甚微:团队仅关注 GPU 利用率指标,却未使用 Nsight 或 PyTorch Profiler 深入分析,导致大量时间浪费在非瓶颈的代码段上,实际推理延迟依然居高不下。
  • 显存带宽成为隐形杀手:由于缺乏对数据布局和缓存机制的系统性调优,数据搬运速度跟不上计算速度,GPU 经常处于“等数据”的空转状态,吞吐量远低于预期。
  • 分布式训练效率低下:在尝试多机扩展时,未合理重叠计算与通信,导致并行策略(如 FSDP、TP)引入巨大的同步气泡,增加硬件成本却无法线性提升训练速度。
  • 服务部署成本失控:直接部署大模型时未采用分页 KV Cache 或预填充/解码分离架构,导致单卡并发能力极差,为了满足流量需求不得不堆砌昂贵显卡,预算严重超支。

使用 ai-performance-engineering 后

  • 精准定位真实瓶颈:借助书中提供的性能剖析方法论,团队快速识别出算子融合不足和内存访问模式问题,针对性优化后推理延迟降低了 40%。
  • 最大化硬件吞吐能力:通过应用 Triton 编写高性能内核并优化数据布局,彻底消除了内存带宽瓶颈,确保 GPU 计算单元持续满负荷运转。
  • 实现高效线性扩展:依据分布式训练的最佳实践调整并行策略并重叠通信,成功在百卡集群上实现了接近线性的加速比,大幅缩短模型迭代周期。
  • 显著降低单位 Token 成本:引入 vLLM 和 TensorRT-LLM 等先进推理引擎及 disaggregated 架构,在同等硬件条件下将并发请求处理能力提升 3 倍,每美元产出效益翻倍。

ai-performance-engineering 帮助团队从单纯追求算力峰值转向以“有效吞吐”为核心的系统工程,用科学的方法论在控制成本的前提下实现了大模型的高效落地。

运行环境要求

操作系统
  • Linux
GPU

必需 NVIDIA GPU(提及 Blackwell 架构、Tensor Cores),需安装 NVIDIA 驱动及 CUDA 工具包,具体显存大小未说明(视模型规模而定)

内存

未说明

依赖
notes本项目主要配套 O'Reilly 书籍《AI Systems Performance Engineering》,侧重于底层系统优化而非单一开箱即用的脚本库。内容涵盖 GPU 架构、CUDA 编程、分布式训练策略及推理引擎调优。运行示例代码需要完整的 NVIDIA 软件栈(包括驱动、CUDA、Nsight 性能分析工具)。部分高级特性(如多节点扩展、GPUDirect Storage)需要特定的集群硬件和网络环境(如 NVLink, InfiniBand)。建议具备 C++ 和 Python 混合编程基础。
python未说明
PyTorch
CUDA C++
OpenAI Triton
Nsight Systems/Compute
vLLM
SGLang
TensorRT-LLM
NVIDIA Dynamo
NCCL
Kubernetes
ai-performance-engineering hero image

快速开始

AI 性能工程

更新: 您对本课程的实践操作感兴趣吗?

如果是,请填写此表格,以表达您的兴趣并接收通知。

关于本仓库

O'Reilly 出版的《AI 系统性能工程》一书的代码、工具和资源,涵盖 GPU 优化、分布式训练、推理扩展以及现代 AI 工作负载的全栈性能调优。

直接与本书进行聊天

直接前往代码

O'Reilly 图书

O'Reilly 图书 – 2025 年 11 月
在亚马逊上购买

AI 系统性能工程书籍

现代 AI 系统需要的不仅仅是原始的 FLOPs——它们还需要以吞吐量为导向、以性能剖析为先的硬件、软件和算法全方位工程设计。这本实践指南展示了如何将 GPU、互连网络和运行时栈转化为高效、可靠的训练和推理流水线。

您将学会使用 Nsight 和 PyTorch 性能分析器诊断真实的瓶颈,最大化带宽和内存利用率,并利用编译器堆栈(PyTorch + OpenAI Triton)编写高效的内核。在推理服务端,您将掌握使用 vLLM/SGLang、TensorRT‑LLM 和 NVIDIA Dynamo 进行高吞吐量推理的技术,包括分离式预填充/解码和分页 KV 缓存策略,从而在不超出预算的情况下跨机架扩展系统规模。

本书采用基于案例研究和性能剖析数据的实证方法,适合从事大规模训练/推理构建或运维的 AI/ML 工程师、系统工程师、研究人员以及平台团队。书中包含数千行针对现代 NVIDIA GPU 的 PyTorch 和 CUDA C++ 代码示例。

  • 以实际吞吐量为目标进行性能剖析,而不仅仅是 GPU 利用率——使用 Nsight Systems/Compute 和 PyTorch 性能分析器找出真正的性能瓶颈点。

  • 充分利用内存和带宽——优化数据布局、缓存策略和数据传输,确保 GPU 能够持续获得数据供给。

  • 使用编译器进行调优——借助 PyTorch 编译器堆栈和 Triton 编写高效内核,无需繁琐的 C++ 代码。

  • 合理扩展训练规模——应用并行化策略(DP、FSDP、TP、PP、CP 和 MoE),并通过计算与通信的重叠来最小化空闲时间。

  • 高效服务万亿参数模型——使用 vLLM、SGLang、TensorRT‑LLM 和 NVIDIA Dynamo 实现分离式预填充/解码及 KV 缓存管理。

  • 降低每 token 成本——追求性能功耗比和单位成本下的吞吐量,而非单纯追求峰值速度。

  • 采用 AI 辅助优化——当系统规模超出人工调优能力时,让 AI 帮助合成和调优内核。

  • 放心交付成果——遵循书中的 200 多项检查清单,确保各团队能够复现优化成果并防止回归问题。

作者简介

Chris Fregly 是一位性能工程师兼 AI 产品负责人,曾在 Netflix、Databricks 和亚马逊云科技 (AWS) 推动多项创新。他曾领导专注于性能的工程团队,打造 AI/ML 产品,规模化推进市场落地,并为大规模生成式 AI 和分析工作负载降低成本。

Chris 还是另外两本 O'Reilly 图书的作者:《AWS 上的数据科学》和《AWS 上的生成式 AI》。此外,他还创建了 O'Reilly 课程“使用 NVIDIA GPU 的生产级高性能 AI”以及 DeepLearning.ai 与吴恩达合作的课程“大型语言模型生成式 AI”。

他的工作涉及内核级调优、编译器驱动加速、分布式训练和高吞吐量推理等多个领域。Chris 定期举办名为AI 性能工程的每月聚会。

200+ 项性能检查清单

本书附带一份包含 200 多项性能优化措施的检查清单,这些措施均经过实战验证,覆盖整个生命周期。您可以立即应用:

  • ✅ 性能调优思维与成本优化
  • ✅ 可复现性和文档编写最佳实践
  • ✅ 系统架构与硬件规划
  • ✅ 操作系统和驱动程序优化
  • ✅ GPU 编程与 CUDA 调优
  • ✅ 分布式训练与网络优化
  • ✅ 高效推理与服务
  • ✅ 功耗与散热管理
  • ✅ 最新性能剖析工具与技术
  • ✅ 针对特定架构的优化

相关链接

专为 AI 性能工程社区在旧金山打造

核心关注点

  • GPU 架构、PyTorch、CUDA 和 OpenAI Triton 编程
  • 分布式训练与推理
  • 内存优化与性能剖析
  • PyTorch 性能调优
  • 多节点扩展策略

书籍章节

第 1 章:引言与 AI 系统概述

  • AI 系统性能工程师的角色
  • 基准测试与性能剖析
  • 扩展分布式训练与推理
  • 资源的高效管理
  • 跨团队协作
  • 透明度与可复现性

第 2 章:AI 系统硬件概述

  • CPU 和 GPU 的“超级芯片”
  • NVIDIA Grace CPU 和 Blackwell GPU
  • NVIDIA GPU Tensor Cores 和 Transformer Engine
  • 流处理器、线程和 Warp
  • 超大规模网络
  • NVLink 和 NVSwitch
  • 多 GPU 编程

第 3 章:操作系统、Docker 和 Kubernetes 调优

  • 操作系统的配置
  • GPU 驱动程序和软件栈
  • NUMA 感知与 CPU 绑定
  • 容器运行时优化
  • Kubernetes 的拓扑感知编排
  • 内存隔离和资源管理

第 4 章:分布式网络通信调优

  • 通信与计算的重叠
  • NCCL 用于多 GPU 分布式通信
  • NCCL 中的拓扑感知
  • 分布式数据并行策略
  • NVIDIA 推理传输库 (NIXL)
  • 网络内 SHARP 聚合

第 5 章:基于 GPU 的存储 I/O 优化

  • 高速存储与数据局部性
  • NVIDIA GPUDirect Storage
  • 分布式并行文件系统
  • 使用 NVIDIA DALI 进行多模态数据处理
  • 构建高质量 LLM 数据集

第 6 章:GPU 架构、CUDA 编程与最大化占用率

  • 理解 GPU 架构
  • 线程、Warp、块和网格
  • CUDA 编程回顾
  • 理解 GPU 内存层次结构
  • 保持高占用率和 GPU 利用率
  • Roofline 模型分析

第7章:GPU内存访问模式的剖析与调优

  • 合并式与非合并式全局内存访问
  • 向量化内存访问
  • 使用共享内存进行分块与数据重用
  • Warp Shuffle内建函数
  • 异步内存预取

第8章:占用率调优、Warp效率与指令级并行性

  • GPU瓶颈的剖析与诊断
  • Nsight Systems与计算分析
  • 调整占用率
  • 提高Warp执行效率
  • 发掘指令级并行性

第9章:提升CUDA核函数效率与算术强度

  • 多级微分块
  • 核函数融合
  • 混合精度与Tensor Core
  • 使用CUTLASS实现最佳性能
  • 内联PTX与SASS调优

第10章:核内流水线与协作线程块集群

  • 核内流水线技术
  • Warp专用的生产者-消费者模型
  • 持续运行的核函数与巨核函数
  • 线程块集群与分布式共享内存
  • 协作组

第11章:核间流水线与CUDA流

  • 利用流重叠计算与数据传输
  • 流顺序内存分配器
  • 基于事件的细粒度同步
  • 使用CUDA图实现零开销启动

第12章:动态与设备端核函数编排

  • 基于原子工作队列的动态调度
  • 使用CUDA图批量重复启动核函数
  • 动态并行性
  • 通过NVSHMEM在多GPU间进行编排

第13章:PyTorch的剖析、调优与扩展

  • NVTX标记与剖析工具
  • PyTorch编译器(torch.compile)
  • PyTorch中内存的剖析与调优
  • 使用PyTorch Distributed进行扩展
  • 使用HTA进行多GPU剖析

第14章:PyTorch编译器、XLA与OpenAI Triton后端

  • PyTorch编译器深度解析
  • 使用OpenAI Triton编写自定义核函数
  • PyTorch XLA后端
  • 高级Triton核函数实现

第15章:多节点推理并行化与路由

  • 分离式预填充与解码架构
  • MoE模型的并行化策略
  • 推测性与并行解码技术
  • 动态路由策略

第16章:大规模推理的剖析、调试与调优

  • 性能剖析与调优的工作流程
  • 动态请求批处理与调度
  • 系统级优化
  • 用于实时推理的量化方法
  • 应用层优化

第17章:扩展分离式预填充与解码

  • 预填充-解码分离的优势
  • 预填充工作者设计
  • 解码工作者设计
  • 分离式的路由与调度策略
  • 可扩展性考量

第18章:高级预填充-解码及KV缓存调优

  • 优化的解码核函数(FlashMLA、ThunderMLA、FlexDecoding)
  • KV缓存的利用与管理调优
  • 异构硬件与并行化策略
  • 基于SLO的请求管理

第19章:动态与自适应推理引擎优化

  • 自适应并行化策略
  • 动态精度调整
  • 核函数自动调优
  • 使用强化学习代理进行运行时调优
  • 自适应批处理与调度

第20章:AI辅助的性能优化

  • AlphaTensor AI发现的算法
  • 自动化的GPU核函数优化
  • 自我改进的AI代理
  • 向数百万GPU集群扩展

社区资源

每月在20多个城市举办面向10万+成员的聚会:

近期会议:

每月聚会摘要

贡献说明

欢迎贡献!请参阅CONTRIBUTING.md以获取代码、文档及性能改进的相关指南。

许可证

Apache 2.0许可证——详情请参阅LICENSE文件。

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2周前
Agent开发框架图像

n8n

n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。

184.7k|★★☆☆☆|今天
数据工具开发框架Agent

AutoGPT

AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台,核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点,让用户只需设定目标,AI 即可自主规划步骤、调用工具并持续运行直至完成任务。 无论是开发者、研究人员,还是希望提升工作效率的普通用户,都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体;研究人员能基于开源架构探索多智能体协作机制;而非技术背景用户也可直接选用预置的智能体模板,立即投入实际工作场景。 AutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑,每个块负责单一动作,灵活且易于调试。同时,平台支持本地自托管与云端部署两种模式,兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本,即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛,让人人都能成为 AI 的创造者与受益者。

183.6k|★★★☆☆|今天
Agent语言模型插件

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

161.7k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|2天前
开发框架图像Agent