ADRS를 이용해 MoE 추론의 핵심 구성요소인 전문가 병렬 부하 분산(EPLB)을 최적화하고, OpenEvolve가 인간 전문가의 고도화된 알고리즘을 능가하는 지그재그 배치 휴리스틱과 텐서 벡터화를 발견해 5.0배 속도 향상을 달성한 사례를 소개합니다.
🗓️ 게시일: 2025년 10월 23일
🛠
이 글은 다양한 시스템에서 성능을 최적화하기 위해 ADRS를 적용하는 사례 연구 시리즈의 첫 번째 글입니다. 본 포스트에서는 대규모 언어 모델(LLM) 추론의 핵심 구성요소를 최적화하는 과정을 다룹니다. 구체적으로, OpenEvolve가 독자적으로 고도화된 알고리즘을 발견하고, 인간 전문가가 설계한 알고리즘을 능가하여 5.0배 속도 향상을 달성하는 방법을 보여줍니다.
👩💻코드:
최신 LLM의 막대한 규모는 Mixture-of-Experts(MoE)와 같은 아키텍처 덕분에 관리 가능합니다. 이 모델에서 라우터는 입력의 각 토큰을 소수의 특화된 "전문가" 네트워크로 동적으로 보냅니다. 덕분에 전체 파라미터의 일부만으로 요청을 처리할 수 있어 추론 효율이 크게 개선됩니다. 그러나 이 아키텍처는 전문가 간 부하를 균형 있게 분산하는 것이 성능의 핵심 과제로 떠오릅니다.
피할 수 없이 일부 전문가는 더 인기가 많아 "핫"해지고, 그로 인해 계산 병목이 발생합니다. 핫 전문가를 호스팅하는 GPU는 과부하가 걸리는 반면, 다른 GPU는 유휴 상태로 남아 소중한 리소스가 낭비됩니다(그림 1).

그림 1. 불균형한 MoE 시스템: 밝은 노란색 점은 "핫" 전문가를 나타내며, 부하 불균형과 GPU 미활용을 보여줍니다. "물리적 전문가"는 GPU에 상주하는 모델 가중치를 의미하며, 다음 그림에 설명된 것처럼 EPLB가 없는 일반적인 "논리적" 전문가와 그 복제본을 모두 포함할 수 있습니다.
ALT
해결책은 전문가 병렬 부하 분산기(EPLB)입니다. 이는 전문가를 GPU 전반에 동적으로 재배치하여 부하 불균형을 최소화하고 시스템 처리량을 극대화하는 알고리즘입니다. 기본적인 EPLB 알고리즘은 세 단계로 동작합니다.
(i) 노드 전반에 전문가 그룹을 분배해 부하를 균형화
(ii) 핫 전문가에 대한 복제본 생성
(iii) 이러한 복제본을 GPU에 배치해 부하 균형을 추가로 극대화
주어진 워크로드, MoE 설정, 그리고 일부 GPU가 있을 때, EPLB 알고리즘은 각 전문가의 복제본 수를 결정하고 이를 GPU에 매핑합니다.
EPLB 알고리즘의 목표는 두 가지입니다.
EPLB 알고리즘은 실제 LLM 서빙의 비용과 성능에 직접적인 영향을 미칩니다(그림 2).

그림 2. EPLB 알고리즘 하에서 부하를 균형화하면 GPU를 더 충분히 활용하여 비용을 낮추고 더 나은 LLM 서빙 성능을 제공할 수 있습니다. 이 그림에서는 64개의 논리적 전문가와 16개의 복제된 전문가가 있습니다.
ALT
더 나은 EPLB 알고리즘을 탐색하기 위해 두 가지 기준선을 고려합니다.
먼저, DeepSeek의 오픈소스 EPLB 구현을 평가합니다. 이는 탐욕적 빈 패킹 전략을 사용합니다: 전문가를 부하가 큰 순으로 정렬한 뒤, 용량이 남아 있는 가장 적게 로드된 GPU에 차례로 배치합니다(그림 3a, 예시 1). 단순하지만, 이 해법은 Python으로 작성되어 있고 최적 GPU를 찾기 위해 for 루프를 사용한 선형 탐색에 의존하므로 느립니다. 평균적으로 전문가 재균형에 약 540ms가 소요되며, GPU당 생성된 토큰의 평균/최대 비율로 계산한 부하 균형 계수는 0.66입니다.
이 기기에서는 이 동영상 형식(mp4)을 재생할 수 없습니다.
예시 1. 원래 EPLB 알고리즘은 가장 무거운 전문가를 가장 적게 로드된 GPU에 단계적으로 탐욕적으로 배치하며, 느린 Python for 루프로 구현되어 있습니다.
ALT
또한, 우리가 접근할 수 있는 프런티어 연구소의 비공개 참조 구현도 고려합니다. 이 구현은 명시적 반복을 피하고 재균형 알고리즘의 런타임을 19.6ms로 줄이면서 오픈소스 알고리즘과 동일한 균형 계수를 달성합니다.
우리는 OpenEvolve를 적용해 EPLB 알고리즘을 탐색합니다. 분산 GPU 추론 엔진을 모사하는 시뮬레이터를 사용하며, 이는 PyTorch로 구현된 MoE 모델용입니다. 워크로드는 ShareGPT와 GSM8K 데이터셋의 부하 변화를 모델링합니다. 최적화 목표는 두 가지입니다. 부하 균형 계수(즉, GPU당 생성된 토큰의 평균/최대 비율)를 최대화하고, 부하가 변할 때 전문가를 재균형하는 알고리즘의 실행 시간을 줄이는 것입니다. 이에 따라, 알고리즘의 평가는 부하 균형 계수와 실행 시간의 역수를 가중 평균해 점수가 높을수록 더 우수한 알고리즘으로 간주합니다.
OpenEvolve 실행에는 Gemini 2.5 Flash 80%와 Gemini 2.5 Flash Lite 20%의 조합을 사용합니다. 탐색은 300회 반복으로 제한하며, 초기 프로그램으로 탐욕적 오픈소스 구현에서 시작합니다. 전체 진화에는 약 5시간이 걸렸고 비용은 10달러 미만이었습니다.

