TL;DR
작성자는 llama.cpp에서 vLLM으로 옮긴 경험을 바탕으로 vLLM과 LMcache가 KV cache를 RAM이나 DISK에 저장해 긴 agent 요청의 반복 prefill을 건너뛸 수 있다고 기록했습니다. DSpark와 patch가 필요한 DFlash2를 사용한 테스트에서는 coding token decode가 비투기적 설정보다 거의 2~3배 빨랐습니다. 그러나 Prefix-Caching과 hybrid model을 함께 사용할 때 MTP의 KV cache head가 오염되고 오류가 누적되어 출력 전체가 손상되는 버그가 발생한 것으로 추정됐습니다. vLLM 0.27.1에서 수정됐을 가능성이 있지만, 작성자는 장시간 작업을 통한 추가 확인이 필요하다고 밝혔습니다.
합의점 vs 논쟁점
논쟁점
- DSpark와 DFlash2 조합의 거의 2~3배 속도 향상은 작성자의 테스트 결과이지만, 테스트 조건과 반복 측정값이 공개되지 않아 일반적인 성능으로 확정하기 어렵습니다. 또한 vLLM 0.27.1에서 Prefix-Caching과 MTP KV cache 오염 문제가 해결됐다는 판단도 장시간 작업 몇 건에 근거한 잠정 결론입니다. 따라서 해당 버그 수정 여부와 lossless decoding의 실제 동작은 별도 재현이 필요합니다.
실용적 조언
- 100~200k 토큰 이상을 사용하는 agent 작업에서는 vLLM과 LMcache를 함께 구성해 반복 prefix의 KV cache를 RAM이나 DISK에 보존하는 방식을 우선 검토할 수 있습니다. DSpark와 DFlash2를 적용할 때는 Prefix-Caching과 hybrid model을 동시에 켠 환경에서 MTP KV cache 오염과 출력 이상이 누적되는지 장시간 작업으로 확인해야 합니다. vLLM 0.27.1을 사용하더라도 작성자의 검증 범위가 제한적이므로 버전과 캐시 설정을 고정한 재현 테스트가 필요합니다.
섹션별 상세
이미지 분석

이미지는 글에서 세부 기록을 모아 둔 저장소의 이름과 주제를 확인하게 해 줍니다. 버전 매트릭스와 증상, Prefix-Caching 실패 모드가 저장소의 주요 내용으로 제시되어 본문에서 말한 디버깅 자료와 직접 연결됩니다.
uraniumchonk/vllm-hybrid-mamba-notes GitHub 저장소의 제목과 vLLM, hybrid Mamba/GDN, MTP, LMCache 관련 설명이 표시된 화면입니다.
용어 해설
- 접두사 캐싱(Prefix-Caching)
- — 긴 입력의 앞부분을 처리한 뒤 생성되는 KV cache를 재사용하는 방식입니다. vLLM에서는 이전 요청의 동일한 prefix를 RAM이나 DISK에 저장하고, 다음 요청에서 해당 구간의 prefill을 건너뛰어 100~200k 토큰 이상을 쓰는 agent 작업의 반복 계산을 줄이는 데 쓰입니다.
- KV 캐시(KV Cache)
- — Transformer가 이미 처리한 토큰의 key와 value 상태를 저장해 다음 토큰 생성에 재사용하는 메모리 구조입니다. 긴 대화나 agent 요청에서는 크기가 커지므로 이를 RAM 또는 DISK에 보존하면 재계산을 피할 수 있지만, 캐시 일부가 손상되면 이후 출력 전체가 잘못될 수 있습니다.
- MTP
- — 한 번에 여러 토큰을 예측해 autoregressive decode를 가속하는 구성 요소입니다. 글에서는 Prefix-Caching이 MTP의 KV cache head를 오염시키는 버그가 누적되면서 최종적으로 출력 전체가 잘못 보이는 현상이 기록됐으며, vLLM 0.27.1에서 수정됐을 가능성이 제기됐습니다.
- DSpark
- — 글에서 vLLM이 지원하는 speculative decoding 관련 구성 요소로 언급됩니다. 작성자의 테스트에서는 speculation을 쓰지 않는 설정과 비교해 coding token decode 속도가 거의 2~3배 빨라졌지만, 해당 속도와 Prefix-Caching 버그의 관계는 별도로 확인되지 않았습니다.
- DFlash2
- — 글에서 vLLM에 patch를 적용해 사용할 수 있는 speculative decoding 관련 구성 요소입니다. 작성자는 DSpark와 함께 테스트했을 때 비투기적 decoding보다 거의 2~3배 빠른 결과를 얻었지만, 이 수치는 개인 테스트이며 추가 확인이 필요하다고 기록했습니다.
언급된 도구
LLM inference를 실행하고 Prefix-Caching, MTP, DSpark 지원을 활용하는 엔진
폐기된 KV cache를 RAM이나 DISK에 저장해 다음 요청의 prefill을 건너뛰도록 하는 캐시 백엔드
작성자가 vLLM으로 옮겨 오기 전에 사용한 LLM 실행 도구
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.