요약
에이전트 LLM 워크플로우에서 모델은 도구를 호출한 뒤 외부 실행 결과를 기다린다. 이 대기 구간 동안 GPU HBM에 남아 있는 KV 캐시는 아무런 연산도 하지 않으면서 메모리를 점유한다. MORI(Memory Offloading for agentic Reasoning and Inference)는 이 유휴 구간(idle window)을 정확히 감지해 KV 캐시를 CPU DRAM으로 선제적으로 이동시키고, 도구 실행이 끝나 다음 토큰 생성이 시작되기 전에 되돌려 놓는 시스템이다. UC Berkeley·Stanford·Renmin University·Georgia Tech 연구팀이 2026년 5월에 공개한 이 논문은, Claude Code·GitHub Copilot 수준의 실제 에이전트 워크플로우 추적을 기반으로 20–71% 처리량 향상, 18–43% TTFT(Time-To-First-Token) 단축을 보고한다.
에이전트 추론의 메모리 병목
동기 실행 모델의 낭비
현재 대부분의 LLM 추론 서버(vLLM, TGI 등)는 동기 실행 모델을 따른다. 모델이 <tool_call> 토큰을 생성하면 추론 엔진은 외부 실행 결과가 올 때까지 해당 요청을 중단하고, GPU HBM 위의 KV 캐시를 그 자리에 붙들어 둔다. 도구 실행 시간은 수십 밀리초에서 수 초까지 다양하다.
Claude Code 워크플로우 추적을 분석하면, 전체 세션 시간의 중앙값 63%가 도구 실행 대기 상태였다. 즉 GPU는 시간의 절반 이상을 메모리를 점유한 채 아무것도 하지 않는다.
KV 캐시 크기 문제
긴 컨텍스트 에이전트 요청에서 KV 캐시 하나가 수십 GB에 달하는 경우도 있다. HBM 용량이 80GB인 H100 한 장에 여러 에이전트 세션이 동시에 올라가면, 유휴 세션의 KV 캐시가 활성 세션의 배치 크기를 압박한다.
MORI의 설계
핵심 아이디어: 유휴 스펙트럼
MORI는 도구 호출마다 유휴 확률(idleness probability)을 추정한다. 단순한 이진 판단이 아니라, 과거 실행 이력·도구 유형·컨텍스트 길이를 입력으로 하는 경량 분류기가 연속값으로 된 유휴 스펙트럼 점수를 산출한다.
점수가 높을수록 오프로딩 우선순위가 높아진다. 이 스펙트럼 설계 덕분에 시스템은:
- 짧게 끝날 도구 호출(파일 읽기 등)은 HBM에 남긴다.
- 오래 걸릴 도구 호출(웹 검색, 코드 실행 등)은 즉시 DRAM으로 이동시킨다.
동적 경계 이동
MORI의 또 다른 핵심은 동적 경계(dynamic boundary)다. 시스템 전체 메모리 압력에 따라 오프로딩 임계값이 런타임에 조정된다.
- HBM 여유가 충분하면 유휴 스펙트럼 점수가 높은 세션만 오프로드한다.
- HBM 압력이 높아지면 임계값을 낮춰 더 많은 세션을 DRAM으로 내린다.
- 메모리 압력이 극단적이면 NVMe까지 계층을 확장한다.
이 적응형 정책은 기존 vLLM의 정적 LRU 교체보다 활성 배치 크기를 평균 2.1배 유지할 수 있게 해준다.
입장 제어(Admission Control)
무분별한 오프로드는 재로드 지연을 유발한다. MORI는 입장 제어 레이어를 두어, 도구 실행 예상 완료 시간과 PCIe 대역폭을 비교한다. 재로드가 제 시간에 끝날 수 없다고 판단되면 오프로드를 보류한다.
프로그램 인식 스케줄러
에이전트 워크플로우 추적 분석
연구팀은 Claude Code, Cursor IDE, GitHub Copilot 에이전트의 실제 워크플로우 추적 수천 건을 수집해 도구 호출 패턴을 분류했다.
| 도구 유형 | 중앙값 실행 시간 | MORI 처리 |
|---|---|---|
| 파일 읽기 | 8 ms | HBM 유지 |
| 쉘 명령 실행 | 340 ms | 즉시 오프로드 |
| 웹 검색 | 1.2 s | 즉시 오프로드 |
| 코드 인터프리터 | 4.7 s | 즉시 오프로드 + NVMe 고려 |
멀티-턴 컨텍스트 보존
에이전트 세션은 여러 번의 도구 호출을 거치면서 컨텍스트를 누적한다. MORI는 세션별로 KV 캐시 전체를 하나의 단위로 관리하며, 오프로드-재로드 과정에서 어텐션 계산에 필요한 모든 레이어가 빠짐없이 복원됨을 보장한다.
성능 평가
주요 결과 수치
논문이 보고하는 주요 수치는 다음과 같다:
- 처리량: 베이스라인 대비 20–71% 향상. 외부 도구 의존도가 높을수록 개선폭이 크다.
- TTFT: 18–43% 단축. HBM 압력이 낮아지므로 새 요청이 더 빨리 배치에 진입할 수 있다.
- 활성 배치 크기: 동일 HBM 용량에서 평균 2.1배 증가.
- 오프로드 오버헤드: 잘못 예측한 경우(도구가 예상보다 빨리 끝난 경우) 평균 6 ms 추가 지연. 전체 세션에서 차지하는 비율은 1% 미만.
한계와 적용 조건
MORI가 효과를 내려면 다음 조건이 필요하다:
- 도구 실행 시간이 PCIe 오프로드 시간보다 충분히 길어야 한다(최소 수십 ms).
- 에이전트 워크플로우가 실제로 외부 도구를 자주 호출해야 한다.
- CPU DRAM이 오프로드를 받아낼 만큼 충분해야 한다(대형 세션의 경우 수십 GB 필요).
단일 턴 챗봇이나 도구 호출이 드문 워크플로우에서는 개선이 거의 없다.
시스템 통합 관점
vLLM과의 통합
MORI는 vLLM의 PagedAttention 블록 관리자 위에 플러그인 형태로 구현되었다. KV 캐시 페이지를 DRAM으로 이동시키는 연산은 CUDA 비동기 복사를 이용해 토큰 생성과 병렬로 수행된다.
논문은 vLLM v0.4 기반 구현을 공개하며, 기존 서빙 스택 변경 없이 도구 호출 감지 훅만 추가하면 활성화할 수 있다고 설명한다.
다른 오프로딩 기법과의 차이
| 기법 | 오프로드 시점 | 기준 |
|---|---|---|
| 기존 LRU 교체 | 메모리 부족 시 | 최근 사용 시각 |
| 선제적 스왑(일반) | 요청 완료 후 | 요청 상태 |
| MORI | 도구 호출 직후 | 유휴 확률 × 실행 시간 예측 |
기존 LRU는 메모리가 가득 찬 뒤에 반응적으로 동작하므로 이미 배치 크기가 줄어든 상태에서 교체가 일어난다. MORI는 유휴 구간을 선제적으로 활용하므로 HBM을 상시 여유 있게 유지한다.
정리
MORI는 에이전트 LLM 추론이 기존 챗봇 추론과 구조적으로 다르다는 관찰에서 출발한다. 도구 호출 대기라는 불가피한 유휴 구간을 KV 캐시 오프로딩의 기회로 전환함으로써, 추가 하드웨어 없이 동일한 클러스터에서 더 많은 에이전트 세션을 동시에 처리할 수 있다.
에이전트 인프라를 운영하거나 설계하는 엔지니어라면, 도구 실행 대기 중 HBM 활용률 지표를 측정해 보는 것만으로도 MORI 적용 효과를 사전에 가늠할 수 있다.
References
- Zhao et al., "MORI: Memory Offloading for Agentic Reasoning and Inference," arXiv:2606.00866, May 2026. https://arxiv.org/abs/2606.00866
- Kwon et al., "Efficient Memory Management for Large Language Model Serving with PagedAttention," SOSP 2023. https://arxiv.org/abs/2309.06180
- LOTUS: Semantic Operators for LLM-Powered Data Processing. https://github.com/stanford-futuredata/lotus