뉴스

KVCache Meetup Korea 2026 후기

2026-11-04

JJunghwan Park (PyTorchKR)

행사 개요

지난 2026년 9월 30일 저녁, 한국의 대표 AI/ML 커뮤니티 PyTorchKR과 CXL 전문 스타트업 XCENA가 공동으로 주최한 KVCache Meetup Korea 행사가 진행되었습니다. LMCache 개발사 Tensormesh가 협찬한 이번 행사에서는 XCENA를 비롯하여 SK하이닉스, FuriosaAI, LMCache의 연사들이 LLM 추론과 KV Cache 최적화에 대한 지식과 경험을 공유했습니다.

이 날 발표에서는 CXL로 메모리를 확장하는 방법을 비롯하여 GPU와 HBM의 병목을 분석한 실험, RNGD의 요청 스케줄링, LMCache의 MP Mode 등의 발표가 있었습니다. 하드웨어와 서빙 소프트웨어에서 KV Cache를 각각 어떻게 다루는지 비교해 볼 수 있는 시간이었습니다.

등록과 오프닝

이번 행사는 연사분들로부터 단방향의 지식 전달뿐만 아니라, 참석자들 간의 네트워킹을 통한 교류도 함께 하는 것을 고민하였습니다. 이를 위해 네트워킹에 관심이 있는 참석자들은 미리 준비한 Model, Serving, Infra, Hardware, Memory의 다섯 분야 스티커 중 각자의 관심 분야에 맞는 스티커를 최대 2장을 골라 행사장으로 들어섰습니다.

오프닝은 PyTorchKR 박정환 님과 XCENA 김주현 CPO가 함께 했습니다. 이어 XCENA 이주호 님, SK하이닉스 오세진 님, FuriosaAI 이동훈 님, LMCache의 Baolong Mao 님이 각자의 경험과 접근을 공유했습니다.

세션 발표: ‘CXL과 KV Cache 저장 계층’, XCENA 이주호 님

이주호 님의 「CXL for KVCache」 세션에서는 CXL의 기본 구조와 메모리 확장 방식부터 설명했습니다. CPU가 load/store 명령으로 접근하는 메모리 공간을 넓히고, 여러 호스트가 메모리 풀을 활용하는 구성과 함께 오픈소스 프로젝트 Maru를 소개했습니다. Maru는 XCENA에서 공개한 오픈소스 프로젝트로, LLM 추론 시 CXL의 공유 메모리를 효율적으로 사용하기 위한 고성능 KV Cache Storage Engine입니다.

‘CXL for KVCache’ 슬라이드 옆에서 마이크를 들고 발표하는 XCENA 이주호 님.
‘CXL for KVCache’를 주제로 발표하고 계신 XCENA 이주호 님

KV Cache 저장에서는 CXL 메모리 풀에 DRAM과 SSD를 결합하는 구조를 다뤘습니다. 자주 쓰는 캐시는 DRAM에, 덜 쓰는 캐시는 SSD에 두고, Maru로 추론 엔진과 저장 계층을 연결하는 방식입니다. 이 때, LLM 추론 최적화를 위해서는 캐시를 많이 보관하는 것뿐 아니라 GPU까지 가져오는 경로와 비용도 고려해야 합니다.

MoE 모델의 expert 연산을 GPU와 MX1에 나누는 구성도 소개했습니다. 일부 가중치를 MX1 쪽 메모리에 두고 그 가까이에서 연산하면, 링크를 통해 가중치 전체 대신 Activation과 연산 결과를 주고받을 수 있습니다. 발표는 KV Cache 저장에서 출발해, 가중치의 배치와 데이터 이동을 줄이는 방법까지 다뤘습니다.

세션 발표: ‘GPU 연산과 HBM 대역폭의 병목’, SK하이닉스 오세진 님

오세진 님은 「Analyzing Utilization of GPU and HBM in LLM Serving Systems」에서 prefill과 decode의 자원 사용 양상을 분석했습니다. 프롬프트를 처리하는 prefill과 이후 토큰을 생성하는 decode를 나눠, Roofline 분석 결과를 실제 시스템의 프로파일링과 대조했습니다.

