Speculating Experts Accelerates Inference for Mixture-of-Experts

이 논문은 메모리 제약 환경에서 CPU-GPU 전송 병목 현상을 해결하기 위해 내부 모델 표현을 활용해 향후 전문가를 예측하여 사전 가져오기를 수행함으로써, MoE 모델의 추론 속도를 최대 14% 향상시키는 방법을 제안합니다.

Vivan Madan, Prajwal Singhania, Abhinav Bhatele, Tom Goldstein, Ashwinee Panda

게시일 2026-03-23
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🏪 비유: 거대한 슈퍼마켓과 바쁜 점원

1. 문제 상황: "무거운 짐을 들고 오느라 시간이 걸려요"
거대한 AI 모델 (예: Qwen3-30B) 은 마치 엄청나게 큰 슈퍼마켓과 같습니다. 이 슈퍼마켓에는 수천 개의 '전문가 코너 (Expert)'가 있는데, 각각은 수학, 코딩, 일반 상식 등 특정 분야의 전문가들입니다.

하지만 우리 집 컴퓨터 (GPU) 는 이 모든 전문가를 한 번에 다 모을 공간이 부족합니다. 그래서 대부분의 전문가들은 **창고 (CPU 메모리)**에 두고, 필요한 사람만 **매장 (GPU)**으로 데려와서 일하게 합니다.

  • 기존 방식 (On-Demand Loading):
    고객이 "수학 문제를 풀어줘!"라고 하면, 점원은 창고로 달려가 "수학 전문가"를 데려와서 일을 시킵니다. 그다음 "코딩 문제를 풀어줘!"라고 하면 다시 창고로 가서 "코딩 전문가"를 데려옵니다.
    • 문제: 창고와 매장 사이를 오가는 이동 시간 (데이터 전송) 이 너무 길어서, 실제 일하는 시간보다 이동 시간이 훨씬 더 길어집니다. 마치 요리사가 재료를 다듬는 시간보다 마트에서 장보러 가는 시간이 더 긴 상황입니다.

2. 해결책: "내일의 메뉴를 미리 예상해서 준비하기"
이 논문은 **"다음에 누가 필요할지 미리 예측해서, 계산이 진행되는 동안 미리 데려오자"**는 아이디어를 제시합니다.

  • 새로운 방식 (Expert Prefetching):
    점원이 지금 "수학 문제"를 풀고 있을 때, AI 는 "아, 다음 질문은 아마 코딩 문제일 거야"라고 미리 추측합니다.
    • 기적 같은 일: 점원이 지금 수학을 풀고 있는 동안, 다른 직원은 이미 창고에서 "코딩 전문가"를 데려와서 준비해 둡니다.
    • 결과: 계산이 끝나는 순간, 코딩 전문가가 바로 옆에 대기하고 있어서 이동 시간이 0 이 됩니다. 기다리는 시간이 사라진 것입니다.

🔍 이 기술의 핵심 3 가지

1. "내면의 신호"로 미래를 읽다 (Quasi-Hidden State)
AI 가 다음에 어떤 전문가를 부를지 어떻게 알까요?
AI 가 문제를 풀고 있는 중에도, 그 내부에서 흐르는 '생각의 흐름 (데이터)'을 분석합니다. 이 흐름을 보면 "다음 단계는 수학 전문가가 필요할 것 같다"는 신호가 이미 나옵니다.

  • 비유: 요리사가 국을 끓이고 있는데, 국물 냄새를 맡아 "다음엔 소금이나 후추를 넣어야겠다"라고 미리 알아채는 것과 같습니다.

2. "틀려도 괜찮아" (Speculative Execution)
만약 AI 가 "다음은 코딩 문제야"라고 예측했는데, 실제로는 "역사 문제"였다면 어떨까요?
기존 방식은 "아, 틀렸네. 다시 창고로 가서 역사 전문가를 데려와야지"라고 해서 시간을 낭비합니다.
하지만 이 연구는 **"일단 코딩 전문가를 불러서 일하게 해보자"**고 합니다.

  • 비유: 비가 올 것 같아서 우산을 챙겼는데, 안 왔다고 해서 우산을 다시 창고로 가져가는 게 아니라, 그냥 우산을 들고 있는 동안 다른 일을 하는 것입니다. 만약 틀렸다면, 그 전문가가 한 일은 버리고 다시 시작하면 되지만, 대부분의 경우 예측이 맞거나 큰 지장이 없기 때문에 전체 속도가 빨라집니다.

3. "약한 예측을 보강하는 보조교사" (Lightweight Estimator)
어떤 모델은 처음 몇 단계에서 예측을 잘 못합니다. 이때는 아주 작고 간단한 '보조 교사 (Neural Estimator)'를 붙여줍니다. 이 교사는 다음 단계의 전문가를 더 정확하게 예측하도록 훈련되어, 예측 실패를 줄여줍니다.

🚀 실제 효과는?

이 기술을 적용한 결과, AI 가 한 마디를 내뱉는 데 걸리는 시간 (TPOT) 이 최대 14% 빨라졌습니다.

  • 기존: 창고로 이동하는 시간이 전체 시간의 80% 이상을 차지했습니다.
  • 이제: 이동 시간이 계산 시간과 겹쳐서 (중첩되어) 사라졌기 때문에, 훨씬 더 빠르게 응답합니다.

💡 요약

이 논문은 **"AI 가 다음에 무엇을 할지 미리 예측해서, 기다리는 시간을 계산하는 시간으로 바꿔버리는 기술"**입니다.

마치 요리사가 재료를 다듬는 동안, 도우미가 다음 재료를 미리 씻어놓는 것과 같습니다. 이렇게 하면 요리사 (GPU) 는 멈추지 않고 계속 일할 수 있어, 전체 요리 속도가 훨씬 빨라집니다. 덕분에 일반 가정용 컴퓨터에서도 무거운 AI 모델을 더 빠르고 부드럽게 사용할 수 있게 되었습니다.