← 목록 Hydra

Hydra: 전문가 인기도를 활용해 칩렛 시스템에서 MoE 추론을 가속하기

Siqi He, Haozhe Zhu(교신) 외 (Fudan University, SKLICS · Shaoxin Laboratory)

DAC 2025 (62nd ACM/IEEE Design Automation Conference) · HW/SW 코디자인 · 22 nm 칩렛 가속기

🎯 한 문단 요약

MoE는 희소 게이팅으로 LLM을 키우지만, 칩렛(MCM)에 올리면 두 가지 새 병목이 생긴다 — 전문가들이 칩렛에 흩어져 토큰을 주고받는 all-to-all 통신(MoE layer 런타임의 최대 74.9%)과, (un)permutation·gating의 비효율 연산(평균 62.7%). Hydra는 이를 SW·HW 코디자인으로 동시에 푼다. SW에서는 인접 layer 간 전문가 선택의 상관성을 이용해 다음 layer의 전문가 인기도를 미리 예측하고, 인기 전문가를 토큰이 몰린 칩렛 근처에 배치하는 popularity-aware 매핑(simulated annealing)으로 통신을 줄인다. HW에서는 CAM 병렬검색으로 O(S²M) sparse matmul permutation을 O(E)+S번 이동으로 대체하고, softmax skipping으로 불필요한 지수·나눗셈을 제거한다. 22 nm 4×4 칩렛으로 GPU(RTX 3090) 대비 지연 14.2×↓·전력 169.1×↓, SOTA MoE 가속기(FLAME) 대비 지연 3.5×↓·전력 18.9×↓. 정확도 손실 없음.

14.2×
지연 감소 (vs RTX 3090 GPU, 전력 169.1×↓)
3.5×
지연 감소 (vs SOTA 가속기 FLAME, 전력 18.9×↓)
2.9×
세 기법 합친 전체 가속 (baseline 타임라인 대비)
74.9% → ↓
MoE layer의 all-to-all 통신 비중을 매핑으로 절감

※ 핵심: 라우팅은 런타임에 동적으로 결정되지만 layer 간 전문가 선택이 상관되어 있어, 직전 layer 결과로 다음 layer 인기도를 예측해 weight 로딩과 겹쳐(prefetch) 매핑을 미리 최적화할 수 있다는 게 발상의 핵심.

핵심 3대 질문

① 무슨 문제를 정의했나 · ② 무엇이 어려웠나 · ③ 어떤 구체적 방법으로 풀었나

① 어떤 문제를 정의했나

칩렛 기반(MCM) 시스템에 MoE를 효율적으로 올리는 것. 구체적으로 칩렛 간 all-to-all 통신MoE layer 내부의 비효율 연산(permutation·gating)이라는 두 병목을 동시에 제거해 추론 지연·전력을 낮추는 것. 그것도 정확도 손실 없이(lossless) 달성하는 것이 목표.

② 무엇이 어려웠나

  • 통신 병목: all-to-all이 MoE layer 런타임의 최대 74.9%. 게다가 라우팅이 일부 전문가(E0·E1)로 편향(skewed)되어 특정 칩렛에 트래픽이 몰림.
  • 동적 라우팅: 어떤 전문가가 인기일지는 런타임에야 결정됨. 실시간 게이팅 결과를 보고 매핑을 바꾸면 weight 로딩과 겹칠 수 없어 오히려 느려진다 → 사전 예측이 필요.
  • 연산 비효율: (un)permutation은 sparse matmul이라 O(S²M), softmax는 지수·나눗셈이 비쌈. 통신 빼고 보면 (un)perm+gating이 런타임의 평균 62.7%.
  • 무손실 제약: token-drop·근사 라우팅 같은 기존 통신 절감책은 모델 성능을 해친다 → 정확도를 건드리지 않아야 함.

③ 어떤 방법으로 풀었나

  • 인기도 예측 + popularity-aware 매핑(SW): 인접 layer 간 전문가 선택의 조건부 확률(상관성)로 다음 layer 인기도를 미리 예측 → 인기 전문가를 토큰이 몰린 칩렛 근처에 두도록 simulated annealing으로 매핑 최적화(통신 hop 최소화).
  • CAM 기반 permutation 엔진(HW): 전문가 인덱스를 CAM에 쓰고 병렬 검색으로 token↔expert 매핑을 만들어, O(S²M) sparse matmul을 O(E) 검색 + S번 데이터 이동으로 대체.
  • Redundant-skipping softmax 엔진(HW): token-wise(모델병렬 그룹 내 동일 토큰은 1/MP만 계산) + expert-wise(argmax로 뽑힌 전문가 외엔 나눗셈 skip) 스킵으로 지수·나눗셈 redundancy 제거(무손실).

