cfregly/ai-performance-engineering

Code, labs, and resources for O'Reilly AI Systems Performance Engineering: GPU optimization, distributed training, inference scaling, and full-stack tuning.

解决的问题

本项目提供优化现代AI工作负载性能所需的代码、工具和资源。它解决了超越单纯硬件算力,实现‘有效吞吐量(goodput)’的挑战,通过调优整个技术栈——包括GPU、互连、运行时栈和算法——来降低训练和推理的每token成本,并提升吞吐量。

工作原理

采用实证性、以性能分析为先的方法,使用Nsight Systems、Nsight Compute和PyTorch分析器等工具识别性能瓶颈。该项目涵盖多个优化层级:

  • 硬件与内核层:使用CUDA C++和OpenAI Triton编写高影响力内核,并优化内存访问模式。
  • 框架层:利用PyTorch编译器栈(torch.compile)和分布式策略(FSDP、TP、PP、CP)实现训练扩展。
  • 服务层:通过vLLM、SGLang和TensorRT-LLM实现高吞吐推理,采用解耦式prefill/decode和分页KV缓存等技术。
  • 系统层:调优操作系统配置、Docker/Kubernetes编排以及网络(NCCL)以最小化通信延迟。

适用人群

专为构建或运维大规模训练与推理流水线的AI/ML工程师、系统工程师、研究人员及平台团队设计。

主要亮点

  • 全面检查清单:涵盖从硬件规划到电源管理的完整生命周期,包含200+项性能检查项。
  • 全栈覆盖:从底层CUDA/Triton内核到高层Kubernetes编排,提供全方位指导。
  • 先进推理技术:聚焦于解耦式prefill/decode架构和万亿参数模型的KV缓存调优。
  • 实用工具集成:与行业标准分析器和编译器栈集成,支持实证式调优。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目