제4장. 분산 네트워킹 통신조정
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
오늘날의 AI 환경에서는 GPU, 스토리지, 네트워크 인터페이스 간 원활하고 지연 시간이 짧은 데이터 이동이 필수적입니다. 이 장에서는 훈련을 위한 NVIDIA Magnum IO(예: NCCL, GPUDirect RDMA, GDS)와 분산 추론을 위한 NIXL을 다룹니다. 현대 GPU와 NVL72 같은 클러스터 환경에서 이를 논의할 것입니다. 이러한 라이브러리와 이를 지원하는 기반 하드웨어가 초대규모 AI 시스템에 필요한 핵심 인프라를 어떻게 구성하는지 알아보게 될 것입니다.
대규모 시스템에서는 가장 빠른 GPU조차 메모리 및 디스크로부터의 비효율적인 통신 및 데이터 전송으로 인해 성능이 저하될 수 있습니다. 데이터 전송 가속화 전략, 적절한 데이터 샤딩 기법, 고속 스토리지 서브시스템과의 직접 작업 방법, GPU에서 통신과 계산을 중첩하는 고급 패턴에 대해 논의합니다. 통신과 계산을 중첩하는 것은 AI 시스템 성능 엔지니어링 여정 전반에 걸쳐 자주 재검토하는 일반적인 패턴입니다.
NVIDIA의 IO 가속 플랫폼인 Magnum IO( NCCL, GPUDirect RDMA, GPUDirect Storage(GDS) 포함) 구성 요소를 활용하여 통신과 연산을 중첩하는 중요성을 탐구합니다. 이러한 라이브러리를 사용하여 통신 지연 시간을 낮추고, CPU 오버헤드를 줄이며, 다중 노드, 다중 GPU AI 시스템의 모든 계층에서 처리량을 극대화하는 방법을 시연합니다.
PyTorch와 같은 고수준 AI 프레임워크는 이러한 저수준 라이브러리를 활용하여 계산과 통신을 중첩시킬 수 있습니다. 이러한 기술을 AI 시스템에 통합하는 것은 초대규모 모델 훈련과 수십억 명의 사용자를 지원하는 애플리케이션을 구동하기 위한 분산 추론 서버 확장을 위한 통신 및 데이터 파이프라인 가속화에 대한 종합적인 접근법을 의미합니다.
이러한 모든 최적화는 각 구성 요소가 최고 성능을 발휘하도록 보장합니다. 성능 엔지니어는 높은 수준의 GPU 활용도와 "유효 처리량(goodput)"을 유지하기 위해 네트워크 및 스토리지 패브릭을 신중하게 구성하고 튜닝해야 합니다.
통신과 계산의 중첩 (파이프라이닝)
통신과 계산을 중첩시키는 파이플라이닝은 대규모 효율적인 훈련 및 추론 시스템 구축 에 핵심적인 역할을 합니다. 이러한 환경에서는 GPU를 지속적으로 활용하고 데이터 대기 시간을 최소화하는 것이 중요합니다.
핵심 아이디어는 데이터 전송이 진행 중인 계산과 동시에 이루어지도록 하여 한 작업이 완료될 때 다음 단계에 필요한 결과가 이미 진행 중이거나 전달되도록 하는 것입니다. PyTorch와 같은 현대적 프레임워크는 비동기 작업을 지원하여 집합적 통신(예: 기울기의 올-리듀스)이 계산 작업과 병행 실행될 수 있게 합니다. 이는 GPU 유휴 시간을 줄이고( 그림 4-1 참조) 전체 시스템 처리량을 향상시킵니다.
그림 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access