GitHub - deepseek-ai/profile-data: Analyze computation-communication overlap in V3/R1.
요약
상세 내용
chrome://tracing 또는 Edge 브라우저의 edge://tracing을 통해 직접 시각화할 수 있습니다. 프로파일링은 절대적으로 균형 잡힌 MoE (Mixture of Experts) 라우팅 전략을 시뮬레이션합니다.훈련(Training) 프로파일링 데이터:
훈련 프로파일링 데이터는 DualPipe에서 개별 순방향(forward) 및 역방향(backward) 청크(chunk) 쌍에 대한 오버랩 전략을 보여줍니다. 각 청크는 4개의 MoE 레이어를 포함합니다. 병렬 구성은 DeepSeek-V3 사전 훈련 설정과 동일하게 EP64 (Expert Parallelism 64), TP1 (Tensor Parallelism 1)을 사용하며, 시퀀스 길이는 4K입니다. 단순화를 위해 이 프로파일링에서는 PP (Pipeline Parallelism) 통신이 포함되지 않았습니다.
추론 사전 채우기(Inference Prefilling) 프로파일링 데이터:
사전 채우기 단계의 프로파일링은 EP32, TP1 구성을 사용하며, 이는 DeepSeek V3/R1의 실제 온라인 배포와 일치합니다. 프롬프트 길이는 4K로 설정되었고, GPU당 배치 크기는 16K 토큰입니다. 이 사전 채우기 단계에서는 두 개의 마이크로 배치(micro-batches)를 활용하여 연산과 All-to-All 통신을 오버랩시킵니다. 어텐션(attention) 연산 부하는 두 마이크로 배치에 걸쳐 균형 있게 분산되도록 설계되었으며, 이는 동일한 프롬프트가 두 마이크로 배치로 분할될 수 있음을 의미합니다.
추론 디코딩(Inference Decoding) 프로파일링 데이터:
디코딩 단계의 프로파일링은 EP128, TP1 구성을 사용하며, 실제 온라인 배포 설정과 매우 유사합니다. 프롬프트 길이는 4K이고, GPU당 배치 크기는 128 요청입니다. 사전 채우기와 유사하게, 디코딩 또한 두 개의 마이크로 배치를 활용하여 연산과 All-to-All 통신을 오버랩시킵니다. 그러나 사전 채우기와는 달리, 디코딩 중의 All-to-All 통신은 GPU SM(Streaming Multiprocessors)을 점유하지 않습니다. RDMA(Remote Direct Memory Access) 메시지가 발행된 후 모든 GPU SM이 해제되며, 시스템은 연산이 완료된 후 All-to-All 통신이 완료되기를 기다립니다. All-to-All 구현에 대한 자세한 정보는 DeepEP를 참조할 수 있습니다.