PagedAttention은 KV cache를 블록으로 다뤄
vLLM은 KV cache를 운영체제의 메모리 페이지처럼 고정 크기 블록에 저장하고 sequence마다 블록 표를 관리해. 빈 조각이 흩어지는 현상을 크게 줄여 같은 GPU에 더 많은 동시 요청을 담을 수 있어.
연속 배치는 가장 느린 요청을 기다리지 않아
고정 배치는 요청 N개를 함께 시작하고 가장 긴 요청이 끝날 때까지 자리를 비우지 못해. 연속 배치는 디코딩 단계마다 끝난 sequence를 빼고 대기 중인 sequence를 넣어. 길이가 다른 요청이 섞인 순간 트래픽에서 처리량이 크게 오르는 이유야.
온라인과 오프라인에 맞는 입구가 따로 있어
vllm serve {model_id}는 OpenAI 호환 서버를 열어 기존 클라이언트와 연결해.- 오프라인 배치에서는 Python의
LLM과SamplingParams를 사용해.