서울대 연구진, KVGuard로 vLLM·SGLang KV 캐시 오류 8건 찾아
서울대 연구진이 제시한 KVGuard는 vLLM·SGLang의 KV 캐시에서 요청별 블록 권한과 항목별 초기화 상태를 추적하는 검사기입니다. 논문은 과거 오류 29건을 재현하고 새 위반 8건을 찾았으며, Qwen 2.5 14B 평가에서 TPOT 오버헤드는 기하평균 기준 vLLM 3.0%, SGLang 7.4%라고 보고했습니다.
AI, 개발 도구, 오픈소스, 보안과 인프라의 변화와 이용 조건을 설명하는 최신 기사와 해설입니다.
서울대 연구진이 제시한 KVGuard는 vLLM·SGLang의 KV 캐시에서 요청별 블록 권한과 항목별 초기화 상태를 추적하는 검사기입니다. 논문은 과거 오류 29건을 재현하고 새 위반 8건을 찾았으며, Qwen 2.5 14B 평가에서 TPOT 오버헤드는 기하평균 기준 vLLM 3.0%, SGLang 7.4%라고 보고했습니다.
Valen의 대여 검사기는 함수 본문을 뒤에서 앞으로 훑으며 참조의 사용, 선언, 변경을 추적합니다. 글은 이 방식이 마지막 사용 지점을 찾고 반복문을 처리하는 데 편리하다고 설명하지만, 반복문 처리에는 별도 규칙이 필요하며 검사기의 기능도 아직 완성되지 않았습니다.
Valen은 참조가 가리키는 데이터의 경로를 컴파일러가 추적해 해제 뒤 사용(use-after-free)을 막는 대여 검사 방식을 제안합니다. Rust의 ‘공유 또는 변경’ 규칙 대신 무효화 여부를 검사해 같은 객체를 가리키는 여러 참조의 읽기와 쓰기를 허용하며, Rust 상호운용과 참조 카운팅 지원도 내다봅니다.
Rust를 먼저 배운 개발자가 C를 익히며 마주친 차이를 불리언, 문자열, 정수 폭, 오류 처리, 배열, 포인터 사례로 설명합니다. C의 동작을 이해하고 메모리·플랫폼 관련 실수를 피하는 데 도움이 되는 입문용 비교 글입니다.
비싼 값을 캐시에 저장할 때 Arc를 쓰면 값 전체를 복제하지 않고 공유할 수 있지만, Arc 안의 특정 변형만 가리키는 Arc를 만들기는 어렵습니다. 글은 Pin과 자체 참조 구조체를 이용한 투영 방법을 제안하며, 댓글에서는 투영 함수의 soundness 문제와 Arc만으로 주소 안정성을 확보하는 방안을 지적합니다.