DeepEP란 무엇인가?
최근 Mixture-of-Experts(MoE) 모델이 대규모 AI 모델의 성능을 획기적으로 개선하면서, 이를 효율적으로 실행하기 위한 고성능 통신 기술이 필수적으로 요구되고 있습니다. 하지만 기존의 GPU 간 통신 방식은 높은 오버헤드와 지연 시간 문제로 인해 MoE 모델의 성능을 충분히 활용하지 못하는 경우가 많습니다.
DeepEP는 이러한 문제를 해결하기 위해 개발된 MoE 및 전문가 병렬(Expert Parallelism, EP) 최적화 GPU 통신 라이브러리입니다. NVLink 및 RDMA(원격 직접 메모리 액세스)를 활용한 고성능 All-to-All 커널을 제공하며, 최신 FP8 및 BF16 저정밀 연산을 지원합니다. 또한, DeepSeek-V3 논문에서 제안된 그룹 제한 게이팅(Group-Limited Gating) 알고리즘을 적용하여 비대칭 대역폭 환경에서도 최적의 성능을 보장합니다.
DeepEP는 특히 훈련(prefilling) 및 추론(inference decoding) 작업에서 고속 데이터 전송 및 낮은 지연 시간을 보장하도록 설계되었습니다. 이번 글에서는 DeepEP의 주요 기능과 성능, 설치 및 사용 방법을 상세히 소개합니다.
🔍 DeepEP의 주요 기능
1️⃣ GPU 기반 All-to-All 커널 제공
MoE 모델은 각 샘플을 여러 전문가(Expert)에게 분배한 후, 다시 결합하는 All-to-All 통신이 필수적입니다. DeepEP는 이를 가속화하기 위해 고속 MoE 디스패치(dispatch) 및 결합(combine) 연산을 위한 GPU 커널을 제공합니다.
✅ NVLink 기반 노드 내부 통신 최적화
✅ RDMA 기반 노드 간 통신 최적화
✅ SM(Streaming Multiprocessors) 리소스 점유 없이 통신-연산 오버랩 지원
2️⃣ FP8 및 BF16 지원으로 성능 최적화
DeepEP는 최신 FP8(8비트 부동소수점) 및 BF16(Brain Floating Point 16) 연산을 지원하여 메모리 사용량을 줄이고 연산 속도를 높입니다.
✅ FP8 디스패칭 + BF16 결합 연산 적용
✅ Hopper GPU 아키텍처에서 최적 성능 제공
✅ MoE 모델 학습 및 추론 시 처리량(throughput) 극대화
3️⃣ DeepSeek-V3 기반 최적화된 그룹 제한 게이팅 알고리즘 적용
DeepSeek-V3 논문에서 제안한 그룹 제한 게이팅(group-limited gating) 알고리즘을 적용하여, NVLink → RDMA 전송 시 최적의 데이터 분배가 가능하도록 설계되었습니다.
✅ 비대칭 도메인 대역폭 환경에서 성능 최적화
✅ 훈련(prefilling) 및 추론(inference decoding) 모두에서 높은 처리량 제공
✅ 지연시간(latency) 민감한 작업을 위한 RDMA 전용 저지연 커널 포함
📊 DeepEP 성능 벤치마크
DeepEP는 H800 GPU 및 CX7 InfiniBand 400Gb/s RDMA 네트워크 환경에서 성능을 테스트하였습니다.
1️⃣ NVLink 및 RDMA 성능 비교
통신 방식 전문가 수(EP) 디스패치 대역폭 결합 대역폭
NVLink (노드 내부) | 8 | 153GB/s | 158GB/s |
RDMA (노드 간) | 16 | 43GB/s | 43GB/s |
RDMA (노드 간) | 32 | 44GB/s | 47GB/s |
RDMA (노드 간) | 64 | 46GB/s | 45GB/s |
✅ NVLink를 활용한 노드 내부 통신: 150GB/s 이상
✅ RDMA를 활용한 노드 간 통신: 전문가 수 증가 시 40~47GB/s 대역폭 유지
2️⃣ 저지연 커널 성능 테스트
전문가 수(EP) 지연 시간 (us) RDMA 대역폭 (GB/s)
8 | 163 | 46 |
16 | 173 | 43 |
32 | 182 | 41 |
64 | 186 | 40 |
128 | 192 | 39 |
256 | 194 | 39 |
✅ 저지연 커널은 일반 커널 대비 지연 시간을 획기적으로 단축
✅ 전문가 수 증가 시 지연 시간이 증가하지만, RDMA 대역폭은 일정하게 유지됨
🛠 DeepEP 설치 및 사용 방법
1️⃣ DeepEP 설치 방법
NVSHMEM_DIR=/path/to/installed/nvshmem python setup.py install
설치 후, Python 프로젝트에서 deep_ep 라이브러리를 불러와 사용할 수 있습니다.
import deep_ep
2️⃣ MoE 모델에서 DeepEP 사용 예제
다음은 MoE 모델에서 DeepEP를 활용한 디스패치 및 결합 연산 예제입니다.
📌 MoE 디스패치(dispatch) 예제
from deep_ep import Buffer
buffer = Buffer(group, num_nvl_bytes, num_rdma_bytes)
recv_x, recv_topk_idx, recv_topk_weights, handle, event = \
buffer.dispatch(x, topk_idx, topk_weights, num_tokens_per_rank)
📌 MoE 결합(combine) 예제
combined_x, event = buffer.combine(x, handle)
🎯 DeepEP의 시사점 및 기대 효과
✅ 1️⃣ MoE 모델의 성능 극대화
DeepEP를 활용하면 GPU 간 통신 오버헤드를 최소화하여, 더 빠르고 효율적인 MoE 학습 및 추론이 가능합니다.
✅ 2️⃣ 저지연 환경에서 최적의 성능 제공
RDMA 기반 저지연 커널을 통해, 실시간 추론 환경에서도 안정적인 처리 속도를 보장합니다.
✅ 3️⃣ 최신 GPU 및 InfiniBand 환경에 최적화
DeepEP는 Hopper GPU 및 InfiniBand 네트워크에서 성능을 극대화하도록 설계되었습니다. 최신 AI 연구 및 기업 환경에서 활용 가능성이 높습니다.
Mixture-of-Experts(MoE) 모델을 더 빠르고 효율적으로 실행하기 위해서는 GPU 간 통신 최적화가 필수적입니다. DeepEP는 고성능 All-to-All 커널, FP8/BF16 지원, NVLink 및 RDMA 최적화, 저지연 커널 제공 등을 통해 MoE 모델의 성능을 획기적으로 향상시킵니다.
https://github.com/deepseek-ai/DeepEP
GitHub - deepseek-ai/DeepEP: DeepEP: an efficient expert-parallel communication library
DeepEP: an efficient expert-parallel communication library - deepseek-ai/DeepEP
github.com
'인공지능' 카테고리의 다른 글
차세대 AI 모델, Claude 3.7 Sonnet & Claude Code! 개발자 필독 최신 기능 분석 (0) | 2025.02.25 |
---|---|
DeepSeek 첫번째 공개 - Hopper GPU를 위한 초고속 MLA 디코딩 > FlashMLA 소개 및 성능 분석 (0) | 2025.02.25 |
강화학습의 혁신, GRPO란? PPO와의 차이점과 직관적인 이해 (0) | 2025.02.24 |
AI 에이전트란? 차세대 AI 자동화의 핵심 기술 (0) | 2025.02.24 |
DeepSeek의 AI 인프라 혁신: Fire-Flyer AI-HPC가 바꾸는 딥러닝의 미래 (0) | 2025.02.24 |