vLLM Elastic Expert Parallelism, 확장 중단 시간을 거의 0으로 단축
대규모 언어 모델의 기존 확장 방식은 서비스를 재시작하거나 전체 모델 복제본을 추가/제거해야 했기 때문에 상당한 서빙 중단 시간이 발생했습니다. vLLM의 새로운 Elastic Expert Parallelism(Elastic EP) 아키텍처는 NIXL EP를 기반으로 실행 중인 배포에서 GPU를 추가하거나 제거할 수 있게 하여 중단을 최소화하고, 확장 중단 시간을 2초 미만으로 줄입니다.
확장 아키텍처: 비동기 준비 및 커밋
거의 0에 가까운 중단 시간의 핵심은 vLLM의 재구성 흐름을 백그라운드 준비와 짧은 커밋이라는 두 가지 별개의 단계로 재구성하는 것입니다. 백그라운드 준비 단계 동안 기존 워커는 요청을 계속 서빙하는 동안 별도의 스레드가 대상 토폴로지를 준비하고, 모델 가중치를 전송하며, 새 워커를 워밍업합니다. 커밋 단계는 vLLM이 준비된 토폴로지를 활성화한 후 서빙을 재개하는 짧은 일시 중지입니다.
준비는 비동기적으로 실행되는 네 가지 주요 작업을 포함합니다:
- 조인 워커 초기화: 새 워커 프로세스를 시작하고 필요한 모델 및 실행 저장소를 할당합니다.
- 통신 준비: 대상 통신 그룹을 설정하고 Expert Parallel(EP) 커뮤니케이터를 확장합니다.
- 모델 가중치 전송: 기존 워커에서 조인 워커로 NVLink 또는 RDMA를 통해 필요한 모델 가중치를 이동합니다.
- 실행 준비: 조인 워커에서 커널 컴파일, 워밍업, 튜닝 설정, CUDA 그래프 구성을 완료합니다.
커밋 단계 후에는 비동기 Expert Parallel 로드 밸런싱(EPLB)이 시작되어 새 워커가 어텐션을 처리하는 동안 기존 워커가 expert 계산을 관리하고, 이후 백그라운드에서 expert를 재분배합니다.
NIXL EP, 제자리 통신 확장 지원
NIXL EP는 고정 멤버십 통신 백엔드의 한계를 해결하도록 설계된 특수 EP 통신 라이브러리입니다. 이전에는 순위를 추가하거나 제거하려면 완전히 새로운 통신 인스턴스를 생성해야 했으며, 이로 인해 메모리 사용량이 증가하고 기존 CUDA 그래프가 무효화되었습니다.
NIXL EP는 동일한 NIXL 에이전트, 버퍼, 연결을 재사용하면서 순위를 제자리에서 추가하거나 제거하여 이러한 문제를 해결합니다. 이를 통해 기존 워커가 계속 서빙하는 동안 새 피어가 연결될 수 있습니다. 중요한 점은 NIXL EP가 재구성 전반에 걸쳐 캡처된 EP 디스패치 및 결합 항목을 유효하게 유지하므로, 유지된 워커는 워밍업과 그래프 구성을 반복할 필요 없이 기존 CUDA 그래프를 재사용할 수 있다는 것입니다.
준비 동안 vLLM의 백그라운드 스레드는 조인 피어를 활성화하지 않고 연결합니다. 커밋 단계는 핵심 커뮤니케이터를 교체하지 않고 준비된 피어를 활성화합니다.
기존 워커의 CUDA 그래프 보존
CUDA 그래프는 GPU 연산을 기록하므로 vLLM은 CPU 측 런치를 반복하지 않고도 forward pass를 재생할 수 있습니다. 확장 중 이러한 그래프를 보존하려면 재구성 프로세스 전반에 걸쳐 안정성을 유지해야 합니다. NIXL EP는 커널 실행 구성, 그래프에 표시되는 통신 인수, 입력/출력 텐서 주소가 확장 이벤트 전반에 걸쳐 안정적으로 유지되도록 보장합니다.
vLLM에서 이러한 그래프를 보존하기 위해 구현된 특정 변경 사항은 다음과 같습니다:
- 유지된 워커의 fused-MoE 실행 객체를 다른 활성 EP 크기로 재구축하는 대신 재사용합니다.
- 그래프에 표시되는 워크스페이스 및 디스패치 출력의 주소와 레이아웃을 안정적으로 유지하여, EP 크기가 변경되더라도 캡처된 expert 커널이 올바른 포인터를 사용하도록 합니다.
- expert 라우팅 텐서의 백킹 저장소를 보존하고 매핑을 제자리에서 업데이트하여, EPLB가 캡처된 커널이 사용하는 텐서를 이동하지 않고 매핑을 변경할 수 있도록 합니다.
이러한 조치를 통해 유지된 워커는 확장 및 축소 후에도 기존 CUDA 그래프를 재사용할 수 있습니다.
조인 워커의 독립적 준비
조인 워커는 실행을 준비하고 CUDA 그래프를 캡처해야 하지만, 실제 요청을 서빙 중인 기존 워커에 의존할 수 없습니다. NIXL EP는 워밍업 및 그래프 준비 동안 각 조인 워커가 모든 원격 EP 피어를 일시적으로 마스킹할 수 있도록 하여 독립적인 준비를 용이하게 합니다. 이렇게 하면 EP 통신을 위해 워커의 로컬 rank가 격리됩니다.
또한 vLLM은 이러한 준비 패스가 다른 워커의 Data Parallel(DP) 배치 정보를 기다리지 않도록 수정되었습니다. 이를 통해 조인 워커는 기존 워커가 준비 프로세스에 참여할 필요 없이 더미 배치를 실행하고 CUDA 그래프를 캡처할 수 있습니다.
DeepSeek V4 Pro 성능 벤치마크
GB200 GPU에서 DeepSeek V4 Pro를 사용하여 세 가지 구성(차단(A), 비동기 준비(B), 비동기 준비 + 그래프 재사용(C))을 비교하는 실험을 수행했습니다. NIXL EP에서만 지원되는 구성 C는 상당한 성능 향상을 보여주었습니다.
중단 시간 감소
| 지표 | A: 차단 | B: 비동기 준비 | C: 비동기 준비 + 그래프 재사용 |
|---|---|---|---|
| 16~20 GPU: 중단 시간 | 99.62초 | 58.04초 | 0.82초 |
| 20~16 GPU: 중단 시간 | 56.25초 | 44.07초 | 1.96초 |
16개에서 20개 GPU로 확장할 때 관찰된 서빙 중단 시간이 99.62초에서 0.82초로 줄었습니다. 20개에서 16개 GPU로 축소할 때는 중단 시간이 56.25초에서 1.96초로 줄었습니다.
서비스 수준 목표(SLO) 유지
요청 부하가 증가하는 엔드투엔드 서빙 시나리오에서 Elastic EP는 확장 과정 내내 롤링 p95 첫 토큰 시간을 5초 미만으로 유지하는 서비스 수준 목표(SLO)를 충족했습니다. 준비 중에는 Elastic EP가 정적 16-GPU 배포의 서빙 성능과 일치했고, 확장 후에는 복구된 20-GPU 배포의 성능과 일치했습니다.
향후 방향
향후 개발은 워커 시작 가속화와 통신 성능 향상이라는 두 가지 주요 영역에 중점을 둡니다.
- Dynamo Snapshot으로 웜 워커 복원: 다음 과제는 새 용량이 준비되는 데 걸리는 시간을 줄이는 것입니다. 팀은 Dynamo Snapshot을 통합하여 조인 워커가 컴파일, 커널 워밍업, 그래프 구성을 반복하는 대신 초기화된 프로세스 및 CUDA 상태를 복원할 수 있도록 할 계획입니다.
- 최첨단 EP 통신: 목표는 Elastic EP 및 내결함성에 대한 완전한 지원을 유지하면서 NIXL EP로 최첨단 디스패치 및 컴바인 성능을 달성하는 것입니다.
SUMMARY: vLLM은 NIXL EP를 사용하는 Elastic Expert Parallelism(Elastic EP)을 도입하여 대규모 MoE 모델을 거의 중단 없이 확장할 수 있게 했으며, 확장 일시 중지 시간을 수백 초에서 2초 미만으로 줄였습니다.
TITLE: vLLM Elastic Expert Parallelism, 확장 중단 시간을 거의 0으로 단축