1배경: 칩렛 위의 MoE

MoE(Mixture-of-Experts)는 Transformer의 FFN을 여러 전문가로 나누고, 게이트가 각 토큰을 일부 전문가에만 보내는 희소 구조다. 파라미터는 키우되 연산은 조금만 늘려 LLM 확장의 핵심이 됐다. 하지만 모델이 커지면 온칩 메모리 한계로 단일 칩에 다 못 올린다.

그 대안이 멀티 칩렛 모듈(MCM): 작은 칩렛 여러 개를 인터포저로 연결해 용량을 늘리고, 전문가 병렬(EP)로 전문가들을 칩렛에 흩는다. 대신 MoE layer는 4단계 — ❶Gating → ❷Permutation → ❸Computation → ❹Un-permutation — 를 거치고, 전문가가 다른 칩렛에 있으면 토큰을 보내고(dispatch) 받아오는(gather) all-to-all 통신 2회가 필요하다.

칩렛 MoE layer 실행과 all-to-all 통신
Figure 2. MCM에서의 MoE layer 실행 순서. 각 칩렛이 라우터로 토큰을 분류 → all-to-all로 담당 전문가 칩렛에 모으고(dispatch) → 계산 후 다시 흩는다(gather). 라우팅이 E0·E1로 편향되어 일부 칩렛에 데이터 트래픽이 몰리는 게 병목.
핵심 관찰 — 라우팅은 전문가마다 전문 영역이 달라 심하게 편향(skewed)된다. 이는 통신을 불균형하게 만들지만, 동시에 인접 layer 간 전문가 선택에 상관성(correlation)을 만든다. Hydra는 이 상관성을 인기도 예측의 단서로 역이용한다.

2왜 어려운가 (두 가지 병목)

2.1 All-to-all 통신

이 통신 패턴은 네트워크 혼잡을 일으켜 MoE layer 런타임의 최대 74.9%를 차지하는 주 병목으로 알려져 있다. 기존엔 device-limited·topology-aware 라우팅이나 token-dropping으로 통신을 줄였지만, 이는 모델 성능을 떨어뜨리고 추가 학습 오버헤드를 낸다. 또한 라우팅 결정이 런타임에야 정해져 실시간으로 매핑을 바꾸면 weight 로딩과 겹칠 수 없어 손해다.

2.2 비효율 연산

MoE layer 4단계 런타임 분해
Figure 3. 통신을 제외한 MoE layer 4단계 런타임 분해(토큰 길이 S·은닉차원 M 다양). (un)permutation + gating이 평균 62.7%를 차지 — FFN 계산만큼이나 큰 비효율 구간이라 최적화 여지가 크다.
(un)permutation은 einsum 기반 sparse matmul (S×S)×(S×M)이라 복잡도 O(S²M). 데이터 복제로 layout을 바꿔도 O(S²M/E)로 여전히 무겁다.
gating의 softmax는 지수·나눗셈이 지배적인데 거의 최적화된 적이 없다.

3SW: 인기도 인식 전문가 매핑

아이디어는 단순하다 — 인기 전문가를 토큰이 많이 몰린 칩렛 가까이 두면, 더 많은 토큰이 원래 칩렛에 머물러(stay) 칩렛 간 전송이 줄어든다.

clockwise 매핑 vs 인기도 최적화 매핑, 조건부확률 히트맵
Figure 4. (a) 2×2 칩렛 예시: 단순 시계방향 배치는 칩렛마다 5토큰 전송이 필요하지만, 인기도를 고려한 최적 배치에선 3토큰만 전송(더 많은 토큰이 stay). (b) Switch-base-16의 인접 두 MoE layer 간 조건부확률 히트맵 — 전문가 선택이 layer 간 상관되어 있음을 보여줌(예측 근거).

3.1 전문가 인기도 예측

C4 데이터셋 20만 토큰의 라우팅을 추적해 layer 간 전문가 선택의 조건부확률을 구했다. 다음 layer 전문가의 인기도는:

