PagedAttention 및 vLLM
PagedAttention은 하나의 큰 연속 덩어리 대신 재사용 가능한 작은 블록에 언어 모델의 주의 캐시를 저장하는 메모리 관리 기술입니다.
개요
It powers vLLM, an open-source serving engine that dramatically boosts how many requests a single GPU can handle.
심층 분석
언어 모델이 텍스트를 생성할 때 본 모든 토큰에 대해 'KV 캐시'(키 및 값 벡터)를 유지하므로 다음 토큰이 전체 컨텍스트에 참여할 수 있습니다. 전통적으로 각 요청은 가능한 최대 길이에 맞게 크기가 지정된 하나의 큰 연속 GPU 메모리 슬래브를 예약했으며, 시퀀스가 더 짧거나 길이가 다양할 때 엄청난 양을 낭비했습니다. UC Berkeley의 2023년 vLLM 논문에 소개된 PagedAttention은 운영 체제의 가상 메모리 페이징 아이디어를 차용합니다. 즉, KV 캐시를 메모리 내 어느 곳에나 존재하고 요청 시 할당될 수 있는 고정 크기 블록으로 분할합니다. 조회 테이블은 논리적 토큰 위치를 물리적 블록에 매핑합니다. 이는 메모리 조각화를 거의 제거하고 동일한 프롬프트의 여러 출력에서 블록을 공유할 수 있게 해줍니다.
기술적 통찰력
KV 캐시는 고정된 크기의 페이지로 분할되며, 각각은 설정된 수의 토큰에 대한 키와 값을 보유합니다. 시퀀스별 블록 테이블은 논리적 위치를 물리적 페이지 위치에 매핑하므로 시퀀스의 캐시가 연속적일 필요는 없습니다. 동일한 접두사(공유 시스템 프롬프트 또는 빔 검색 분기)가 쓰기 중 복사를 통해 동일한 물리적 페이지를 가리킬 수 있기 때문에 메모리가 복제되는 대신 재사용되어 낭비가 60% 이상에서 몇 퍼센트로 줄어듭니다.
전략적 영향
비용 및 예산
아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.
더 명확한 결정들
기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.
품질 관리
더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.
PagedAttention과 vLLM의 미래
vLLM은 기본 오픈 소스 추론 백본이 되었으며 PagedAttention의 아이디어는 이제 대부분의 서비스 스택에 나타납니다. 더 깊은 접두사 캐싱(사용자 전반에 걸쳐 캐시된 시스템 프롬프트 재사용), 별도의 시스템에서 분리된 미리 채우기 및 디코딩, 더 스마트한 제거 정책, 양자화 및 추측 디코딩과의 긴밀한 통합을 기대합니다. 컨텍스트 창이 수백만 개의 토큰으로 성장함에 따라 효율적인 페이징 KV 관리는 저렴한 서비스를 유지하는 데 더욱 중요해졌습니다.
실제 구현
vLLM이 하나의 GPU에서 높은 처리량으로 많은 동시 채팅 사용자에게 서비스를 제공하는 오픈 소스 LLM API 호스팅
접두사 캐싱을 통해 수천 건의 요청에 걸쳐 긴 시스템 프롬프트를 공유하므로 반복이 아닌 한 번 처리됩니다.
쓰기 중 복사를 통해 공통 프롬프트에 대해 KV 블록을 공유하는 빔 검색 또는 다중 샘플링 완료 실행
조각화로 인한 GPU 메모리 낭비를 줄여 공급자는 동일한 하드웨어에 더 많은 동시 세션을 담을 수 있습니다.
위험 및 가드레일
하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.
인프라 및 유지 관리 비용은 종종 과소평가됩니다.
시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.
구현 로드맵
구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.
현실적인 로드 및 데이터 조건에서 벤치마킹합니다.
오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.
확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.
계속 탐색하세요
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the PagedAttention and vLLM quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
다음 가이드
차등 프라이버시
자주 묻는 질문
What is PagedAttention and vLLM?
PagedAttention은 하나의 큰 연속 덩어리 대신 재사용 가능한 작은 블록에 언어 모델의 주의 캐시를 저장하는 메모리 관리 기술입니다. 단일 GPU가 처리할 수 있는 요청 수를 획기적으로 늘리는 오픈 소스 서비스 엔진인 vLLM을 지원합니다.
텍스트 생성 중에 'KV 캐시'는 무엇을 저장합니까?
KV 캐시는 모든 이전 토큰에 대한 키와 값 벡터를 보유하므로 모델이 각 단계를 다시 계산하지 않고도 전체 컨텍스트에 참여할 수 있습니다.
PagedAttention에 영감을 준 운영 체제 개념은 무엇입니까?
PagedAttention은 가상 메모리 페이징을 차용합니다. KV 캐시는 블록 테이블에 매핑되어 어디에나 존재할 수 있는 고정 크기 페이지로 분할됩니다.
PagedAttention은 기존 KV 캐시 할당과 관련된 어떤 문제를 해결합니까?
요청당 하나의 큰 연속 슬래브를 최대 길이에 맞게 예약하면 엄청난 양의 GPU 메모리가 낭비됩니다. 페이징은 요청 시 작은 블록을 할당하여 낭비를 줄입니다.
PagedAttention은 어떻게 여러 출력이 공통 프롬프트에 대한 메모리를 공유하도록 합니까?
동일한 접두사(공유 프롬프트 또는 빔 검색 분기)는 동일한 물리적 KV 페이지를 참조하며 분기가 분기될 때만 복사됩니다.
vLLM과 PagedAttention은 원래 어디에서 개발되었나요?
vLLM과 PagedAttention 알고리즘은 UC Berkeley에서 2023년 논문으로 발표되었으며 빠르게 널리 사용되는 오픈 소스 서비스 엔진이 되었습니다.