개요
PagedAttention은 하나의 큰 연속 덩어리 대신 재사용 가능한 작은 블록에 언어 모델의 주의 캐시를 저장하는 메모리 관리 기술입니다. 단일 GPU가 처리할 수 있는 요청 수를 획기적으로 늘리는 오픈 소스 서비스 엔진인 vLLM을 지원합니다.
PagedAttention 및 vLLM은 모델 품질, 인프라 비용, 대기 시간 및 대규모 안정성에 영향을 미치는 기술 구성 요소입니다.
심층 분석
언어 모델이 텍스트를 생성할 때 본 모든 토큰에 대해 'KV 캐시'(키 및 값 벡터)를 유지하므로 다음 토큰이 전체 컨텍스트에 참여할 수 있습니다. 전통적으로 각 요청은 가능한 최대 길이에 맞게 크기가 지정된 하나의 큰 연속 GPU 메모리 슬래브를 예약했으며, 시퀀스가 더 짧거나 길이가 다양할 때 엄청난 양을 낭비했습니다. UC Berkeley의 2023년 vLLM 논문에 소개된 PagedAttention은 운영 체제의 가상 메모리 페이징 아이디어를 차용합니다. 즉, KV 캐시를 메모리 내 어느 곳에나 존재하고 요청 시 할당될 수 있는 고정 크기 블록으로 분할합니다. 조회 테이블은 논리적 토큰 위치를 물리적 블록에 매핑합니다. 이는 메모리 조각화를 거의 제거하고 동일한 프롬프트의 여러 출력에서 블록을 공유할 수 있게 해줍니다.
기술적 통찰력
KV 캐시는 고정된 크기의 페이지로 분할되며, 각각은 설정된 수의 토큰에 대한 키와 값을 보유합니다. 시퀀스별 블록 테이블은 논리적 위치를 물리적 페이지 위치에 매핑하므로 시퀀스의 캐시가 연속적일 필요는 없습니다. 동일한 접두사(공유 시스템 프롬프트 또는 빔 검색 분기)가 쓰기 중 복사를 통해 동일한 물리적 페이지를 가리킬 수 있기 때문에 메모리가 복제되는 대신 재사용되어 낭비가 60% 이상에서 몇 퍼센트로 줄어듭니다.
PagedAttention 및 vLLM 마스터하기
PagedAttention은 하나의 큰 연속 덩어리 대신 재사용 가능한 작은 블록에 언어 모델의 주의 캐시를 저장하는 메모리 관리 기술입니다. 단일 GPU가 처리할 수 있는 요청 수를 획기적으로 늘리는 오픈 소스 서비스 엔진인 vLLM을 지원합니다. PagedAttention 및 vLLM은 모델 품질, 인프라 비용, 대기 시간 및 대규모 안정성에 영향을 미치는 기술 구성 요소입니다. 깊은 이해를 구축하려면 PagedAttention 및 vLLM을 단일 기능이 아닌 운영 모델로 취급하십시오. 원하는 결과를 정의하고, 가정을 명확히 하고, 시스템이 안정적으로 수행할 수 있는 작업과 여전히 전문가 판단이 필요한 작업을 분리하세요.
실제로 PagedAttention 및 vLLM을 사용하는 강력한 팀은 안정성과 비용에 맞춰 아키텍처, 데이터 및 인프라 선택을 최적화합니다. 명시적인 성공 기준을 문서화하고, 현실적인 데이터 및 워크플로를 기준으로 테스트하며, 일회성 벤치마크 승리보다는 관찰된 실패 패턴을 기반으로 반복합니다. 이론적 이해가 제품, 정책, 운영 전반에 걸쳐 지속 가능한 역량으로 바뀌는 곳입니다.
아키텍처 결정은 수년간 성능과 운영 비용을 결정합니다. 동시에 하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다. 가장 탄력적인 접근 방식은 실험 속도와 거버넌스 규율을 결합하는 것입니다. 즉, 파일럿 실행, 증거 캡처, 결정 로그 게시, 모델 동작, 사용자 기대 및 규제 요구 사항이 발전함에 따라 보호 장치를 지속적으로 업데이트합니다.
전략적 영향
아키텍처 결정은 수년간 성능과 운영 비용을 결정합니다.
아키텍처 결정은 수년간 성능과 운영 비용을 결정합니다. 고품질 배포에서는 이는 측정 가능한 운영 규칙, 소유권 경계 및 반복적인 검토 의식으로 변환되므로 팀은 모호성을 확장하는 대신 자신감을 확장할 수 있습니다.
기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.
기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다. 고품질 배포에서는 이는 측정 가능한 운영 규칙, 소유권 경계 및 반복적인 검토 의식으로 변환되므로 팀은 모호성을 확장하는 대신 자신감을 확장할 수 있습니다.
더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.
더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다. 고품질 배포에서는 이는 측정 가능한 운영 규칙, 소유권 경계 및 반복적인 검토 의식으로 변환되므로 팀은 모호성을 확장하는 대신 자신감을 확장할 수 있습니다.
실제 구현
vLLM이 하나의 GPU에서 높은 처리량으로 많은 동시 채팅 사용자에게 서비스를 제공하는 오픈 소스 LLM API 호스팅
접두사 캐싱을 통해 수천 건의 요청에 걸쳐 긴 시스템 프롬프트를 공유하므로 반복이 아닌 한 번 처리됩니다.
쓰기 중 복사를 통해 공통 프롬프트에 대해 KV 블록을 공유하는 빔 검색 또는 다중 샘플링 완료 실행
조각화로 인한 GPU 메모리 낭비를 줄여 공급자는 동일한 하드웨어에 더 많은 동시 세션을 담을 수 있습니다.
구현 패턴
PagedAttention 및 vLLM의 실제 사례
vLLM이 하나의 GPU에서 높은 처리량으로 많은 동시 채팅 사용자에게 서비스를 제공하는 오픈 소스 LLM API를 호스팅합니다.
vLLM이 높은 처리량으로 하나의 GPU에서 많은 동시 채팅 사용자에게 서비스를 제공하는 오픈 소스 LLM API 호스팅 팀은 일반적으로 품질 임계값을 미리 정의하고, 극단적인 경우에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 더 나은 결과를 얻습니다.
PagedAttention 및 vLLM의 실제 사례
접두사 캐싱을 통해 수천 개의 요청에 걸쳐 긴 시스템 프롬프트를 공유하므로 반복적으로 처리되지 않고 한 번만 처리됩니다.
접두사 캐싱을 통해 수천 개의 요청에 걸쳐 긴 시스템 프롬프트를 공유하여 반복이 아닌 한 번 처리됩니다. 팀은 일반적으로 품질 임계값을 미리 정의하고, 극단적인 경우에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 더 나은 결과를 얻습니다.
PagedAttention 및 vLLM의 실제 사례
쓰기 중 복사를 통해 공통 프롬프트에 대해 KV 블록을 공유하는 빔 검색 또는 다중 샘플링 완료를 실행합니다.
쓰기 중 복사를 통해 공통 프롬프트에 대해 KV 블록을 공유하는 빔 검색 또는 다중 샘플링 완료 실행 팀은 일반적으로 품질 임계값을 미리 정의하고, 극단적인 경우에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 더 나은 결과를 얻습니다.
PagedAttention 및 vLLM의 실제 사례
조각화로 인한 GPU 메모리 낭비를 줄여 공급자가 동일한 하드웨어에 더 많은 동시 세션을 담을 수 있습니다.
조각화로부터 GPU 메모리 낭비를 줄여 공급자가 동일한 하드웨어에 더 많은 동시 세션을 담을 수 있습니다. 팀은 일반적으로 품질 임계값을 미리 정의하고, 극단적인 경우에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 더 나은 결과를 얻습니다.
위험 및 가드레일
하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.
인프라 및 유지 관리 비용은 종종 과소평가됩니다.
시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.
구현 로드맵
구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.
구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.
현실적인 로드 및 데이터 조건에서 벤치마킹합니다.
현실적인 로드 및 데이터 조건에서 벤치마킹합니다. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.
오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.
오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.
확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.
확장하기 전에 롤백 및 사고 대응 경로를 준비하세요. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.