리눅스 PSI(Pressure Stall Information) 기능을 활용하여 대규모 언어모델(LLM)의 KV(Key-Value) 캐시를 효율적으로 관리하는 'KV-psi'라는 새로운 프로젝트가 공개되었습니다. 이 기술은 시스템 메모리 압박이 발생할 때 LLM의 KV 캐시를 동적으로 정리(trim)하여, 특히 통합 메모리를 사용하는 젯슨 오린(Jetson Orin)과 같은 엣지 디바이스에서 LLM의 성능을 최적화하는 것을 목표로 합니다.
KV-psi는 리눅스 커널이 제공하는 PSI 정보를 활용합니다. PSI는 CPU, 메모리, I/O 등 시스템 자원에 대한 압박(pressure) 정도를 실시간으로 측정하여 보여주는 기능입니다. KV-psi는 이 PSI 데이터를 모니터링하다가 메모리 압박이 감지되면, LLM의 KV 캐시 중 사용 빈도가 낮은 부분을 제거하여 메모리를 확보합니다. 이는 llama.cpp와 같은 경량 LLM 런타임 환경에서 GGUF 모델을 실행할 때 특히 유용하며, 파이썬(Python) 3.10 이상과 PSI가 활성화된 리눅스 환경에서 구동됩니다. 벤치마크 결과에 따르면, PSI 기반 캐시 정리 방식은 일부 시나리오에서 고정 캐시 방식보다 더 나은 토큰 처리 속도와 효율적인 메모리 사용을 보여주기도 했습니다.
이러한 접근 방식은 제한된 자원을 가진 엣지 디바이스에서 LLM을 구동하는 데 중요한 의미를 가집니다. 기존에는 메모리 부족으로 인해 LLM 추론(inference) 성능이 저하되거나 아예 실행이 불가능한 경우가 많았지만, KV-psi는 메모리 사용량을 동적으로 조절하여 더 많은 모델이나 더 긴 컨텍스트(context)를 처리할 수 있게 합니다. 이는 온디바이스(on-device) AI 애플리케이션 개발자들에게 새로운 가능성을 열어주며, 스마트폰, 임베디드 시스템 등 다양한 엣지 환경에서 LLM 활용을 가속화할 잠재력을 가지고 있습니다.