본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 06. 24. 10:12

CrossPool: KV-Cache 및 가중치 분리를 통한 Cold MoE 모델의 효율적인 Multi-LLM 서빙

요약

Cold MoE 모델 서빙 시 발생하는 GPU 메모리 낭비 문제를 해결하기 위해 가중치와 KV-cache를 분리하는 CrossPool 엔진을 제안합니다. 공유 KV-cache 풀과 계층별 파이프라인 스케줄러를 통해 메모리 효율성을 극대화하고 긴 문맥 요청을 효과적으로 처리합니다.

핵심 포인트

  • FFN 가중치와 KV-cache를 별도의 GPU 메모리 풀로 분리
  • 공유 KV-cache 풀을 통한 동적 수요 대응 및 메모리 낭비 방지
  • 계층별 파이프라인 스케줄러로 hidden-state 전송 오버헤드 은닉
  • P99 TBT(Time Between Tokens)를 최대 10.4배 감소

최근 등장하는 LLM 서비스들은 점점 더 많은 희소 MoE (Mixture-of-Experts) 모델을 호스팅하고 있지만, 대부분의 모델은 요청이 간헐적으로 발생하여 cold 상태로 유지됩니다. 이는 GPU 메모리 문제를 야기합니다. 모델 가중치 (model weights)는 안정적이며 모델에 의해 결정되는 반면, KV-cache는 일시적이며 수요에 의해 결정됩니다. Cold 모델들은 최악의 경우를 가정한 KV-cache 수요가 동시에 발생하는 경우가 드물기 때문에, 모델당 최악의 KV 용량을 예약하는 것은 메모리를 낭비하게 됩니다. 대신 공유 KV-cache 풀 (shared KV-cache pool)을 사용하면 총 활성 수요에 맞춰 프로비저닝할 수 있습니다. 그러나 가중치와 KV-cache가 단일한 GPU 메모리 풀에 남아 있는 경우, KV-cache 공유만으로는 충분하지 않습니다. 정적 가중치 (Static weights)가 동적 KV-cache와 경쟁하게 되며, cold 상태의 저동시성 트래픽 하에서 KV-head-limited attention은 복제된 KV 용량의 일부만을 노출하여, 낮은 GPU 메모리 활용도와 취약한 긴 문맥 (long-context) 지원을 초래합니다. 본 논문에서는 FFN 가중치와 KV-cache를 두 개의 GPU 메모리 풀로 분리하는 cold MoE 모델용 서빙 엔진인 CrossPool을 제안합니다. 이 엔진은 cold 모델 전반의 FFN 가중치를 통합하는 가중치 풀 (weights pool)과, attention을 KV-cache에 로컬하게 유지하면서 활성 요청을 동적으로 처리하는 KV-cache 풀로 구성됩니다. CrossPool은 KV-cache 플래너 (planner) 및 가상화기 (virtualizer), hidden-state 전송을 숨기는 계층별 파이프라인 스케줄러 (layer-wise pipeline scheduler), 그리고 CPU-GPU 제어 오버헤드를 줄이기 위해 control lowering을 적용한 지속성 커널 (persistent kernels)을 결합합니다. 효율적인 GPU 메모리 풀링을 통해, CrossPool은 폭발적인 긴 문맥 요청을 뒷받침하며 최신 KV-cache 기반 multi-LLM 서빙 시스템보다 우수한 성능을 보이며, P99 TBT를 최대 $10.4 imes$까지 감소시킵니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv cs.AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0