← 목록 EARTH

EARTH: 엔트로피 인식 speculative prefetch와 패턴 재사용 MoE 가속기

Fangxin Liu, Ning Yang 외 (Shanghai Jiao Tong University · Shanghai Qi Zhi Institute)

ASPLOS '26 · 10.1145/3779212.3790155 · HW–SW co-design 가속기

🎯 한 문단 요약

MoE 추론은 연산은 적지만 expert 파라미터를 메모리에서 불러오는 데이터 이동이 실행시간의 ~88%를 잡아먹는다. 특히 메모리가 빠듯한 하드웨어에서 기존 offloading/prefetch는 정확도 손실·과한 트래픽·디코딩 오버헤드에 시달린다. EARTH는 HW–SW를 함께 설계해 이를 푼다: ① 가중치를 base(상위)·delta(하위)로 쪼개는 dual-entropy 인코딩, ② base만 미리 받고 delta는 중요할 때만 받는(중간 중요도는 LUT로 재사용) speculative prefetch, ③ 이를 지원하는 전용 가속기 + match-and-action 스케줄. 정확도 거의 유지하며 최대 2.10× 가속.

2.10×
최대 end-to-end 가속 (1.56~2.10×)
~88%
기존 MoE에서 expert fetch가 차지하던 시간
−48%
메모리 트래픽 (최대)
1.71×↓
에너지 (vs AdapMoE)

핵심 3대 질문

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

① 어떤 문제를 정의했나

메모리가 제한된 하드웨어에서 MoE 추론을 효율적으로 돌리기. MoE는 expert 파라미터가 너무 커서 전부 온칩에 못 올리고, expert를 불러오는 데이터 이동이 추론 지연의 ~88%를 차지하는 진짜 병목이다. 정확도를 지키면서 이 fetch 비용을 줄이는 게 목표.

② 무엇이 어려웠나

  • 다중 정밀도의 비용: expert마다 민감도가 다른데(어떤 건 견고, 어떤 건 취약), INT8/INT4를 둘 다 저장하면 용량·전송이 2배. 그냥 상위 비트만 자르면 정보 손실이 큼.
  • 버퍼 한계: 온칩 버퍼가 작아 한 번에 소수 expert만 캐시 → 잦은 재로딩.
  • 예측의 한계: 정적/휴리스틱 prefetch는 동적 라우팅을 못 따라가 hit율이 낮고 파이프라인 stall.
  • 병목 이동: base만 미리 받아 잘 풀어도, 이번엔 delta가 로드 시간의 >60%를 차지하는 새 병목이 됨.

③ 어떤 방법으로 풀었나

  • dual-entropy 인코딩: INT8 가중치를 high-info base 4비트 + delta 4비트로 분해(엔트로피가 상위 비트에 집중) → 한 벌만 저장하고 정밀도를 슬라이스로 조절.
  • delta-aware speculative prefetch & reuse: 예측 expert의 base만 미리 로드, 중요 expert만 delta 즉시 fetch, 비중요는 base만, 중간 중요도는 LUT로 delta 패턴 재사용(DRAM 접근 제거).
  • 전용 가속기 + match-and-action: bit-interleaved 저장으로 온칩 expert 수를 2배로, delta 디코딩을 PE 연산과 오버랩해 stall 제거.

1배경 & 문제: fetch가 88%

MoE는 토큰마다 일부 expert만 켜서 연산을 줄이지만, expert 파라미터 수가 워낙 많아(같은 FLOPs dense 대비 최대 75×) 단일 가속기 메모리를 넘어선다. 그래서 자주 안 쓰는 expert를 느린 메모리(CPU/NVMe)로 내리고 필요할 때 가져오는 offloading을 쓰는데, 그 불러오기(fetch)가 병목이다.

