[Paper] PrefillShare: 다중 LLM 분산 서비스에서 KV 재사용을 위한 공유 Prefill 모듈
발행: (2026년 2월 12일 오후 11:59 GMT+9)
10 분 소요
원문: arXiv
Source: arXiv - 2602.12029v1
Overview
이 논문은 PrefillShare라는 시스템을 소개합니다. 이 시스템은 여러 대형 언어 모델(LLM)이 동일한 프롬프트 접두어로 호출될 때 동일한 “prefill” 연산과 키‑값(KV) 캐시를 재사용하도록 합니다. 각 모델을 공유 프리필 모듈과 모델‑특정 디코드 모듈로 분리함으로써, 저자들은 분산 서비스 환경에서 중복 작업을 크게 줄이고, 꼬리 지연 시간을 감소시키며, 다중 에이전트 워크로드에 대한 처리량을 향상시킵니다.
주요 기여
- Shared Prefill Module: LLM을 새로운 방식으로 분해하여, 다수 모델에 공통적인 고정된 prefill 구성요소와 작업‑특정인 fine‑tuned decode 구성요소로 나눔을 제안한다.
- KV Cache Reuse Across Models: 공유된 prefill이 생성한 KV 캐시를 여러 모델이 재사용하도록 하여, 중복 메모리 및 연산 오버헤드를 제거한다.
- Routing Mechanism for Heterogeneous Models: 모델의 크기나 아키텍처가 다르더라도 들어오는 프롬프트를 적절한 공유 prefill 인스턴스와 매칭시키는 경량 라우터를 설계한다.
- Integration with Disaggregated Serving: vLLM의 분산 아키텍처 위에 PrefillShare를 구현하여, prefill과 decode를 서로 다른 GPU에 배치함으로써 간섭을 추가로 감소시킨다.
- Empirical Gains: PrefillShare가 전체 fine‑tuning 정확도를 유지하면서도 실제 다중‑모델 에이전트 시나리오에서 95번째 백분위수 지연을 약 4.5배 낮추고, 처리량을 약 3.9배 높이는 것을 입증한다.
방법론
-
모델 팩터라이제이션
- 각 LLM은 미리 정의된 레이어 경계에서 분할됩니다.
- prefill 부분(분할까지의 레이어)은 대규모 코퍼스에 대한 짧은 공동 사전 학습 후 고정됩니다.
- decode 부분(남은 레이어)은 다운스트림 작업이나 에이전트별로 미세 조정됩니다.
-
KV 캐시 생성 및 공유
- 프롬프트가 들어오면 공유된 prefill 모듈이 공통 프리픽스를 한 번 처리하여 KV 캐시(Attention 키/값)를 생성합니다.
- 해당 프리픽스에서 이어야 하는 모든 decode 모듈은 동일한 KV 캐시를 읽어 재계산을 피합니다.
-
라우팅 로직
- 경량 라우터가 프롬프트 프리픽스를 해시하여 적절한 공유 prefill 인스턴스를 선택합니다.
- 요청이 decode 모듈이 호환되는 모델(동일한 분할 지점, 유사한 은닉 차원)을 대상으로 하면 라우터가 KV 캐시를 직접 전달하고, 그렇지 않으면 개인 prefill으로 대체합니다.
-
분산 배포
- prefill은 “prefill GPU” 집합에서 실행되고, 각 decode 모듈은 자체 “decode GPU”에서 실행됩니다.
- 이 분리는 무거운 prefill 행렬 곱셈과 가벼운 decode 단계 간의 경쟁을 줄이며, 전통적인 단일형 서빙 스택에서 알려진 병목 현상입니다.
-
평가 설정
- 벤치마크는 여러 오픈소스 LLM 패밀리(예: LLaMA‑7B, Falcon‑40B)와 다운스트림 작업(질문 답변, 요약, 툴 호출 에이전트)을 포괄합니다.
- 측정 지표는 정확도(전체 미세 조정과 비교), 95번째 백분위수 지연(p95), 처리량(초당 쿼리 수) 등을 포함합니다.
결과 및 발견
| 지표 | 기준 (전체 파인튜닝) | PrefillShare |
|---|---|---|
| 작업 정확도 | 100 % (참조) | ≈ 100 % (측정 가능한 감소 없음) |
| p95 지연시간 | 1.2 s (다중 모델 워크로드) | 0.27 s (≈ 4.5배 빠름) |
| 처리량 | 120 qps | 470 qps (≈ 3.9배 증가) |
| KV 메모리 절감 | 모델당 1× | 모델당 ~0.2× (공유) |
주요 시사점
- 정확도 패널티 없음 – 프리필 모듈을 고정하고 디코드만 파인튜닝함으로써 전체 파인튜닝된 모델과 동일한 성능을 다양한 작업군에서 유지합니다.
- 지연시간 감소는 주로 반복적인 프리필 패스를 없애고, 분리 덕분에 프리필‑디코드 간 간섭이 감소함으로써 발생합니다.
- 처리량 향상은 동일한 사용자 프롬프트로 다수의 모델이 호출되는 에이전트 중심 워크로드(예: 다중 도구 오케스트레이션)에서 더욱 증폭됩니다.
실용적 시사점
- 비용 절감: 클라우드 제공자는 프리필 단계에서 GPU 인스턴스를 적게 사용해, 다수의 특화된 LLM을 띄우는 서비스의 하드웨어 비용을 낮출 수 있습니다.
- 확장 가능한 에이전트 아키텍처: 여러 작업‑특정 모델(검색, 계획, 코드 생성)을 체인하는 AI 에이전트를 구축하는 개발자는 이제 비용이 많이 드는 프롬프트 인코딩 단계를 공유할 수 있어, 실시간 다중‑에이전트 파이프라인이 가능해집니다.
- 배포 간소화: 프리필과 디코드를 분리함으로써 운영팀은 많은 다운스트림 모델에 서비스를 제공하는 전용 “프리필 노드”를 할당할 수 있어, 오케스트레이션 복잡성을 줄일 수 있습니다.
- 메모리 효율성: 공유 KV 캐시를 통해 모델당 메모리 사용량이 크게 감소하여 GPU당 모델 밀도를 높이고, 동일 하드웨어에서 더 큰 앙상블을 제공할 수 있는 길을 엽니다.
- 기존 스택과 호환성: PrefillShare는 vLLM‑스타일 서빙 프레임워크에 플러그인 형태로 연결되므로, 팀은 추론 파이프라인을 재작성하지 않고도 도입할 수 있습니다.
제한 사항 및 향후 연구
- 모델 호환성 제약: 프리필 공유는 모델들이 분할 지점까지 동일한 아키텍처(예: 동일한 hidden size)를 공유해야 합니다. 토크나이저나 레이어 차원이 다른 이종 모델은 여전히 별도의 프리필 패스가 필요합니다.
- 라우팅 오버헤드: 해시 기반 라우터가 작은 지연 요소를 추가합니다; 수천 개의 동시 에이전트로 확장하려면 보다 정교한 로드 밸런싱 전략이 필요할 수 있습니다.
- 미세 조정 범위: 디코드 부분만 미세 조정됩니다; 초기 레이어 표현에 크게 의존하는 작업은 약간의 정확도 감소를 겪을 수 있으며, 현재 평가에서는 이를 충분히 탐색하지 않았습니다.
- 보안 및 격리: 모델 간 KV 캐시 공유는 다중 테넌트 환경에서 모델 간 데이터 유출에 대한 우려를 불러일으킵니다; 향후 작업에서는 암호화 또는 샌드박스 메커니즘을 도입할 수 있습니다.
- 멀티모달 모델로 확장: 이 논문은 텍스트 전용 LLM에 초점을 맞추고 있습니다; PrefillShare를 비전‑언어 또는 오디오‑언어 모델에 적용하려면 더 풍부한 토큰 스트림과 더 큰 KV 구조를 처리해야 합니다.
저자
- Sunghyeon Woo
- Hoseung Kim
- Sunghwan Shim
- Minjung Jo
- Hyunjoon Jeong
- Jeongtae Lee
- Joonghoon Kim
- Sungjae Lee
- Baeseong Park
- Se Jung Kwon
- Dongsoo Lee
논문 정보
- arXiv ID: 2602.12029v1
- 카테고리: cs.LG, cs.DC
- 출판일: 2026년 2월 12일
- PDF: PDF 다운로드