AI VIDEO BRIEFING
LLM 추론 최적화 입문: KV 캐시와 프리필이 GPU 비용과 응답 속도를 결정하는 이유
엔비디아 솔루션 아키텍트가 AI 엔지니어 컨퍼런스에서 설명한 LLM 추론의 내부 동작을 정리했다. 프리필과 KV 캐시, 정밀도 축소와 질의 패턴이 GPU 비용과 응답 속도를 어떻게 좌우하는지 살펴본다.

핵심 메시지
쉽게 이해하기
엔비디아에서 LLM 추론을 담당하는 솔루션 아키텍트 마크 모유(Mark Moyou)는 AI 엔지니어 컨퍼런스에서 20분 만에 추론 내부 구조를 훑는 강연을 했다. 그가 잡은 목표는 명확하다. 배포 비용이야말로 LLM 서비스를 의미 있는 규모로 키우지 못하게 막는 요인이므로, 그 비용이 어디서 발생하는지 직관을 갖추자는 것이다.
그의 설명은 프롬프트가 GPU에 올라가는 순간부터 시작한다. 텍스트는 모델마다 다른 토크나이저를 거쳐 토큰 ID로 바뀌고, 각 토큰은 임베딩 벡터가 되어 하나의 행렬로 GPU에 올라간다. GPU가 이 작업에 유리한 이유는 단순하다. 행렬 연산이 매우 빠르기 때문이다. 발표자는 토큰이 사람의 단어와 일대일로 대응하지 않고 단어 조각인 경우가 많다는 점, 대략 네 글자쯤이 한 토큰이라는 감각을 먼저 잡아두라고 조언했다.
핵심은 어텐션과 KV 캐시다. 모델 가중치의 쿼리·키·값 행렬을 곱해 나온 키와 값이 바로 LLM의 기억에 해당한다. 새 토큰을 생성할 때마다 그 토큰이 앞서 나온 모든 토큰과 어떤 관계인지 계산해야 하는데, 키와 값을 캐시해두면 이미 처리한 프롬프트를 다시 계산할 필요가 없다. 발표자가 "모든 LLM 성능 엔지니어는 이 KV 캐시를 최대한 빠르고 작게 만들려 애쓴다"고 표현한 이유다. 어텐션 헤드가 32개인 모델이라면 KV 캐시도 32벌이 동시에 유지된다.
메모리 계산법은 간단한 어림셈으로 정리된다. 파라미터 수에 2를 곱하면 FP16 기준 기가바이트 단위 메모리다. 20GB 남짓한 GPU에 80억 파라미터 모델을 FP16으로 올리면 16GB를 가중치가 가져가고 남는 4GB가 전부 KV 캐시 몫이 된다. 그래서 FP16에서 FP8로, 다시 FP4로 정밀도를 낮추는 흐름이 중요해진다. 모델을 절반으로 줄이면 속도가 빨라질 뿐 아니라 토큰을 담을 공간이 그만큼 늘어나기 때문이다.
측정 지표로는 첫 토큰까지의 시간(어텐션 처리 성능을 반영), 토큰 간 지연, 전체 생성 시간이 제시됐다. 발표자가 가장 중요하다고 강조한 것은 질의 패턴이다. 긴 입력/짧은 출력, 긴 입력/긴 출력, 짧은 입력/긴 출력 등 조합에 따라 메모리 점유와 비용이 완전히 달라지는데, 벤치마크는 그중 유리한 한두 가지만 고르는 경우가 많다. 그래서 실제 사용자들의 입력·출력 길이 분포를 히스토그램으로 측정해 엔진을 그 분포에 맞춰 다시 빌드하라는 것이 그의 권고다.
주요 인사이트
- "아무리 빠르다고 주장해도 토큰은 한 번에 하나씩 생성된다"는 전제를 이해하면 지연 시간 논쟁이 훨씬 명확해진다.
- 백만 명이 각각 1만 토큰을 보내면 그만큼의 어텐션 계산이 동시에 발생한다. 프롬프트 길이는 곧 남의 요청까지 밀어내는 비용이다.
- 컴퓨터 비전처럼 GPU 하나에 여러 모델을 올려 처리량을 높이는 전략은 LLM 추론에는 통하지 않는다. 남는 공간은 전부 KV 캐시에 써야 한다.
- 긴 문맥 모델을 처음부터 훈련하지 않고 짧은 문맥으로 훈련한 뒤 확장하는 이유도 메모리 비용에 있다. 문맥이 길수록 필요한 GPU가 폭증한다.
- 특정 GPU에 맞춰 컴파일한 추론 엔진은 다른 GPU로 옮길 수 없다. 하드웨어에 맞춰 알고리즘을 다시 쓰기 때문에 그만큼 빠른 것이다.
- 시간대별로 질의 패턴이 달라진다면 시간대별로 다른 추론 엔진을 쓰는 '계절형 엔진' 접근도 가능하다는 아이디어가 제시됐다.
자주 묻는 질문
KV 캐시가 정확히 무슨 역할을 하나?
어텐션 계산에서 나온 키와 값 행렬을 GPU에 저장해두는 것으로, LLM의 기억에 해당한다. 이것이 없으면 새 토큰을 만들 때마다 이전 프롬프트 전체를 다시 계산해야 하므로 생성 속도가 크게 느려진다.
모델이 GPU 메모리를 얼마나 쓰는지 어떻게 어림잡나?
파라미터 수에 2를 곱하면 FP16 기준 기가바이트 값이 나온다. 80억 파라미터 모델이면 약 16GB다. GPU 전체 용량에서 이 가중치를 뺀 나머지가 전부 KV 캐시, 즉 동시 처리 가능한 토큰 공간이 된다.
추론 성능을 볼 때 어떤 지표를 봐야 하나?
첫 토큰까지 걸린 시간, 토큰과 토큰 사이의 지연, 요청 시작부터 완료까지의 전체 시간이다. 특히 한 건이 아니라 시스템이 부하를 받는 상태에서 측정해야 실제 성능이 드러난다.
정밀도를 FP16에서 FP8로 낮추면 무엇이 좋아지나?
메모리 사용량이 절반으로 줄어 토큰을 담을 공간이 늘어나고 모델 자체도 빨라진다. 발표자는 정확도 저하가 크지 않다는 측정 결과를 공개하고 있다고 밝혔으며, 이후 FP4로 가는 흐름도 언급했다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