# PagedAttention 논문 쉽게 읽기: vLLM의 KV 캐시와 GPU 메모리 관리 원리

PagedAttention의 블록 테이블과 KV 캐시 공유, 쓰기 시 복사 및 vLLM 챗봇 실험의 의미를 설명합니다.

Source: https://www.iplexlaw.co.kr/ko/blog/pagedattention-vllm-kv-cache

HOME / NEWS & INSIGHTS NEWS & INSIGHTS PagedAttention 논문 쉽게 읽기: vLLM의 KV 캐시와 GPU 메모리 관리 원리 PagedAttention의 블록 테이블과 KV 캐시 공유, 쓰기 시 복사 및 vLLM 챗봇 실험의 의미를 설명합니다. 인공지능 2026.10.19 게시 IPLEX 7분 읽기 PagedAttention은 AI가 다음 토큰을 만들 때 다시 쓰는 KV 캐시를 작은 블록으로 관리하는 방법입니다. vLLM은 블록의 위치를 대응표로 연결하고 필요할 때 공간을 늘려, 길이가 다른 여러 요청을 GPU 메모리에 담습니다. 같은 문의에서 답변 후보 두 개를 만드는 가상 예시로 메모리 공유 원리와 원문 실험의 의미를 살펴보겠습니다. 블록의 논리 순서와 실제 저장 위치를 연결하는 원리를 설명한 직접 제작 개념 그림입니다. 분석 대상: Woosuk Kwon, Zhuohan Li 외 연구진의 Efficient Memory Management for Large Language Model Serving with PagedAttention · 2023년 9월 12일 제출된 arXiv v1 1. AI 답변에는 왜 별도의 메모리가 필요할까요? 고객상담 AI에 여러 문의가 한꺼번에 들어왔다고 생각해 보세요. 어떤 질문은 짧게 답할 수 있지만, 어떤 질문은 긴 주문 내역을 읽고 여러 단계로 설명해야 합니다. 답변의 길이도 처음부터 정확히 알기 어렵습니다. 여러 문의를 함께 처리하려면 계산 능력뿐 아니라 각 문의가 쓰는 메모리 공간도 관리해야 합니다. 토큰 은 모델이 문장을 다룰 때 사용하는 글 조각입니다. 단어 하나와 항상 일치하지는 않습니다. 많은 언어모델은 앞선 입력과 지금까지 만든 출력에 이어 다음 토큰을 하나씩 생성합니다. 이 과정에서 앞선 토큰으로부터 계산한 정보를 다시 사용합니다. 그중 어텐션에 쓰이는 키와 값이라는 수치 벡터를 저장해 둔 것이 KV 캐시 입니다. 어텐션은 토큰 사이의 관계를 계산해 필요한 정보를 반영하는 처리입니다. KV 캐시는 고객의 글을 그대로 보관한 문서 파일이 아니라, 모델이 각 처리 단계에서 만든 계산용 정보입니다. 답변이 길어지면 이 정보가 차지하는 공간도 늘어납니다. 논문이 비교한 기존 방식은 각 요청에 길게 이어진 메모리 공간을 미리 확보했습니다. 최대 길이를 예상해 큰 자리를 잡으면 아직 쓰지 않은 부분을 다른 요청이 활용하기 어렵습니다. 요청마다 필요한 크기가 다르면 작은 빈 공간이 흩어져 남는 문제도 생깁니다. PagedAttention은 이러한 예약 공간과 빈틈을 줄이는 데 초점을 맞춥니다. 2. 순서와 저장 위치를 나누어 관리합니다 서류 한 묶음을 반드시 길게 이어진 서랍에만 넣어야 한다면 빈자리를 찾기 어렵습니다. 작은 서랍을 여러 개 쓰고, 서류의 순서와 서랍 위치를 목록에 적어 두면 흩어진 자리도 활용할 수 있습니다. 이 비유에서 서류에 해당하는 것은 KV 캐시이며, 서랍에 해당하는 것은 일정한 크기의 블록 입니다. PagedAttention은 정해진 수의 토큰에 대한 KV 정보를 한 블록에 담습니다. 요청이 보는 첫 번째·두 번째 블록이라는 논리 순서 와 GPU 메모리 안의 실제 저장 위치 를 구별합니다. 두 블록은 실제 공간에서 이웃하지 않아도 됩니다. 블록 테이블이라는 대응표가 각 논리 블록의 저장 위치와 채워진 칸 수를 알려 줍니다. 처음에는 입력을 처리하는 데 필요한 블록을 확보합니다. 생성 중인 마지막 블록에 빈칸이 있으면 새 토큰의 KV 정보를 그곳에 쓰고, 블록이 가득 찼을 때 새 블록을 받아 대응표에 추가합니다. 예상되는 최대 답변 길이만큼의 공간을 처음부터 모두 예약하지 않는 방식입니다. 어텐션을 계산할 때는 대응표에 따라 각 블록을 찾아 읽습니다. 저장 위치가 흩어져 있어도 토큰의 순서는 유지됩니다. 여러 요청의 블록을 같은 GPU 메모리 풀에 배치할 수 있지만, 각 요청은 자신의 대응표가 가리키는 정보로 계산합니다. 서로 다른 고객의 내용이 하나의 대화로 섞이는 구조는 아닙니다. 3. 같은 문의의 두 답변 후보로 이해해 보세요 가상의 상담 도구가 하나의 동일한 프롬프트, 즉 모델에 전달하는 입력 전체를 바탕으로 답변 후보 A와 B를 생성한다고 해 보겠습니다. 두 후보가 사용하는 문의와 안내 지침이 같다면 입력 부분의 KV 정보도 공통으로 사용할 수 있습니다. 각 후보의 대응표가 같은 실제 블록을 가리키게 하면, 입력 정보를 두 벌로 복제할 필요가 줄어듭니다. ① 공통 입력은 함께 읽고, 달라지는 부분은 나눠 씁니다 두 후보가 서로 다른 토큰을 만들기 시작하면 생성 부분의 KV 정보는 따로 저장해야 합니다. 글 조각이 우연히 같아도 앞선 문맥이나 위치가 다르면 계산된 KV가 다를 수 있습니다. 따라서 단어가 같다는 이유만으로 저장 정보를 공유하는 것은 아닙니다. ② 공유 블록에 쓰기가 필요할 때만 복사합니다 입력의 마지막 블록에 빈칸이 남아 있고 두 후보가 그 블록을 함께 참조하는 경우를 생각해 보세요. 후보 A의 새 정보를 그 공유 블록에 그대로 쓰면 후보 B도 영향을 받을 수 있습니다. vLLM은 해당 블록을 함께 참조하는 수를 확인하고, 쓰기가 필요한 공유 블록을 복사해 후보 A가 별도의 공간을 사용하게 합니다. 이를 쓰기 시 복사, Copy-on-Write 라고 합니다. 공유했던 모든 블록을 매번 복사하는 방식은 아닙니다. 이미 채워진 공통 입력 블록은 함께 읽을 수 있고, 분리가 필요한 블록만 복사합니다. 새 블록을 받아 써도 되는 경우에는 새 공간을 할당합니다. 후보 생성이 끝나면 더 이상 참조되지 않는 블록을 회수해 다른 요청에 사용할 수 있습니다. 공통 입력 KV 블록을 공유하는 두 답변 후보의 가상 예시 동일한 프롬프트에서 두 답변 후보를 생성하며 공통 KV 블록과 각각의 생성 부분을 구별하는 가상 상담 예시입니다. 실제 제품 화면이나 측정 결과를 나타낸 그림은 아닙니다. 4. 약 2배라는 실험 결과를 읽는 방법 논문 6.5절의 챗봇 실험에서는 vLLM이 Orca 방식의 세 가지 비교 기준보다 약 2배 높은 요청률 을 감당했다고 보고합니다. 여기서 요청률은 일정 시간에 들어오는 요청 수입니다. 여러 요청을 처리하면서 지연이 급격히 커지지 않는 범위를 비교한 결과로 읽으시면 됩니다. 이 결과는 답변 정확도가 두 배가 됐거나 모든 사용자의 답변이 절반 시간에 끝난다는 뜻이 아닙니다. 길이와 도착 시점이 다른 요청들을 GPU에 함께 담는 능력의 차이를 보여 줍니다. 실험의 요청 도착 시점은 연구진이 만든 분포를 사용했으므로 실제 상담 서비스의 측정값과도 구별해야 합니다. 이 챗봇 실험에서는 대화 턴 사이에 KV 캐시를 계속 보관하지 않았습니다. 사용자가 다시 묻는 순간마다 과거 계산을 모두 영구적으로 재사용했다는 결과로 해석해서는 안 됩니다. 입력·출력 길이, GPU 메모리와 요청 패턴이 달라지면 개선 폭도 달라집니다. 5. 기억을 줄이지 않고 저장 방식을 바꿉니다 PagedAttention의 블록 분할은 필요한 기록만 검색하거나 중요도가 낮은 토큰을 버리는 방법이 아닙니다. 모델의 어텐션이 참조하도록 정해진 범위의 KV 정보를 블록으로 나누어 읽습니다. 원래 모델이 처리할 수 있는 문맥 길이를 자동으로 늘리는 방법도 아닙니다. 블록을 작게 하면 마지막 블록의 남는 칸을 줄일 수 있지만, 대응표를 찾아 읽는 관리 작업도 고려해야 합니다. 논문은 블록 크기에 따른 차이를 별도로 실험합니다. 블록을 무조건 작게 만들거나 GPU 연산 하나가 빨라졌다고 해서 전체 서비스가 같은 비율로 빨라지는 것은 아닙니다. 앞서 소개한 FlashAttention-2 가 어텐션의 계산 순서와 병렬 작업 분배를 개선했다면, 이번 논문은 생성 중에 늘어나는 KV 정보를 어디에 놓고 어떻게 공유할지에 주목합니다. 둘 다 어텐션을 다루지만 해결하려는 자원이 다릅니다. 계산량, 메모리 용량, 요청을 묶는 방식 가운데 실제 부담이 생기는 지점을 구별하는 데 도움이 됩니다. 6. 개발 현장에서 정리할 기술적 차이 개발팀은 평균 응답 시간만 보기보다 입력·출력 길이가 달라질 때의 메모리 사용량과 동시 처리 요청 수를 함께 기록해 보세요. 짧은 문의 위주인지, 긴 입력에서 여러 후보를 만드는 업무인지에 따라 공유할 수 있는 부분과 필요한 공간이 달라집니다. 여러 후보 생성과 한 후보 생성도 나누어 비교하면 원인을 설명하기 쉽습니다. 아래는 논문 실험 결과와 구별되는 실무 정리 관점입니다. 기술 상담을 준비할 때에는 ‘메모리를 줄인다’는 효과만 적기보다 어느 시점에 블록을 할당하는지, 논리 순서를 어떤 대응표로 연결하는지, 무엇이 같을 때 공유하는지, 변경과 종료 시 어떻게 복사·회수하는지 를 처리 흐름으로 정리해 보시면 좋습니다. 같은 성능 목표를 가진 구현도 데이터 구조와 처리 순서가 다를 수 있습니다. 비교 대상 방식, 바꾼 단계, 유지한 계산과 측정 조건을 함께 적으면 AI 기술의 차이를 구체적으로 설명하는 자료가 됩니다. 이 논문은 모델 자체를 새로 학습시키는 일뿐 아니라, 실행 중의 저장 방식과 요청 관리에도 제품 설계의 중요한 선택이 있다는 점을 보여 줍니다. 관련 업무 · 인공지능 특허 PagedAttention 논문 제1판 티스토리 기술 분석 원문 이 글은 표시된 게시일을 기준으로 작성된 자료입니다. 개별 사안에 대한 검토는 상담을 통해 안내합니다. 관련 업무 상담 ↗ 전체 글 보기 ON THIS PAGE 1. AI 답변에는 왜 별도의 메모리가 필요할까요? 2. 순서와 저장 위치를 나누어 관리합니다 3. 같은 문의의 두 답변 후보로 이해해 보세요 ① 공통 입력은 함께 읽고, 달라지는 부분은 나눠 씁니다 ② 공유 블록에 쓰기가 필요할 때만 복사합니다 4. 약 2배라는 실험 결과를 읽는 방법 5. 기억을 줄이지 않고 저장 방식을 바꿉니다 6. 개발 현장에서 정리할 기술적 차이 TALK TO IPLEX 우리 기업에 맞는 IP 전략이 필요하다면 기술과 사업의 상황에 맞춰 필요한 업무를 함께 살펴봅니다. ↗ 상담 문의 최근 글 특허 권리범위확인, 확인대상발명의 특정 ↗ 이전 글 디자인 창작성과 부품의 조합 ↗ 함께 읽을 인사이트 인공지능 2026.10.29 문맥에 따라 기억을 나누는 SwiLA 고정 크기 기억을 여러 회귀 성분으로 나누는 Switching Linear Attention의 구조, 회상 성능과 처리량 실험, 적용상 한계를 살펴봅니다. ↗ 본문 읽기 인공지능 2026.10.28 마이크로소프트 AI 음성합성 특허: 글자·단어·문장 정보를 모아 읽는 원리 마이크로소프트 US12094447B2의 음소·글자, 단어 임베딩, 문장 구조 정보 정렬과 결합에서 음성 파형 생성까지의 과정을 분석합니다. ↗ 본문 읽기 인공지능 2026.10.27 긴 추천 이력을 빠르게 읽는 GBLA GBLA의 국소 혼합·키 게이트·출력 게이트와 하이브리드 인코더, 추천 품질 및 단일 층·전체 학습 속도 결과를 분석합니다. ↗ 본문 읽기

