SGLang v0.5.14: LPLB 전문가 병렬 부하 분산 (Expert-Parallel Load Balancing)
요약
SGLang v0.5.14에 도입된 LPLB는 MoE 모델 서빙 시 발생하는 GPU 간 부하 불균형을 해결하기 위한 선형 계획법 기반 부하 분산 기술입니다. 인기 있는 전문가의 복제본을 활용하여 매 단계마다 토큰 부하를 균등하게 배분함으로써 전체 처리량을 극대화합니다.
핵심 포인트
- LPLB는 선형 계획법을 사용하여 MoE 모델의 전문가 병렬 부하를 최적화함
- 인기 있는 전문가의 중복 복제본을 유지하여 특정 GPU의 과부하 방지
- DeepSeek-V4와 같은 대규모 MoE 모델의 서빙 처리량(throughput) 개선
- 데이터 의존적인 토큰 라우팅 패턴에 대응하는 동적 부하 분산 제공
무엇인가 (What): SGLang v0.5.14 릴리스에는 LPLB가 포함되어 있습니다. 이는 Mixture-of-Experts (MoE) 모델 서빙을 위한 **선형 계획법 기반 부하 분산기 (linear-programming load balancer)**로, 전문가(experts)들이 여러 GPU에 분산되어 있고 매 단계마다 모든 토큰을 그중 몇몇 전문가에게 라우팅하는 환경을 위한 것입니다.
이유 (Why): 전문가 병렬 (Expert-Parallel) MoE 서빙에서는 토큰 라우팅이 불균등하며 매 단계마다 변하기 때문에, 과부하된 GPU 하나가 동기화 배리어 (sync barrier)에서 전체 단계를 지연시킵니다. 이러한 부하를 균등하게 맞추는 것이 DeepSeek-V4와 같은 대규모 MoE 모델의 처리량 (throughput)을 끌어올리는 핵심입니다.
이전 방식 대비 (vs prior): 이전 설정들은 **정적이고 수동으로 조정된 전문가 배치 (static, hand-tuned expert placement)**를 사용하며 불균형 문제를 감수했습니다. 반면 LPLB는 **인기 있는 전문가의 중복 복제본 (redundant replicas of the hot experts)**을 유지하며, 매 단계마다 작은 선형 계획법 (linear program) 문제를 풀어 가장 바쁜 GPU의 작업 비중을 최소화합니다.
비유하자면
가장 긴 줄을 균등하게 만들기 위해 창고형 매장에서 계산대를 중복으로 여는 것과 같습니다.
이 단계 토큰의 40%가 하나의 인기 있는 전문가를 원함
LPLB 미사용 LPLB 사용 (3개의 복제본)
...
- 고객 = 이번 단계에서 전문가에게 라우팅된 토큰
- 전문 계산대 = 전문가 (Mixture-of-Experts 모델 내의 서브 네트워크)
- 계산대 줄 = 전문가들이 분산되어 있는 GPU
- 다른 줄은 비어 있는데 한 계산대에만 사람이 몰림 = GPU별 부하 불균형 (per-GPU load imbalance)
- 붐비는 계산대의 중복 사본 = 중복된 전문가 복제본 (redundant expert replicas)
- 매 파도마다 가장 긴 줄을 균등하게 맞추는 매장 매니저 = LPLB
빠른 용어 정리
MoE (Mixture-of-Experts) — 피드포워드 레이어 (feed-forward layer)가 여러 **전문가 (experts, 서브 네트워크)**로 나뉘어 있는 모델입니다. 작은 **라우터 (router)**가 각 토큰을 단 몇 개의 전문가에게만 보냅니다. 전체 파라미터 수는 매우 크지만, 토큰당 **활성화 (active)**되는 파라미터 수는 작게 유지됩니다. DeepSeek-V4는 대규모 MoE 모델입니다.
전문가 병렬성 (Expert parallelism, EP) — 모든 전문가를 하나에 담을 수 없기 때문에 MoE의 전문가들을 여러 GPU에 분산시키는 서빙 레이아웃입니다. 매 단계마다 토큰은 선택된 전문가를 보유한 GPU로 전송되어야 하며, 결과 또한 다시 전송되어야 합니다.
부하 불균형 (Load imbalance) — 이 단계의 라우터(router)가 일부 전문가(expert)에게 다른 전문가들보다 훨씬 더 많은 토큰을 보낼 때, **인기 있는 전문가 (popular experts)**를 보유한 GPU는 과부하 상태가 되는 반면 나머지는 유휴 상태로 남게 됩니다. 이 패턴은 **데이터 의존적 (data-dependent)**이므로 배치(batch)마다 변화합니다.
중복 전문가 복제본 (Redundant expert replicas) — 하나의 GPU가 인기 있는 전문가를 단독으로 소유하는 대신, 여러 GPU에 **인기 있는 전문가의 추가 복사본 (extra copies of the hot experts)**을 유지하여 토큰 부하를 분산시키는 방식입니다. 부하 분산기(balancer)는 각 전문가의 토큰을 복제본들 사이에 어떻게 나눌지 결정합니다.
LPLB — SGLang의 **선형 계획법 부하 분산기 (Linear-Programming Load Balancer)**입니다. 매 단계마다 현재 토큰 수를 바탕으로 작은 선형 계획법 (linear program) 문제를 풀어 복제본 간의 부하를 할당하며, 이를 통해 GPU당 최대 부하를 가능한 한 최소화합니다 (min-max 목적 함수).
Waterfill — 이번 릴리스에서 LPLB와 함께 제공되는 두 번째 전문가 병렬 부하 분산기입니다. SGLang은 이름을 명명했으나 작동 방식에 대한 세부 사항은 공개하지 않았습니다. 이 이름은 고전적인 워터필 (water-filling) 휴리스틱(가장 부하가 적은 복제본을 먼저 채우는 방식)을 가리키며, 이는 매 단계 LP를 푸는 것보다 가벼운 대안이 될 수 있습니다.
All-to-all — 토큰을 해당 전문가가 있는 GPU로 보내고 결과를 다시 받아오는 전문가 병렬 **통신 단계 (communication step)**입니다. 매 레이어마다 실행되며 가장 느린 GPU를 기다려야 하므로, 부하 불균형이 발생할 경우 비용(손실)이 매우 큽니다.
뉴스. 2026년 6월 26일, SGLang 팀은 56명의 기여자가 참여한 v0.5.14 버전을 출시했습니다. 주요 소식은 NVIDIA GB300에서 DeepSeek-V4를 서빙할 때 **동일한 상호작용성 (interactivity) 대비 5배 높은 처리량 (throughput)**을 달성했다는 점입니다. 이는 두 가지 새로운 전문가 병렬 부하 분산기인 Waterfill과 LPLB (선형 계획법 부하 분산기), 그리고 Blackwell을 위한 CuteDSL 프리필(prefill) 커널과 선형 주의(linear-attention) 접두사 캐시를 위한 int8 체크포인트 풀링(checkpoint pooling) 덕분입니다. 릴리스 전문 읽기 →
가장 붐비는 시간대의 대형 창고형 매장을 상상해 보세요. 계산 **대(lanes)**는 GPU이고, 델리, 약국, 베이커리와 같은 전문 **코너(counters)**는 모델의 전문가(experts)입니다. 단 하나의 계산대만으로는 이 모든 코너를 수용할 수 없기 때문에, 매장은 여러 계산대에 코너들을 분산 배치합니다. 이러한 분산 방식이 바로 **전문가 병렬성 (expert parallelism)**입니다. Mixture-of-Experts (MoE) 모델은 하나의 GPU에 담기에는 전문가가 너무 많기 때문에 여러 GPU에 걸쳐 존재하며, 각 디코딩(decode) 단계마다 라우터(router)는 모든 고객(토큰)을 그들에게 필요한 한두 개의 코너로 보냅니다. 문제는 이 혼잡함이 **불규칙적 (lumpy)**이라는 점입니다. 이번 파도에는 모두가 델리를 원하고, 다음 파도에는 약국을 원합니다. 결국 한 코너에는 인파가 몰려 북새통을 이루는 반면 나머지 코너는 한가하게 서 있게 되며, 매장은 그 가장 긴 줄이 해소될 때까지 혼잡한 상황을 끝낼 수 없습니다.
마지막 구절이 문제의 핵심입니다. 왜냐하면 계산대들이 독립적으로 작업을 끝내지 못하기 때문입니다. 모든 GPU는 토큰을 전문가에게 보내고 답변을 다시 가져오는 all-to-all 통신이라는 동기화 장벽(sync barrier)에서 만나야 하며, 이 장벽은 가장 느린 계산대가 완료될 때까지 기다립니다. 따라서 이번 단계에서 가장 인기 있는 전문가를 보유한 GPU가 전체의 속도를 결정하게 되며, 빠른 계산대들은 그 차이만큼 유휴 시간 (idle time)을 허비하게 됩니다. GPU를 더 추가하더라도 불균형은 개선되는 것이 아니라 오히려 _악화_될 수 있습니다. 뜨거운(hot) 전문가는 여전히 하나의 계산대에 머물러 있는 반면, 더 많은 계산대가 주변에서 서성거리도록 비용을 지불했기 때문입니다.
SGLang v0.5.14의 해결책은 하나의 카운터가 전체 홀의 병목 현상을 일으키도록 방치하지 않는 것입니다. 이 방식은 뜨거운(hot) 전문가의 중복 복제본 (redundant replicas) — 여러 차선에 배치된 중복된 델리 카운터와 같은 개념 — 을 유지하며, 매 웨이브(wave)마다 홀 매니저가 빠른 할당 문제(assignment problem)를 해결합니다. 즉, 지금 당장 각 카운터를 원하는 고객이 얼마나 되는지를 고려하여, 가장 붐비는 차선의 부하를 최소화할 수 있도록 모든 카운터의 대기 줄을 복제본들에 나누어 배정하는 것입니다. 이 홀 매니저가 바로 LPLB이며, "최소화"는 문자 그대로의 의미를 갖습니다. LPLB는 최대 GPU당 부하를 최소화 (minimize the maximum per-GPU load) (min-max)하는 것을 목표로 하는 작은 선형 계획법 (linear program, LP) 문제를 해결합니다. 이번 릴리스에서 이와 함께 제공되는 또 다른 밸런서는 Waterfill이지만, SGLang은 이것이 어떻게 작동하는지 상세히 설명하지는 않습니다. 다만 그 이름은 전형적인 워터필링 (water-filling) 휴리스틱 — 부하가 가장 적은 복제본부터 먼저 채우는 방식 — 을 시사하며, 이는 매 단계마다 LP를 실행하는 것보다 가벼운 대안이 될 수 있습니다.
레이아웃을 고정하고 불균형 수치를 살펴보겠습니다 (예시 — 릴리스 보고서에는 엔드 투 엔드(end-to-end) 5배 성능 향상만 명시됨). 예를 들어 8개의 GPU가 하나의 배치를 처리하고 있고, 라우터(router)가 이번 단계 토큰의 **40%**를 단일 GPU에 상주하는 하나의 뜨거운 전문가에게 보내는 반면, 다른 GPU는 단 **5%**만 가져간다고 가정해 봅시다. 해당 GPU가 그 **40%**의 작업을 마칠 때까지 단계는 종료될 수 없으므로, 나머지 7개의 GPU는 단계 시간의 약 1/3 동안 유휴(idle) 상태로 있게 됩니다. 즉, 8개의 GPU를 보유하고 있지만 가장 바쁜 GPU의 속도에 맞춰 움직이게 되는 것입니다. 이제 해당 뜨거운 전문가의 복제본을 3개 배치하고 LPLB가 토큰을 이들에게 분산하도록 하면, GPU당 점유율은 **40%**에서 약 **14%**로 떨어집니다. 이로 인해 장벽 대기(barrier wait) 시간이 급격히 줄어들고, 각 차선은 훨씬 더 비슷한 시점에 작업을 마칩니다. 이 승리의 핵심은 더 빠른 커널(kernel)을 만든 것이 아니라, 불균형이 만들어내던 유휴 시간을 제거한 데 있습니다.
| 전문가 병렬 부하 분산 (Expert-parallel balancing) | 부하 할당 방식 | 스텝당 비용 (Per-step cost) | 균형 품질 (Balance quality) |
|---|---|---|---|
| 정적 / 수동 조정 배치 (Static / hand-tuned placement) | 고정된 전문가→GPU 매핑, 서빙 전 설정 | ~없음 | 데이터 의존적 라우팅(routing) 및 변화하는 환경에서 낮음 |
| ... | |||
이 기술이 진가를 발휘하는 지점은 바로 DeepSeek-V4가 처한 환경입니다. 즉, 수많은 Blackwell GPU에 걸쳐 전문가 병렬성 (expert parallelism)을 사용하여 서빙되는 대규모 MoE (Large MoE) 환경이며, 여기서 all-to-all 통신과 그 동기화 장벽 (sync barrier)은 각 디코딩 (decode) 스텝에서 주요 비용을 차지합니다. 이번 릴리스의 핵심 성과인 **동일한 상호작용성(interactivity)에서 5배 높은 처리량 (throughput)**은 굿풋 (goodput)에 대한 주장입니다. 즉, 단 한 명의 사용자도 더 오래 기다리게 만들지 않으면서 초당 더 많은 토큰을 생성한다는 의미입니다. 이를 일곱 개의 차선이 하나를 기다리는 대신, 모든 차선이 함께 끝나는 상황으로 이해하십시오. 동일한 하드웨어에서 유휴 시간 (idle time)을 훨씬 줄인 것입니다.
관련 설명 자료
- SGLang v0.5.12 — TokenSpeed MLA backend — 이전 SGLang 릴리스로, **스케줄링 (scheduling)**의 승리가 아닌 **커널 레벨 (kernel-level)**의 캐시 쓰기(cache-write) 승리입니다.
- Manifold Power Iteration — MoE router alignment — MoE의 또 다른 균형 문제: 전문가가 어디서 실행되는가가 아니라, 토큰이 어떤 전문가를 선택하는가(라우터 설계)에 관한 내용입니다.
- GLM-5.2 — active vs total parameters — MoE 서빙이 왜 독자적인 영역인지에 대한 설명: 거대한 전체 가중치(total weights)를 가지지만, 토큰당 활성 연산량(active compute)은 작습니다.
FAQ
LPLB (선형 계획법 부하 분산, linear-programming load balancing)란 무엇인가요?
LPLB는 SGLang v0.5.14에 추가된 선형 계획법 부하 분산기 (Linear-Programming Load Balancer)입니다. 전문가 병렬화 (expert parallelism) — 즉, 전문가들이 여러 GPU에 분산되어 있는 — 방식으로 혼합 전문가 (mixture-of-experts, MoE) 모델을 서빙할 때, 라우터 (router)가 각 전문가에게 불균형하고 단계별로 변하는 수의 토큰을 보내게 되어 일부 GPU는 과부하가 걸리는 반면 다른 GPU는 유휴 상태가 됩니다. LPLB는 부하가 몰리는 '핫 전문가 (hot experts)'의 중복 복제본 (redundant replicas)을 유지하며, 매 단계마다 현재 토큰 수에 대해 작은 선형 계획법 (linear program) 문제를 풀어 모든 전문가의 부하를 복제본들에 분산시킴으로써 GPU당 최대 부하를 최소화합니다. 부하를 균등하게 맞추면 각 디코드 (decode) 단계를 제어하는 all-to-all 동기화 장벽 (sync barrier)에서의 대기 시간이 줄어듭니다.
왜 전문가 병렬 MoE 서빙에 부하 분산이 필요한가요?
전문가 병렬화는 GPU들이 독립적으로 작동하는 것이 아니라, 하나의 단계를 함께 완료하게 만들기 때문입니다. 모든 레이어는 토큰을 해당 전문가의 GPU로 보내고 결과를 다시 가져오는 all-to-all 연산을 수행하며, 이 장벽 (barrier)은 가장 느린 GPU를 기다립니다. 토큰-전문가 라우팅 (token-to-expert routing)은 데이터에 의존적이며 매 배치 (batch)마다 변하기 때문에, 해당 단계에서 가장 인기 있는 전문가를 보유한 GPU가 모든 GPU의 병목 현상 (bottleneck)이 되며, 나머지 GPU들은 그 차이만큼 유휴 시간으로 낭비하게 됩니다. 부하 분산이 없다면 GPU를 더 추가하더라도 핫 전문가가 여전히 하나의 GPU에 머물러 있기 때문에 상황이 더 악화될 수도 있습니다. SGLang은 NVIDIA GB300에서 DeepSeek-V4를 구동할 때, 부하를 균등하게 맞춘 후 동일한 상호작용성 (interactivity) 기준에서 5배의 처리량 (throughput) 향상을 기록했다고 보고했습니다.
LPLB는 Waterfill, 그리고 MoE 라우터와 어떻게 다른가요?
Waterfill과 LPLB는 이번 릴리스에 포함된 두 가지 전문가 병렬 (expert-parallel) 밸런서로, 둘 다 각 단계(step)의 토큰 부하를 전문가 복제본(expert replicas) 전체에 분산하는 것을 목표로 합니다. SGLang은 LPLB에 대해 상세히 설명하고 있습니다. LPLB는 매 단계마다 적은 비용으로 정밀한 최소-최대 균형 (min-max balance)을 위해 선형 계획법 (linear program, LP)을 해결합니다. 반면 Waterfill의 내부 동작 방식은 명시되어 있지 않습니다. 그 이름은 고전적인 워터필링 (water-filling) 휴리스틱 (부하가 가장 적은 복제본을 먼저 채우는 방식)을 시사하며, 이는 LP 해결 방식보다 더 가벼운 대안이 될 수 있습니다. 두 방식 모두 MoE 라우터 (MoE router)와는 다릅니다. 라우터는 각 토큰이 어떤 전문가에게 가야 할지를 결정하는 반면 (모델 출력에 관한 품질적 선택), 밸런서는 선택된 전문가의 중복된 복제본들 중 실제로 작업이 어디에서 실행될지를 결정합니다 (GPU 활용에 관한 서빙 선택).
원문은 Learn AI Visually에 게시되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기