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 워크로드 성능을 최적화하기 위해 필요한 코드, 도구, 자원을 제공합니다. 단순히 하드웨어 성능에 의존하는 것이 아니라, GPU, 인터커넥트, 런타임 스택, 알고리즘을 포함한 전체 스택을 튜닝함으로써 "유용한 출력(goodput)"을 달성하는 도전에 대응합니다. 이를 통해 훈련 및 추론 시 토큰당 비용을 줄이고 처리량을 증가시킵니다.

작동 방식

Nsight Systems, Nsight Compute, PyTorch 프로파일러와 같은 도구를 사용하여 실험적이고 프로파일링 중심의 접근 방식을 채택하여 버퍼넥을 식별합니다. 이 프로젝트는 다음과 같은 최적화 레이어를 다룹니다:

  • 하드웨어 및 커널 레벨: CUDA C++ 및 OpenAI Triton을 사용하여 고성능 커널을 작성하고 메모리 접근 패턴을 최적화합니다.
  • 프레임워크 레벨: PyTorch 컴파일러 스택(torch.compile)과 분산 전략(FSDP, TP, PP, CP)을 활용하여 훈련을 확장합니다.
  • 서빙 레벨: vLLM, SGLang, TensorRT-LLM을 사용하여 고처리량 추론을 구현하고, 분리된 prefill/decode 및 페이지 기반 KV 캐시와 같은 기법을 적용합니다.
  • 시스템 레벨: OS 설정, Docker/Kubernetes 오케스트레이션, 네트워킹(NCCL)을 튜닝하여 통신 지연을 최소화합니다.

대상 사용자

대규모 훈련 및 추론 파이프라인을 구축하거나 운영하는 AI/ML 엔지니어, 시스템 엔지니어, 연구자, 플랫폼 팀을 대상으로 합니다.

주요 특징

  • 포괄적인 체크리스트: 하드웨어 계획부터 전력 관리까지 전체 라이프사이클을 커버하는 200개 이상의 성능 체크리스트.
  • 풀스택 커버리지: 저수준 CUDA/Triton 커널에서 고수준 Kubernetes 오케스트레이션까지 포괄적인 가이드 제공.
  • 고급 추론 기법: 트리리언 파라미터 모델을 위한 분리된 prefill/decode 아키텍처와 KV 캐시 튜닝에 중점을 둡니다.
  • 실용적인 도구 세트: 산업 표준 프로파일러 및 컴파일러 스택과의 통합을 통해 실증적 튜닝을 가능하게 합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트