- https://www.iplexlaw.co.kr/
- https://www.iplexlaw.co.kr/%EC%9D%B8%EC%82%AC%EC%9D%B4%ED%8A%B8-%EB%B0%8F-%EB%89%B4%EC%8A%A4/category/ai
- https://www.iplexlaw.co.kr/ko/ai-patents
- https://arxiv.org/abs/2309.06180v1
- https://iplexlaw.tistory.com/11
- https://www.iplexlaw.co.kr/%EC%97%B0%EB%9D%BD%ED%95%98%EA%B8%B0
- https://www.iplexlaw.co.kr/%EC%9D%B8%EC%82%AC%EC%9D%B4%ED%8A%B8-%EB%B0%8F-%EB%89%B4%EC%8A%A4
- https://www.iplexlaw.co.kr/ko/blog/pagedattention-vllm-kv-cache#article-tistory11-ko-0
- https://www.iplexlaw.co.kr/ko/blog/pagedattention-vllm-kv-cache#article-tistory11-ko-1
- https://www.iplexlaw.co.kr/ko/blog/pagedattention-vllm-kv-cache#article-tistory11-ko-2
- https://www.iplexlaw.co.kr/ko/blog/pagedattention-vllm-kv-cache#article-tistory11-ko-3
- https://www.iplexlaw.co.kr/ko/blog/pagedattention-vllm-kv-cache#article-tistory11-ko-4
- https://www.iplexlaw.co.kr/ko/blog/pagedattention-vllm-kv-cache#article-tistory11-ko-5
- https://www.iplexlaw.co.kr/ko/blog/pagedattention-vllm-kv-cache#article-tistory11-ko-6
- https://www.iplexlaw.co.kr/ko/blog/pagedattention-vllm-kv-cache#article-tistory11-ko-7
- https://www.iplexlaw.co.kr/%EC%97%B0%EB%9D%BD%ED%95%98%EA%B8%B0
- https://www.iplexlaw.co.kr/ko/blog/brunch-case-1853
- https://www.iplexlaw.co.kr/ko/blog/brunch-case-1852
- https://www.iplexlaw.co.kr/ko/blog/swila-switching-linear-attention
- https://www.iplexlaw.co.kr/ko/blog/swila-switching-linear-attention
- https://www.iplexlaw.co.kr/ko/blog/microsoft-multilevel-tts
- https://www.iplexlaw.co.kr/ko/blog/microsoft-multilevel-tts
- https://www.iplexlaw.co.kr/ko/blog/gbla-generative-retrieval
- https://www.iplexlaw.co.kr/ko/blog/gbla-generative-retrieval