LLM 서빙 시스템 구조도가 표시된 대형 스크린 옆에서 발표하는 SK하이닉스 오세진 님.
‘GPU 연산과 HBM 대역폭의 병목’을 주제로 발표하고 계신 SK하이닉스 오세진 님

H100 두 장, Llama 3.1 8B, vLLM을 사용한 실험에서는 prefill의 주요 projection 구간에서 연산 자원 활용률이 높았고, decode에서는 HBM 대역폭 사용률이 높았습니다. 첫 토큰까지의 시간인 TTFT와 출력 토큰당 시간인 TPOT를 구분해 봐야 하는 이유를 실험으로 설명했습니다.

KV Cache 재사용으로 prefill 연산을 줄인 뒤에는 메모리 대역폭이 병목이 될 가능성도 짚었습니다. 메모리 용량 확대와 대역폭 확대 중 무엇이 더 필요한지는 입력·출력 길이, 배치 크기 등 서비스 조건에 따라 달라집니다.

세션 발표: ‘RNGD의 스케줄링과 KV Cache 관리’, FuriosaAI 이동훈 님

FuriosaAI는 RNGD에서 LLM을 실행하기 위한 자체 추론 엔진인 Furiosa-LLM을 개발하고 있습니다. 이동훈 님은 「LLM Inference Engine for RNGD」에서 엔진을 직접 만들며 겪은 요청 스케줄링과 KV Cache 관리의 엔지니어링 문제를 공유했습니다. 요청을 받아 실행하기까지의 흐름을 따라 PagedAttention, Continuous batching, Chunked prefill을 설명하고, 실행할 텐서 형태를 미리 컴파일하는 버킷(bucket) 구조를 소개했습니다.

‘Next: sharing the cache beyond one node’ 슬라이드와 prefill·decode에서 NPU로 이어지는 도식을 설명하는 FuriosaAI 이동훈 님.
노드 밖으로 KV Cache를 공유하는 경로를 설명하는 FuriosaAI 이동훈 님

요청을 한 배치로 묶으면 처리량이 늘어나지만, 더 큰 버킷이 필요해져 지연 시간이 늘어날 수도 있습니다. Furiosa-LLM은 실제 장치에서 실행 비용을 측정해, 두 배치를 따로 처리할 때보다 비용이 낮으면 병합합니다. 배치 크기뿐 아니라 요청별 문맥 길이와 패딩 비용까지 반영하는 방식입니다.

캐시 재사용의 이득과 전송 비용을 비교한 사례 발표도 있었습니다. 발표 자료에서 12,370토큰 프롬프트를 요청 하나씩, 조건별 세 차례 측정했을 때 호스트 캐시를 가져와 첫 토큰을 생성하는 데 약 92ms, 다시 계산하는 데에는 약 900ms 정도가 소요되었습니다. 이러한 조건에서는 호스트에서 가져오는 편이 빨랐습니다. 전송을 연산과 레이어 단위로 겹치는 방법도 설명했으며, 효과는 전송량과 대역폭에 달려 있었습니다. 네트워크 공유 캐시와 프리필/디코드(Prefill/Decode) 분리와 같은 실험적 기능과 향후 확장 방향 등도 함께 소개했습니다.

세션 발표: ‘LMCache: 멀티플랫폼 아키텍처 기반의 통합 KV 캐시 관리 계층’, LMCache Baolong Mao 님

LMCache Maintainer 겸 Core Architect인 Baolong Mao 님은 「A Unified KV Cache Management Layer with Multi-Platform Architecture」를 주제로 발표를 진행하셨습니다. LMCache는 Tensormesh를 설립한 팀이 만든 오픈소스 KV Cache 프로젝트입니다. 여러 추론 엔진과 저장소·하드웨어를 연결하는 LMCache의 구조, 특히 캐시 관리를 추론 엔진 내부에서 별도 프로세스로 분리하는 MP Mode를 설명했습니다.

‘A Unified KV Cache Management Layer with Multi-Platform Architecture’ 슬라이드 옆에서 발표하는 LMCache Baolong Mao 님.
통합 KV Cache 관리 계층과 MP Mode를 소개하는 LMCache Baolong Mao 님

