CachyLLama: 로컬 에이전트 워크플로우를 위한 지속 가능한 SSD 기반 KV 캐싱 지원 llama.cpp 포크
요약
CachyLLama는 로컬 에이전트 실행 시 발생하는 프롬프트 처리 병목 현상을 해결하기 위해 SSD 기반 KV 캐싱을 지원하는 llama.cpp 포크입니다. 중급 사양 하드웨어에서 시스템 프롬프트와 대화 기록을 디스크에 저장하여 재사용함으로써 프롬프트 평가 시간을 획기적으로 단축합니다.
핵심 포인트
- SSD 기반 지속 가능한 KV 캐시로 서버 재시작 후에도 상태 유지
- 정적 접두사를 위한 전용 시스템 프롬프트 캐시 지원
- 하이브리드 MoE/SSM 아키텍처의 순환 상태 추적 및 복구
- RAM과 디스크를 활용한 멀티 티어링 방식으로 I/O 최적화
- 대규모 프롬프트 처리 시 콜드 스타트 대비 압도적인 속도 개선
로컬 에이전트 기반 코딩 하네스(Aider, Claude Code 등)를 실행한다면, 프롬프트 평가(prompt evaluation)가 실행 시간의 대부분을 차지하는 경우가 많습니다. 매 턴마다 시스템 프롬프트(system prompts), 도구 스키마(tool schemas), 대화 기록과 같은 수천 개의 동일한 접두사 토큰(prefix tokens)을 다시 평가해야 하기 때문입니다. CachyLLama는 생성 속도는 괜찮지만 프롬프트 처리(prompt processing)가 매우 느린 중급 사양 하드웨어 및 APU에서 이러한 병목 현상을 해결하기 위해 특별히 제작된 llama.cpp 포크입니다.
주요 특징:
- 지속 가능한 디스크 기반 KV 캐시(Persistent On-Disk KV Cache): 대화 체크포인트를 SSD에 저장합니다. 상태가 서버 재시작 및 전원 사이클 후에도 유지되며, 콜드 스타트(cold start) 시 디스크에서 복구됩니다.
- 전용 시스템 프롬프트 캐시(Dedicated System Prompt Cache): 정적 접두사(static prefixes)를 위해 대화 간 공유 가능한 글로벌 캐시를 유지합니다. 후속 요청은 재평가 과정을 완전히 건너뜁니다.
- 하이브리드 MoE/SSM 지원: 하이브리드 아키텍처(Qwen 3.5/3.6, Gemma 4, GLM-4.7, DeepSeek-V3)를 위해 어텐션 셀(attention cells)과 함께 순환 상태(recurrent state)를 적절히 추적하고 복구합니다.
- 멀티 티어링(Multi-Tiering): 활성 상태는 RAM에 유지하고, 유휴 세션은 디스크로 내리며(demote), 커널 리드어헤드(kernel readahead)를 사용하여 디스크 I/O와 연산 작업을 중첩시킵니다.
공식 벤치마크 (AMD Ryzen 7840U / 780M)
참고: CachyLLama는 토큰 생성 자체를 가속화하는 것이 아니라, 중복된 프롬프트 처리 오버헤드를 제거하는 데 집중합니다.
- 프롬프트 크기 ~1,243 토큰: 콜드 스타트 9.3s, 웜(캐시됨) 0.41s
- 프롬프트 크기 ~15,700 토큰: 콜드 스타트 143.1s, 웜(캐시됨) 0.99s
submitted by /u/UsedMorning9886 [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기