c(En,i) = Σj Pc(En−1,j) × P(En,i | En−1,j)  … 식(1)
Pc(En−1,j) = 칩렛 c에서 직전 layer 전문가 j의 실시간 토큰 빈도,   P(En,i|En−1,j) = 사전에 측정한 조건부확률.

실시간 정보(직전 layer 결과)와 사전 통계(조건부확률)를 곱해 다음 layer 인기도를 미리 안다 → 매핑·prefetch를 weight 로딩과 겹칠 수 있다.

3.2 매핑 = 조합 최적화 (simulated annealing)

예측 인기도를 바탕으로 전문가↔칩렛 매핑을 통신비 최소화 문제로 푼다.

minimize   Σn Σc Σi   h(i, c) × P̃c(En,i)  … 식(2)
h(i,c) = 전문가 i를 둔 칩렛과 칩렛 c 사이 통신비(인터커넥트의 최소 수평+수직 hop 합).

조합 최적화라 simulated annealing(Algorithm 1)으로 푼다: 무작위 배치에서 시작 → 두 전문가를 swap → 비용이 줄면 채택, 온도를 식히며 반복. 이 solver는 Hydra 칩렛에 내장되어, layer n 추론 중 외부 메모리가 layer n+1 전문가를 미리 가져온다(계산-메모리 접근 오버랩).

popularity-aware 전문가 매핑 동작 흐름
Figure 5. 동작 흐름: 각 router가 layer i의 실시간 라우팅 결과를 mapping optimizer에 넘기면 → ❶ layer i+1 인기도 예측 → ❷ 최적 매핑 결정 → 그 매핑대로 layer i+1 전문가를 칩렛에 재배치. 추론과 매핑/prefetch가 layer 단위로 파이프라인된다.
"by considering the popularity of experts on each chiplet, an optimal mapping can be derived to either reduce inter-chiplet data transfers or minimize transmission hops ... predicting expert popularity in advance is essential for early expert mapping and prefetching."

4HW: CAM 기반 permutation 엔진

Hydra 칩렛은 2×2 그리드(확장 가능)로 묶이고, 각 칩렛은 16개 PE array·글로벌 SRAM 버퍼·softmax 엔진·CAM permutation 엔진·mapping solver를 갖춘다.

Hydra MCM 전체 구조와 칩렛 설계
Figure 6. (a) Hydra MCM 전체 구조(HBM 결합 칩렛 어레이, GRS 인터커넥트 방향당 100Gb/s) · (b) 단일 Hydra 칩렛 — 16 PE array, Token/Weight/Temp SRAM, auxiliary unit(softmax·LayerNorm·residual), permutation·softmax·mapping optimizer, D2D 인터커넥트.

이 절의 핵심은 그중 permutation 엔진이다. (un)permutation은 토큰을 전문가별로 재배열하는데, 기존엔 sparse matmul이라 O(S²M)로 비싸다. Hydra는 이를 CAM(Content Addressable Memory) 병렬검색으로 대체한다.

CAM 기반 토큰 permutation 엔진
Figure 7. CAM permutation 엔진: 토큰을 작은 linear에 통과 → argmax로 전문가 인덱스를 뽑아 CAM에 저장 → 검색키를 0~E−1로 바꿔가며 매칭하면 각 전문가에 속한 토큰 위치가 bitmask로 나옴 → 주소 생성기가 그 자리만 골라 토큰을 이동/회수.
왜 빠른가 — CAM은 모든 행을 한 번에 비교(병렬검색)하므로 검색 복잡도가 O(E)뿐. 매핑 테이블만 만들면 단 S번의 데이터 이동으로 permutation/un-permutation을 끝낸다. sparse matmul과 중간결과 저장이 통째로 사라져 지연·에너지가 크게 준다.

9T NAND형 CAM(6T SRAM + NAND 로직) 사용. CAM은 디지털 회로보다 병렬검색이 훨씬 에너지 효율적이라, 검색 오버헤드가 MoE의 대량 MAC 연산에 비해 무시할 수준이다.

5HW: 중복 제거 softmax 엔진

softmax는 S×E 행렬의 지수를 모두 구하고 행별 합으로 나눈다. Hydra는 두 종류의 중복을 찾아 건너뛴다(둘 다 무손실).