MP Mode에서는 CUDA IPC로 GPU 메모리를 공유하고, 프로세스 사이에는 블록 ID 같은 제어 정보를 전달합니다. 노드 안의 공유 CPU 메모리 풀로 중복 저장을 줄이고, 여러 저장 계층을 병렬로 조회·로딩하는 구성도 소개했습니다. 추론 연산과 캐시 I/O를 분리해 자원 경합을 줄이려는 설계입니다.

배포와 운영에 필요한 내용도 다뤘습니다. Kubernetes 배포, 캐시 적중률과 수명 주기 모니터링, 추론 엔진과 캐시 프로세스의 장애 격리, 외부 플러그인을 통한 저장소 및 장치 확장 등이 포함됐습니다.

질의응답 및 네트워킹

세션 발표 후에는 연사들이 함께 무대에 올라 참석자들의 질문에 답하는 시간을 가졌습니다. 프리필/디코드(Prefill/Decode) 분리와 혼합 배칭의 차이, LMCache와 vLLM 내장 캐시 기능의 역할, MP Mode의 다중 노드 확장 계획 등을 포함하여 다양한 발표 내용이 질문으로 나왔습니다.

질의응답 시간 후에는 다양한 분야에서 일하는 참석자들이 삼삼오오 모여 이야기를 나누는 네트워킹 시간을 가졌습니다. 등록 시에 골랐던 관심 분야 스티커를 통해 서로의 관심사를 알아보고, 연사자와 참석자 모두가 함께 이야기를 나누며 서로 다른 관점으로 바라볼 수 있었습니다.

행사장 한쪽에 마련된 XCENA의 CXL 서버 주변에서도 교류가 이어졌습니다. 참석자들은 실제 장비를 가까이에서 살펴보며 궁금한 점을 묻고 답했습니다. 발표에서 소개한 메모리 확장 기술을 현장의 장비와 연결해 볼 수 있는 시간이었습니다.

설문 응답 72건으로 돌아본 행사

행사 피드백 총 72건을 정리했습니다. 아래 수치와 비율은 전체 참석자가 아닌 설문 응답을 기준으로 하며, 복수 선택 문항은 한 응답에서 여러 항목을 고를 수 있습니다.

이 외 행사 후기를 묻는 질문에는 좋았던 점으로는 프로그램 구성이 48건(66.7%, 복수 선택)으로 가장 많이 선택됐습니다. 행사 장소 및 시설은 30건(41.7%), 참여자 간의 소통 분위기와 행사 시간 및 일정은 각각 22건(30.6%)이었습니다. 발표 내용뿐 아니라 현장에서 다른 참석자들과 교류할 수 있었던 점도 긍정적인 평가를 받았습니다.

개선 의견에서는 마이크 음질과 음량, 뒷좌석의 화면 가독성, 공간의 여유가 반복해서 언급됐습니다. 영어 발표를 이해하는 데 도움이 되는 통역·번역에 대한 의견도 있었습니다. 같은 분야 개발자끼리 대화하는 세션을 원한다는 의견도 있었습니다. 다음 행사에서 듣고 싶은 내용으로는 실제 프로덕션 적용 사례, vLLM·SGLang 내부 동작, NPU 컴파일러와 최신 추론 최적화 기법, 시연과 데모가 제시됐습니다. 제품 소개를 넘어 실제 운영 중 겪은 문제와 시행착오, 해결 과정을 더 구체적으로 듣고 싶다는 요청도 있었습니다.

KVCache Meetup Korea 현수막 뒤에서 함께 찍은 참석자와 연사 단체 사진.
KVCache Meetup Korea 단체 사진

PyTorchKR에서는 이러한 후기들을 반영하여 다음 행사를 준비 및 진행할 수 있도록 노력하겠습니다. 관심 분야가 비슷한 참석자들이 더 쉽게 만나 대화를 시작할 수 있는 방식도 함께 검토하겠습니다. 평일 저녁 시간을 내어 참석해 주신 모든 참석자 여러분, 그리고 아낌없이 지식과 경험을 나누어주신 발표자분들께도 감사드립니다. 또한, 행사를 함께 준비한 PyTorchKR와 XCENA, 그리고 함께 지원해주신 Tensormesh에도 감사드립니다.

Table of Contents

Share via:

답글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.

More from the blog