SparseEngine, 장문맥 에이전트를 위한 희소 우선 추론 엔진
장문맥 LLM 에이전트에서는 대화 턴, 도구 호출, 중간 작업 결과가 계속 기록으로 남습니다. 이 기록을 KV 캐시에 보관하면 문맥이 길어질수록 GPU 메모리 사용량과 어텐션 계산 비용이 함께 증가합니다. 희소 어텐션이나 KV 제거는 부담을 줄일 수 있지만, 방법마다 캐시 배치 방식과 보존 규칙, 실행 흐름이 달라 기존 범용 추론 엔진에 통합하기가 어렵습니다.
SparseEngine은 이 문제를 개별 최적화가 아니라 추론 서빙 아키텍처의 문제로 다룹니다. 희소 추론을 출발점으로 엔진을 새롭게 구성하고, 공통 수명주기 계약을 도입했습니다. 각 방법은 KV 상태를 어떻게 표현할지, 어떤 항목을 남길지, 계산을 어떻게 수행할지를 직접 제어할 수 있습니다. 반면 요청 처리에 필요한 상태 전환은 공통 서빙 인프라가 조정합니다. 방법별 캐시 로직과 스케줄링, 요청 관리 같은 공통 기능을 분리하려는 접근입니다.
핵심 내용
- 네 가지 범주에 속한 15개 방법을 지원해 서로 다른 캐시 표현과 작업 흐름을 다룹니다.
- Chain Cache는 요청 간 상태 관리를 가능하게 합니다. KV 제거 방법은 보존된 기록에서 처리를 이어갈 수 있어, 매 요청마다 전체 문맥을 다시 구성하는 부담을 줄입니다.
- 제어 가능한 Prefix-Cache Pruning은 지정한 기록 영역의 KV를 삭제하면서도 논리적 프리픽스 매칭을 유지합니다.
- 논문 초록은 KV 제거 환경에서 10배 이상의 처리량, 동일 동시성에서 vLLM 대비 2.5배 이상의 디코딩 속도, 에이전트 벤치마크에서 2배 이상의 엔드투엔드 속도 향상을 보고합니다. 다만 제공된 자료에는 하드웨어, 모델, 세부 측정 조건이 없으므로 이 수치는 해당 평가 설정 안에서 해석해야 합니다.
이 연구의 중요한 지점은 희소 추론을 단순히 어텐션 커널을 빠르게 만드는 기술로만 보지 않는다는 데 있습니다. 장문맥 에이전트에서는 한 번의 계산을 줄이는 것만으로 충분하지 않습니다. 여러 관련 요청 사이에서 상태를 저장하고, 복원하고, 잘라내고, 재사용해야 합니다. SparseEngine의 계약 기반 구조는 희소 방법마다 별도의 실행 시스템을 만드는 부담을 줄이고, 다양한 KV 표현을 하나의 서빙 틀에서 실험할 가능성을 제공합니다.
물론 보고된 속도 향상이 모든 워크로드에서 동일하게 나타난다고 볼 수는 없습니다. 실제 효과는 모델 구조, 기록 분포, 캐시 적중률, 동시성, 품질 저하 허용 범위에 따라 달라질 수 있습니다. 그럼에도 이 프로젝트는 장문맥 에이전트 인프라에서 KV 상태의 수명주기 관리가 어텐션 연산 자체만큼 중요한 설계 대상이라는 점을 보여줍니다. 구현 코드는 https://github.com/CURRENTF/SparseEngine 에 공개되어 있습니다.
댓글
로그인 상태 확인 중…
댓글 불러오는 중…