token-wise / expert-wise skipping softmax 엔진
Figure 8. 하이브리드 skipping softmax 엔진. Token-wise: 모델병렬 그룹 내 칩렛들은 입력 토큰이 동일 → 각 칩렛이 1/MP 토큰만 계산하고 나머지는 다른 칩렛에 분담. Expert-wise: argmax로 뽑힌 target 전문가 외의 원소는 나눗셈을 skip.
데이터 희소성이나 근사에 기대지 않고, MoE 알고리즘·병렬 프레임워크의 구조적 중복만 제거하므로 정확도 손실이 0인 lossless 최적화다.

6실험 결과

22 nm CMOS, 4×4 칩렛(각 칩렛 16 PE array·10.49mm²·934.65mW @500MHz). 모델: Switch Transformer(switch-base-8/16), FP16, C4. 비교: RTX 3090 GPU·Xeon CPU·A100 멀티GPU·SOTA 가속기(Pre-gated MoE, FLAME).

6.1 지연 · 전력 (vs GPU/CPU)

GPU/CPU 대비 지연·전력
Figure 9. 다양한 입력:출력 토큰 길이에서 정규화 (a) 지연 · (b) 전력. Hydra는 GPU 대비 지연 14.2×↓·전력 169.1×↓, CPU 대비 42.4×·357.5×. 매핑(통신↓)·CAM(permutation↓)·softmax skipping(gating↓)이 함께 기여.

6.2 Ablation — 세 기법의 기여

실행 타임라인 2.9× 가속
Figure 11. 실행 타임라인. baseline 대비 SS(softmax skipping)·CAM(permutation)·PAM(인기도 매핑)을 더해 통신(A·F)과 계산(G·P·E)을 겹치고 줄여 전체 2.9× 가속. PAM이 all-to-all을, CAM이 permutation을, SS가 gating을 각각 단축.
1.49×
+PAM 인기도 매핑 (HW 오버헤드 +1.2%뿐)
1.59×
+CAM permutation
1.22×
+SS softmax skipping
2.9×
세 기법 누적 전체 가속

6.3 확장성 · SOTA 가속기 비교

SOTA MoE 가속기와 비교
Figure 13. switch-base-8에서 SOTA MoE 가속기와 비교. Hydra는 GPU·Pre-gated MoE·FLAME 대비 지연 14.2×·11.8×·3.5×↓, 에너지효율 169.1×·141.1×·18.9×↑. 칩렛 구조로 메모리 용량 문제를 풀면서 매핑으로 all-to-all 병목도 완화.

확장성: 칩렛 수 C가 전문가 수 E 이하면 칩렛당 E/C 전문가, C>E면 expert-model 하이브리드 병렬로 전문가를 C/E 칩렛에 분산. 매핑이 대역폭을 최적화해 칩렛을 늘려도 효율적으로 확장된다.

7한계 & 의의

8핵심 용어

MoE / 게이팅 — FFN을 전문가로 나누고 토큰마다 일부 전문가만 활성화하는 희소 구조. 라우터가 argmax로 전문가 선택.

칩렛 / MCM — 작은 다이(칩렛) 여러 개를 인터포저로 연결한 멀티 칩렛 모듈. 단일 칩 메모리 한계를 넘는다.

all-to-all (dispatch/gather) — 토큰을 담당 전문가 칩렛으로 보내고(dispatch) 결과를 회수(gather)하는 집합통신. MoE layer 최대 병목.

(un)permutation — 토큰을 전문가별로 묶고(perm) 원래 순서로 되돌리는(unperm) 단계. sparse matmul이라 O(S²M).

전문가 인기도(popularity) — 한 칩렛에서 각 전문가로 향하는 토큰 빈도. 인접 layer 조건부확률로 미리 예측(식 1).

CAM — Content Addressable Memory. 저장된 모든 행을 검색키와 한 번에 비교(병렬검색)해 위치를 bitmask로 반환.

token-wise / expert-wise skipping — 모델병렬로 중복된 토큰(1/MP만 계산) / 비-target 전문가 나눗셈을 건너뛰는 무손실 softmax 최적화.

simulated annealing — 온도를 식히며 swap을 반복해 조합 최적화 비용을 낮추는 휴리스틱. 전문가↔칩렛 매핑 탐색에 사용.

내 메모

이 논문을 읽고 떠오른 생각·질문·아이디어를 적어두세요. 이 기기 브라우저에 자동 저장됩니다.

두 손가락으로 확대 · 탭하면 닫힘