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缓存调优。
- 实用工具集成:与行业标准分析器和编译器栈集成,支持实证式调优。
相关
- 项目
- 项目
- 项目
- 项目
- 项目