거대 MoE 모델을 가정용 GPU에서 빠르게 돌리려고 라우터를 캐시 친화적으로 학습시켜봤지만, 정확도 손해 없이는 안 됐다는 정직한 실패 보고
arXiv:2608.182612026-08-20
Cacheable by Design? Training Mixture-of-Experts Routers for Locality Against the Edge Memory-Bandwidth Wall: A Pre-Registered Negative Result with a Systems Measurement Study
거대 MoE 모델을 가정용 GPU에서 빠르게 돌리려고 라우터를 캐시 친화적으로 학습시켜봤지만, 정확도 손해 없이는 안 됐다는 정직한 실패 보고
저자는 2350억 파라미터 MoE 모델(Qwen3-235B)을 8GB급 소비자 GPU에서 돌리면 연산이 아니라 메모리 대역폭이 병목임을 실측으로 증명했다. 이어서 라우터(어떤 전문가 모듈을 쓸지 정하는 부분)가 자연스럽게 갖는 '국소성(자주 같은 전문가를 재사용하는 경향)'을 아예 학습 단계에서 강화하면 캐시 적중률을 크게 올릴 수 있는지 사전에 가설과 판정 기준을 등록해두고 실험했다. 결과는 캐시 미스는 최대 60%까지 줄었지만 언어모델 품질(perplexity, 낮을수록 좋음)이 미리 정한 허용치(1%)를 모든 설정에서 넘어서 실패로 판정됐다.
METAL MEDIA 해설 도표
거대 MoE 모델을 가정용 GPU에서 빠르게 돌리려고 라우터를 캐시 친화적으로 학습시켜봤지만, 정확도 손해 없이는 안 됐다는 정직한 실패 보고
01Qwen3-235B(4비트 양자화, 134GB)를 SSD에서 스트리밍하며 서빙했을 때 초당 0.44토큰이라는 실측치가 '토큰당 읽어야 할 바이트 수 ÷ 대역폭' 이론식과 정확히 일치함을 확인했고, 배치를 32까지 늘려 여러 요청을 묶어 디스크 읽기를 나눠 쓰려는 시도는 오히려 페이징(운영체제가 메모리 부족으로 디스크와 데이터를 주고받는 현상) 병목으로 무너졌다
02llama.cpp를 수정 없이 확장한 자체 계측 도구(llama-moe-trace)로 Qwen3-30B 모델의 라우터가 실제로 어떤 전문가를 선택하는지 추적해, 인접 토큰끼리 같은 전문가를 우연보다 2배 더 재사용하고, 트래픽의 95%가 전체 전문가의 52.5%에 몰리며, 코드 도메인은 다른 도메인과 거의 겹치지 않는다는 구조를 발견했다
03이 국소성을 학습 손실 함수에 명시적으로 추가한 137M~340M 규모의 소형 MoE 모델을 사전 등록된 기준(캐시 미스 30% 이상 감소 및 perplexity 손해 1% 이내)으로 검증했으나, 미스 감소와 품질 손해가 강하게 얽혀 있어 어떤 가중치를 골라도 두 조건을 동시에 만족시키지 못했다
04반면 학습 없이 추론 시점에서만 캐시에 있는 비슷한 전문가로 살짝 바꿔 라우팅하는 기법(training-free rerouting)을 국소성 학습된 모델과 결합하면, 두 방법을 각각 쓸 때보다 훨씬 저렴한 비용(약 3.4% perplexity 손해)으로 캐시 미스를 약 80% 줄이는 상승효과를 137M과 340M 모델 모두에서 확인했다
METAL MEDIA이 원문을 바탕으로 재구성한 해설 도표이며, 논문 저자의 원문 figure가 아닙니다.
무엇을 했나
Qwen3-235B(4비트 양자화, 134GB)를 SSD에서 스트리밍하며 서빙했을 때 초당 0.44토큰이라는 실측치가 '토큰당 읽어야 할 바이트 수 ÷ 대역폭' 이론식과 정확히 일치함을 확인했고, 배치를 32까지 늘려 여러 요청을 묶어 디스크 읽기를 나눠 쓰려는 시도는 오히려 페이징(운영체제가 메모리 부족으로 디스크와 데이터를 주고받는 현상) 병목으로 무너졌다
llama.cpp를 수정 없이 확장한 자체 계측 도구(llama-moe-trace)로 Qwen3-30B 모델의 라우터가 실제로 어떤 전문가를 선택하는지 추적해, 인접 토큰끼리 같은 전문가를 우연보다 2배 더 재사용하고, 트래픽의 95%가 전체 전문가의 52.5%에 몰리며, 코드 도메인은 다른 도메인과 거의 겹치지 않는다는 구조를 발견했다
이 국소성을 학습 손실 함수에 명시적으로 추가한 137M~340M 규모의 소형 MoE 모델을 사전 등록된 기준(캐시 미스 30% 이상 감소 및 perplexity 손해 1% 이내)으로 검증했으나, 미스 감소와 품질 손해가 강하게 얽혀 있어 어떤 가중치를 골라도 두 조건을 동시에 만족시키지 못했다
반면 학습 없이 추론 시점에서만 캐시에 있는 비슷한 전문가로 살짝 바꿔 라우팅하는 기법(training-free rerouting)을 국소성 학습된 모델과 결합하면, 두 방법을 각각 쓸 때보다 훨씬 저렴한 비용(약 3.4% perplexity 손해)으로 캐시 미스를 약 80% 줄이는 상승효과를 137M과 340M 모델 모두에서 확인했다
Table 1: Memory hierarchy on the test machine (i9-12900, RTX 3070 8 GB, 32 GB DDR4, WD SN530 NVMe). The 4-bit 235B model is 134 GB; only ∼40 GB fits the fast tiers.
Tier
Bandwidth
Capacity
Share of 134 GB model
VRAM (GDDR6)
∼448 GB/s
8 GB
6%
System RAM (DDR4)
∼50 GB/s
32 GB
24%
NVMe SSD (PCIe 3, DRAM-less)
∼2.4 GB/s
≫
∼70%
Table 2: Serving measurements, Qwen3-235B-A22B Q4_K_M. Aggregate throughput at batch B across concurrent streams. The union-of-experts model predicts aggregate rate should rise with B; it does to B=8 then collapses.
Condition
Measured
Model
Decode, single stream (warm)
0.441 tok/s
—
Decode, single stream (cold)
0.128 tok/s
0.20 tok/s
Prefill
0.25 tok/s
—
Aggregate, B=1
0.128 tok/s
0.112
Aggregate, B=8
0.189 tok/s
0.20
Aggregate, B=32
0.087 tok/s
0.35
Table 3: Routing profile of Qwen3-30B-A3B (llama-moe-trace, 8k tokens × 4 domains). Cache hit rates at the 235B’s 13.4% fast-memory budget (layer 24, code domain).
Metric
Value
P(expert reused at next token)
0.444 (chance 0.223, 2.0×)
Working set (95% of traffic)
52.5% of experts
LRU hit rate @ 13.4% budget
65.9%
LFU hit rate @ 13.4% budget
60.1%
Static-pin hit rate @ 13.4% budget
59.2%
Belady oracle @ 13.4% budget
79.1%
Table 4: Cross-domain expert-usage similarity (Qwen3-30B-A3B). Code’s expert set is nearly disjoint from the others.
code
general
math
medical
code
1.00
0.16
0.14
0.11
general
0.16
1.00
0.33
0.42
math
0.14
0.33
1.00
0.35
medical
0.11
0.42
0.35
1.00
Table 5: Main results (200M tokens/arm). Metrics averaged over prose/code/math. “hit” is the fraction of expert-loads already resident.
run
arm
λ
PPL
reuse
LRU hit@25%
static hit@50%
a-main (s1)
A
—
32.0
0.336
0.494
0.747
a-main (s2)
A
—
31.9
0.312
0.480
0.734
b-l02
B
0.02
32.0
0.407
0.564
0.794
b-l03
B
0.03
32.5
0.451
0.608
0.817
b-main (s1)
B
0.05
32.6
0.634
0.788
0.930
b-main (s2)
B
0.05
32.9
0.635
0.796
0.933
c-main
C
—
32.9
0.470
0.733
0.991
Table 6: Scale rung. Locality tax (arm A baseline vs arm B λ=0.05 at τ=0) and the stacked training-free rerouting point (τ=0.5 on arm B), at 137M and 340M; same 200M-token budget, cap=25% experts, LRU, seed 1. The tax does not shrink with scale; the stacking advantage persists.
locality tax (τ=0)
stacked (τ=0.5)
size
ΔPPL
miss red.
ΔPPL
miss red.
137M
+2.0%
59%
+2.4%
80%
340M
+2.5%
57%
+3.4%
82%
Table 7: Per-domain metrics, baseline (A) vs. locality (λ=0.05), each averaged over 2 seeds. “hit@25%” is LRU; “static@50%” is static-pin.
arm
domain
PPL
ΔPPL
reuse
hit@25%
static@50%
A (λ=0)
prose
63.9
—
0.285
0.432
0.765
A (λ=0)
code
4.7
—
0.384
0.544
0.722
A (λ=0)
math
27.3
—
0.303
0.486
0.738
B (λ=0.05)
prose
65.8
+3.0%
0.619
0.777
0.930
B (λ=0.05)
code
4.7
+0.0%
0.685
0.829
0.954
B (λ=0.05)
math
27.8
+1.8%
0.599
0.771
0.912
Table 8: Complete run log. Metrics averaged over prose/code/math.
run
arm
λ
tokens
PPL
reuse
LRU hit@25%
static@50%
a-sanity
A
—
50M
69.3
0.307
0.469
0.731
b-l05
B
0.05
50M
69.5
0.644
0.809
0.957
b-l01
B
0.01
50M
67.7
0.354
0.518
0.779
b-l20
B
0.20
50M
70.1
0.861
0.855
0.977
a-main s1
A
—
200M
32.0
0.336
0.494
0.747
a-main s2
A
—
200M
31.9
0.312
0.480
0.734
b-l02
B
0.02
200M
32.0
0.407
0.564
0.794
b-l03
B
0.03
200M
32.5
0.451
0.608
0.817
b-main s1
B
0.05
200M
32.6
0.634
0.788
0.930
b-main s2
B
0.05
200M
32.9
0.635
0.796
0.933
c-main
C
—
200M
32.9
0.470
0.733
0.991
Table 9: Hyperparameters (identical across arms; only the router-loss weights λ,μ differ).
Model
Optimization
dmodel
384
optimizer
AdamW (β=0.9,0.95)
layers
8
weight decay
0.1
attention heads
6
peak LR
6×10−4
experts E
16
schedule
one-cycle, 2% warmup
top-k
2
grad clip
1.0
expert dff
768
precision
bf16 autocast
vocab (GPT-2 BPE)
50257
batch × seq
8×1024
total / active params
137M / 38M
balance weight α
0.01
context length
1024
domain weight μ
0.1
왜 중요한가
이 결과는 '라우터를 캐시 친화적으로 학습시키면 공짜로 속도를 얻는다'는 낙관적 아이디어가 최소한 소형 모델·다중 도메인 환경에서는 성립하지 않는다는 것을 사전에 정한 엄격한 기준으로 보여준 정직한 실패 사례다. 동시에 학습과 추론 시점 기법을 함께 쓰는 조합이 실질적으로 더 유망하다는 실용적 방향과, 대역폭·전문가 사용 구조를 재현 가능하게 측정하는 도구와 코드를 공개했다는 점에서 후속 연구의 기준점이 된다.
이 논문의 용어
MoE(Mixture-of-Experts) · 여러 개의 전문가 신경망 중 일부만 골라 쓰는 구조로, 전체 파라미터는 크지만 토큰마다 일부만 계산에 사용한다
라우터 · 각 토큰마다 어떤 전문가 모듈을 사용할지 결정하는 신경망 부분
메모리 대역폭 병목 · 연산 속도가 아니라 데이터를 메모리에서 읽어오는 속도가 느려서 전체 속도가 제한되는 현상
perplexity · 언어모델이 다음 단어를 얼마나 잘 예측하는지 보여주는 지표로 낮을수록 성능이 좋다