MoE 워크플로와 실행시간 분해
Figure 1. MoE 추론 파이프라인(gating→fetch→compute→aggregate)과 시간 분해. expert fetch가 ~88.4%, 연산·게이팅·집계는 합쳐 12% 미만. 즉 병목은 연산이 아니라 데이터 이동.
"expert fetching accounts for ~88% of the total execution time ... data movement, rather than computation, is the dominant bottleneck."

2관찰: 설계의 근거

관찰 1 — expert마다 민감도가 다르다

가중치에 노이즈를 주입해 출력 변화를 보면, 같은 layer 안에서도 expert별 견고성 편차가 크다. 견고한 expert(예: Expert 0)는 노이즈에도 출력이 유지되지만, 취약한 expert(예: 6·7)는 작은 노이즈에도 급격히 망가진다. → 견고한 expert는 더 거칠게 양자화해도 된다는 기회.

expert 민감도 프로파일링
Figure 4. Qwen1.5-MoE에서 노이즈 주입 시 expert 견고성. (a) 전 expert 민감도 분포 — 편차가 큼. (b) 8개 expert의 노이즈 반응 — 견고/취약이 뚜렷이 갈림.

또한 INT8의 상위 비트는 수치 범위를 정하지만 정보 엔트로피는 낮다(상위 비트에 정보가 집중). 이래서 가중치를 base(상위)·delta(하위)로 쪼개는 게 정당화된다.

관찰 2 — prefetch는 효과적이지만 용량 제약

prefetch 예산을 키우면 단계당 로드할 expert 수가 준다(예: DeepSeek-V2-Lite에서 윈도우 6→16일 때 평균 로드 5.22→4.09). 하지만 온칩 메모리·대역폭이 한계다. → 가장 정보가 많은 슬라이스(base)만 미리 받으면 같은 예산으로 더 많은 expert를 prefetch할 수 있다.

3방법: 인코딩 → prefetch → 재사용

3.1 Dual-entropy 인코딩

INT8 가중치 w4비트 base w_b(상위)와 4비트 delta w_d(하위)로 분해: w = (w_b << 4) + w_d. 상위 비트에 정보(엔트로피)가 집중돼 있어 base만으로도 상당한 정밀도를 낸다. 4/4 분할은 1바이트 정렬·PE 폭에 맞아 하드웨어 친화적.

3.2 Delta-aware speculative prefetch

게이팅의 라우팅 이력으로 다음 토큰의 expert를 예측해 base만 FIFO 버퍼에 미리 올린다. 실제 라우팅이 정해지면 3가지로 분기:

  1. Hit + 중요 expert(게이팅 가중치 ≥ 임계): delta를 마저 fetch해 풀정밀도 계산.
  2. Hit + 비중요 expert: delta를 건너뛰고 base만 사용 → 전송 절약(정확도 영향 미미).
  3. Miss: 올바른 expert의 base만 로드(delta는 애초에 투기적으로 안 받았으니 페널티 최소).
speculative prefetch 워크플로
Figure 7. EARTH의 speculative prefetch. (a) 후보 expert의 base를 FIFO에 prefetch. (b) 중요 expert hit → delta 로드. (c) 비중요 expert hit → 캐시된 base만 사용(대역폭 절약). (d) miss → 올바른 base 로드 + FIFO head 폐기.

임계값은 오프라인 보정 — delta 생략으로 인한 정확도 저하가 1%를 넘지 않게.

3.3 Delta가 새 병목 → 패턴 재사용(LUT)

base를 잘 처리하고 나면 이제 delta가 로드 시간의 >60%를 차지한다. 그런데 ⟨base, delta⟩ 패턴이 매우 반복적이다 — 예를 들어 base가 1111인 경우 92.86%가 단 두 패턴이고, 고유 패턴은 모델 크기와 무관하게 수십 개뿐이다.

그래서 자주 나오는 ⟨base→delta⟩LUT(코드북)로 만들어 둔다. 중간 중요도 expert는 fetch한 base로 LUT를 조회해 delta를 DRAM 없이 복원 → delta 트래픽 대폭 감소. LUT는 수십 엔트리라 면적 부담이 거의 없다.

