deepseek-ai/DeepEP
DeepEP: an efficient expert-parallel communication library
해결하는 문제
DeepEP는 현대 머신러닝 학습 및 추론에서의 통신 병목 현상, 특히 Mixture-of-Experts (MoE) 모델을 위한 문제를 해결합니다. 전문가 병렬 처리 (EP)의 dispatch 및 combine 작업을 위해 고처리량, 저지연 all-to-all GPU 커널을 제공하여, GPU 간 토큰 이동 오버헤드를 줄이는 동시에 Streaming Multiprocessors (SMs) 소비를 최소화합니다.
작동 원리
DeepEP는 경량 Just-In-Time (JIT) 컴파일 모듈을 사용하여 런타임에 커널을 생성하는 고성능 통신 라이브러리를 구현하여, 설치 시 CUDA 컴파일의 필요성을 제거했습니다. 경량 통신을 위해 NCCL Gin 백엔드를 사용하며, 고처리량 및 저지연 API를 통합하기 위해 ElasticBuffer 인터페이스를 제공합니다. 이 라이브러리는 FP8과 같은 저정밀도 형식을 지원하며, RDMA 및 NVLink를 활용하여 효율적인 노드 간 및 노드 내 데이터 전송을 수행합니다. 또한 파이프라인 병렬성 (PP), 컨텍스트 병렬성 (CP) 및 원격 메모리 액세스 (Engram)를 위한 실험적 프리미티브도 포함되어 있습니다.
대상 사용자
Hopper (SM90) GPU 또는 최신 아키텍처에서 대규모 MoE 모델을 학습하거나 배포하며, 통신을 위한 하드웨어 대역폭 극대화와 SM 리소스 사용 최소화가 필요한 개발자 및 연구자를 위해 설계되었습니다.
주요 특징
- 극한의 효율성: V2는 V1 대비 SM 리소스 사용량을 최대 4배 줄이면서도 피크 성능을 최대 1.3배 달성했습니다.
- JIT 컴파일: 커널이 런타임에 컴파일되어 설치 및 배포가 간편합니다.
- 분석적 튜닝: 최적의 SM 및 QP 수를 자동으로 계산하여 수동 자동 튜닝의 필요성을 없앴습니다.
- 폭넓은 병렬성 지원: 전문가 병렬 처리를 넘어 파이프라인 병렬성, 컨텍스트 병렬성 및 원격 메모리 액세스에 대한 실험적 지원을 제공합니다。
- 저정밀도 지원: FP8 dispatching 및 BF16 combining에 최적화되어 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트