그림 3. 초기 탐욕 정책과 최종 진화된 휴리스틱의 나란한 비교. 진화된 정책의 핵심 혁신 포인트가 강조 표시되어 있습니다.
ALT
OpenEvolve가 생성한 새로운 알고리즘은 선형 for 루프를 대체하는 영리한 휴리스틱을 발견했습니다. 명시적 빈 패킹 대신, 전문가 인덱스를 나타내는 텐서를 리셰이프하고 전치하며, PyTorch의 빠른 텐서 연산을 활용해 부하가 큰 GPU와 가벼운 GPU 사이를 지그재그(또는 "스네이크") 패턴으로 번갈아가며 배치합니다. 핵심 아이디어는 고부하 전문가와 저부하 전문가의 배치를 교대로 배치하여 GPU 슬롯 전반에서 자연스럽게 인터리브되도록 하는 것입니다(그림 3b, 예시 2). OpenEvolve는 향상된 정렬 로직과 더 적응적인 리셰이프 전략 등 미묘한 개선도 도입했습니다. 그 결과 알고리즘은 다른 기준선과 동일한 부하 균형 계수를 유지하면서 런타임을 단 3.7ms로 줄였고, 내부 참조 구현 대비 5.0배 속도 향상을 달성했습니다.
이 기기에서는 이 동영상 형식(mp4)을 재생할 수 없습니다.
예시 2. 새로운 지그재그 패턴은 전문가를 GPU에 배치하는 데 단순하지만 효과적인 휴리스틱을 사용하여, 종종 최적에 가까운 배열을 이룹니다. 이는 빠른 PyTorch 벡터화 연산으로 구현할 수 있습니다.
ALT
그림 4는 시간이 지남에 따라 진화가 어떻게 진행되었는지를 보여줍니다. 궤적은 런타임을 개선하는 두 가지 큰 단계로 특징지을 수 있습니다. 첫째, Python for 루프를 PyTorch 텐서 연산으로 대체한 것, 둘째, 지그재그 배치 패턴을 발견한 것입니다. 흥미롭게도 지그재그 패턴을 처음 도입했을 때는 즉각적인 이득이 없었습니다—불균형 계수가 때때로 악화되고 재배치 비용이 출렁였습니다. 돌파구는 AI가 단지 지그재그 휴리스틱을 사용하는 데 그치지 않고, 알고리즘의 여러 단계에 걸쳐 체계적으로 적용하는 법을 학습했을 때 찾아왔으며, 이로써 런타임이 크게 줄었습니다.

그림 4. EPLB에 대한 OpenEvolve의 진화 진행 상황.
ALT
반면, 전문가 복제 단계는 진화 내내 가장 불안정했습니다. 시스템은 사용량이 가장 낮은 전문가를 복사하거나, 인기 있는 전문가를 과도하게 복제하거나, 비례 분배를 시도하는 등의 전략 사이에서 오락가락했습니다. 이러한 실험은 점수를 개선하는 경우가 드물었고, 궁극적으로 과부하가 걸린 전문가만 복제한다는 직관적인 규칙이 우세했습니다. 결과적으로 많은 반복이 비생산적이었으며, 주요 속도 향상은 PyTorch의 배치 연산과 지그재그 레이아웃을 활용한 전역 재구성 로직에서 나왔습니다.
요약하면, OpenEvolve는 지그재그 파티셔닝 기법을 독립적으로 재발견하고 완전히 활용했으며, 그 결과 동일한 부하 균형 계수를 유지하면서 5.0배 속도 향상을 달성한 진화된 EPLB 알고리즘을 얻었습니다.
이 사례 연구에서 달성된 5.0배 속도 향상은 새로운 연구 패러다임의 강력한 증거입니다. 불과 5시간 만에, ADRS 프레임워크는 보통 전문가 엔지니어가 며칠에서 몇 주를 소비할 법한 최첨단 해법을 발견했으며, 발견을 가속화한다는 ADRS의 핵심 약속을 입증했습니다. 중요한 점은, AI가 루프를 벡터화된 텐서 연산으로 대체하는 등의 엔지니어링 최적화와, 지그재그 파티셔닝 기법을 발견한 근본적인 알고리즘 개선을 모두 제공했다는 것입니다. 우리는 이 최적화된 알고리즘을 대중적인 오픈소스 LLM 추론·서빙 엔진인 vLLM에 통합할 예정입니다. 정교한 계산 전략을 고안하는 능력은 ADRS가 단순한 블랙박스 튜닝을 넘어, 시스템에 AI를 적용하는 복잡한 실제 문제를 해결할 수 있음을 보여줍니다. 이번 MoE 부하 분산 탐구는 향후 몇 주에 걸쳐 공유할 여러 심층 사례 연구 중 첫 번째로, 이 새로운 프레임워크의 변혁적 잠재력을 계속 입증해 나가겠습니다.