llama-server의 버그로 인해 프로세스 재시작 후 첫 번째 쿼리에서 재수화된 KV 캐시가 버려지고 전체 프롬프트 재프리필이 수행되어 저장/복원 기능이 무용지물이 됩니다. 근본 원인은 체크포인트 메타데이터가 디스크에 영구 저장되지 않아 서버가 유효한 캐시 위치로 롤백할 수 없기 때문입니다.

  • 수정 사항으로 슬롯 저장 시 체크포인트 메타데이터를 버전 지정된 사이드카 파일에 영구 저장하고 복원 시 이를 다시 로드합니다.
  • 이로 인해 서버는 재계산 대신 델타 쿼리에 대해 캐시된 상태를 재사용할 수 있게 됩니다.
  • 벤치마크 결과, 델타 프리필은 약 720배, 전체 재프리필 대비 엔드투엔드 재개는 약 167배의 속도 향상이 나타났습니다.
  • 이 패치는 llama-cpp-turboquant 포크의 PR #206에서 사용할 수 있습니다.

이 변경으로 재시작 후 캐시된 상태가 실제로 활용되도록 보장하여, 예산이 제한된 하드웨어에서 장기 컨텍스트 작업의 의도된 기능을 복원합니다.