4아키텍처 & 실행 스케줄

EARTH 가속기는 16개 PE(각 16 DPU)로 된 compute core, base/delta로 나뉜 bit-interleaved weight buffer, 게이팅 모듈, 전용 dispatcher들로 구성된다. 런타임엔 W_base와 LUT 엔트리만 가져와 필요할 때 W_delta를 복원(디코딩을 미룸).

EARTH 가속기 아키텍처
Figure 9. EARTH 아키텍처. (a) 게이팅 모듈 + 토큰/가중치 버퍼 + 16-PE compute core + dispatcher/output collector. (b) 데이터플로우: 온칩 타일링, expert 파라미터 bit-interleaving, LUT 기반 base/delta 복원.

Match-and-Action 타임라인

단순 MoE는 fetch가 PE를 놀린다. prefetch는 일부 완화하나 버퍼·miss에 막히고, bit-interleaving은 hit율은 올리지만 delta fetch가 여전히 stall을 만든다. EARTH는 base만 prefetch해 온칩 expert 수를 2배로 늘리고, match(LUT로 base 디코딩) → action(복원 가중치를 PE로 디스패치)을 연산과 겹쳐 파이프라인 버블을 없앤다.

실행 타임라인 비교
Figure 11. (a) 네 방식의 타임라인 — Simple/Prefetch/Bit-interleave/EARTH. EARTH는 prefetch + match-and-action으로 메모리·연산을 거의 완전히 오버랩. (b) 오프라인에 base/delta 분리·LUT 생성, 런타임에 match&action.

5실험 결과

RTL(Verilog, TSMC 28nm, 250MHz) + cycle-accurate 시뮬 + CACTI 메모리 모델. 16 PE, 16MB weight buffer, HBM2E 256GB/s. 모델: Mixtral-8x7B / Qwen1.5-MoE-A2.7B / DeepSeek-V2-Lite. baseline: EdgeMoE·AdapMoE·DAOP·HybriMoE·APTMoE.

End-to-end 속도 (CER = 캐시 가능한 expert 비율)

추론 성능 비교
Figure 12. cache 비율(CER)별 정규화 지연 + speedup. 모든 모델·모든 CER에서 EARTH가 최저 지연. 특히 빠듯한 캐시에서 격차가 큼.
모델이상 speedup실제 speedup이상 대비compute-transfer overlap
Mixtral2.32×2.10×90.5%89%
Qwen2.21×2.06×93.2%91%
DeepSeek1.83×1.72×94.0%86%

구성요소 기여 (ablation) & 정확도

에너지 & 면적

에너지·면적 분석
Figure 13. (a) DeepSeek 워크로드 정규화 에너지 — EARTH가 AdapMoE 대비 1.71× 절감(DRAM 0.57×, SRAM 0.68×). (b) 면적(총 27.52mm²): PE array 77.55%, accumulator 15.26%, EARTH가 추가한 LUT+제어는 6.08%뿐.

6한계 & 의의

7핵심 용어

Offloading — 안 쓰는 expert를 느린 메모리(CPU/NVMe)에 두고 필요 시 가져오는 기법.

Prefetch — 쓰일 것 같은 expert를 미리 불러와 fetch 지연을 숨김.

Dual-entropy 인코딩 — 가중치를 정보 많은 base(상위)·보정용 delta(하위)로 분해.

Expert sensitivity — 양자화/노이즈에 대한 expert별 취약도. 높을수록 정밀도 보존 필요.

Gating weight — 게이팅이 매기는 expert 중요도 점수. delta를 받을지 결정에 사용.

LUT 패턴 재사용 — 반복되는 ⟨base→delta⟩를 표로 만들어 delta를 DRAM 없이 복원.

Match-and-Action — (match) LUT로 base 디코딩 → (action) PE로 디스패치, 연산과 오버랩.

CER (Cached Expert Ratio) — 온칩에 올릴 수 있는 expert 슬롯 / 전체 expert 비율.

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