Soulmate-Halo/heterogeneous-gpu-pd-lab
使用稠密算力卡对稀疏大显存主机进行加速,主机包括 AI Max+ 395、M3 512G、DGX Spark 等。
TL;DR
Soulmate‑Halo/heterogeneous‑gpu‑pd‑lab는 대규모 mixture‑of‑experts (MoE) LLM 추론을 서로 다른 GPU 유형에 분할하는 방법을 보여주는 연구급 코드베이스입니다. Docker 이미지, 배포 가이드, 그리고 다음과 같은 설정에 대한 원시 벤치마크 데이터를 제공합니다:
- RTX 3080 + DGX Spark (Spark에서 프리필, 두 GPU에서 공동 디코드)
- RTX 3080 + AI Max 395 (프리필 가속, iGPU/CPU에서 디코드)
- 6‑GPU 파이프라인 (프리필용 RTX 6000D 2개, 디코드용 DGX Spark 4개) 이 저장소는 Qwen‑3.8‑Flash‑Next 및 DeepSeek‑V4.1‑Flash와 같은 거대한 MoE 모델의 더 빠른 프리필 및 디코드를 위해 이기종 GPU 클러스터를 실험하려는 엔지니어를 대상으로 합니다.
프로젝트가 무엇인지
| 측면 | 세부 사항 |
|---|---|
| 목표 | 대규모 MoE LLM을 위한 실용적인 이기종 GPU 추론("PD" = Prefill‑Decode 분할)을 시연하고 재현 가능한 Docker 이미지를 제공합니다. |
| 주요 개념 | • Mixture‑of‑Experts (MoE) – 핫 전문가는 빠른 GPU에서 실행되고, 콜드 전문가는 더 큰 메모리의 GPU/CPU에서 실행됩니다. • Prefill‑Decode (PD) 분할 – 긴 프롬프트는 전용 "P‑stage" GPU 클러스터에서 인코딩된 후 생성 단계를 위해 "D‑stage" 클러스터로 컨텍스트가 전달됩니다. • PP2 파이프라인 – 각 단계 내에서 텐서 병렬 처리(TP)를 사용하는 2단계 파이프라인(프리필→디코드) (예: RTX 6000D에서 TP2, DGX Spark에서 TP4). |
| 지원 하드웨어 | RTX 3080, RTX 6000D, AI Max 395 (iGPU + Zen5 CPU), DGX Spark/GB10, NVIDIA H20 (비교용으로 언급). |
| 사용 모델 | Qwen‑3.8‑Flash‑Next (125 B MoE) 및 DeepSeek‑V4.1‑Flash (인과 인코더‑디코더). |
| 산출물 | • GitHub Container Registry의 Docker 이미지 (예: ghcr.io/soulmate-halo/heterogeneous-gpu-pd-lab/qwen38-flash-spark-3080:latest).• 단계별 명령이 포함된 배포 README 파일. • 원시 벤치마크 JSON/CSV 파일 및 12분 설명 비디오. |
| 벤치마크 | 6‑GPU 설정에서 프리필 처리량 최대 16 k tok/s, 디코드 최대 ~442 tok/s. RTX 3080과 Spark를 결합하면 디코드 속도가 2‑3배 향상됩니다. 모든 수치는 튜닝되지 않은 원시 측정값입니다 (추가 최적화 없음). |
| 라이선스 / 상태 | 발췌문에 명시되지 않았지만 저장소는 활성 상태로 보입니다 (2026년 10월 릴리스). |
유용할 수 있는 사용자
| 대상 | 중요성 |
|---|---|
| ML 인프라 엔지니어 | 이기종 클러스터를 위한 즉시 실행 가능한 Docker 이미지와 명확한 배포 스크립트. 사용자 지정 PD 파이프라인 구축 시 참조로 유용합니다. |
| 연구 실험실 | 혼합 GPU 하드웨어에서 MoE 모델에 대한 구체적인 성능 수치를 제공하여 하드웨어 구매를 정당화하는 데 도움이 됩니다. |
| GPU 공급업체 / 시스템 통합업체 | GPU 간 RDMA 기반 전문가 핸드오프의 실제 사용 사례를 보여주며 드라이버 또는 상호 연결 최적화에 도움이 됩니다. |
| 학생 / 취미 사용자 | 12분 비디오와 단계별 가이드는 멀티 GPU MoE 추론 실험의 장벽을 낮춥니다. |
시작 방법 (빠른 시작 개요)
- 배포 번들 선택 – 예: RTX 3080 + Spark 콤보용
qwen38-flash-spark-3080/. - Docker 이미지 가져오기:
docker pull ghcr.io/soulmate-halo/heterogeneous-gpu-pd-lab/qwen38-flash-spark-3080:latest - 호스트 준비 – 일치하는 CUDA 13 드라이버를 설치하고 RDMA를 활성화하고 모델 가중치를 배치합니다 (이미지에 포함되지 않음). README에 정확한 드라이버 버전과 환경 변수가 나열되어 있습니다.
- 컨테이너 실행 – README는 API 라우터를 시작하고 PD 서비스를 시작하는 한 줄의
docker run명령을 제공합니다. - 테스트 – 노출된 포트로 HTTP 요청을 보냅니다. 라우터는 프리필을 Spark로, 디코드를 RTX 3080으로 라우팅합니다.
- 결과 확인 – 컨테이너는 진단 정보를 출력하고 JSON 증거 파일(
v2-metrics.json,performance-v2.json)을 다운로드할 수 있습니다.
제한 사항 / 주의 사항 (설명된 대로)
- 원시 수치만 – 저장소는 의도적으로 튜닝을 피하며 실제 배포에는 추가 최적화가 필요할 수 있습니다.
- 호스트 간 KV 내보내기/가져오기 없음 – 라우터는 요청을 재시작하지 않고 Spark 프리필에서 3080 디코드로 이동할 수 없습니다.
- 모델 가중치 미포함 – 125 B Qwen 또는 DeepSeek 가중치는 직접 확보해야 합니다 (공개 HuggingFace 링크 참조).
- 하드웨어 특정 – 파이프라인은 RDMA, 특정 PCIe/NVLink 구성 및 나열된 정확한 GPU 모델에 의존합니다.
- 벤치마크 재현성 – 일부 실행(예: V2 디코드)에 대한 로그가 누락되어 정확한 재현에는 작성자에게 문의해야 할 수 있습니다.
결론
heterogeneous-gpu-pd-lab는 거대한 MoE LLM의 이기종 GPU 추론을 위한 재현 가능한 설정을 문서화하고 제공하는 진정한 엔지니어링 중심의 오픈 소스 프로젝트입니다. 단일 GPU 배포 이상의 성능 한계를 추구하는 모든 사람, 특히 긴 프롬프트의 프리필이 병목인 경우에 유용합니다.
모든 진술은 제공된 README에서 직접 가져온 것이며 외부 추측은 추가되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트