목록 보기
최대 24배 빠른 vLLM의 비밀 파헤치기
AI

최대 24배 빠른 vLLM의 비밀 파헤치기

스캐터랩 핑퐁
스캐터랩 핑퐁
2023년 9월 13일

두줄요약

vLLM의 PagedAttention과 Continuous Batching을 코드 흐름 중심으로 분석했습니다.\nKV 캐시 블록 관리, 스케줄링, CUDA 기반 Single Query Attention을 설명합니다.

구조와 흐름

  • LLM.generate() 요청 추가부터 LLMEngine.step() 반복 실행까지의 생성 경로
  • 스케줄러의 Waiting·Running·Swapped 큐 관리와 Worker의 캐시 이동·모델 포워딩
  • PagedAttention의 논리 블록·물리 블록 매핑 및 블록 테이블 기반 KV 캐시 관리

선택 이유

  • OS 가상 메모리와 유사한 블록 단위 KV 캐시 관리로 메모리 단편화 완화
  • Continuous Batching으로 프롬프트·생성 토큰을 빈 공간 없이 묶는 추론 배치 구성
  • 캐시된 KV와 마지막 Query만 사용하는 Single Query Attention 기반 계산 축소

성능/운영 포인트

  • 모델 포워딩 메모리 프로파일링 후 남은 GPU 메모리에서 사용 가능한 캐시 블록 수 산정
  • 메모리 부족 시 단일 시퀀스는 재계산, 복수 시퀀스 그룹은 CPU 스왑으로 선점 처리
  • CUDA 커널의 워프·스레드 그룹 분할, 벡터화, 리덕션을 통한 KV 캐시 저장과 어텐션 병렬화

주의할 점

  • 분석 대상 구현체가 초기 vLLM v0.1.2 기반이어서 현재 구현과 차이 가능성
  • CUDA 구현 일부 해석에 추측성 내용 포함

다음 읽기

비슷한 주제의 AI 글

vLLM의 기술적 혁신과 성능 향상 이야기

vLLM의 핵심 기술과 성능 최적화 옵션, 그리고 v1 엔진의 구조 개선을 정리했습니다.\n기능 호환성과 운영 단순성을 높이면서 성능을 끌어올린 흐름을 함께 설명했습니다.

데보션
데보션
AI

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...