요약
vLLM v0.27.0이 2026년 8월 10일에 출시됐다. 242명의 기여자(신규 64명)가 561개 커밋을 쌓은 이번 릴리스는 단순한 기능 추가가 아니라 세 개의 구조적 전환을 동시에 완성했다.
- Kimi K3 전 스택 착지 — 2.8조 파라미터 하이브리드 MoE 모델을 위한 커널·양자화·DSpark 경로가 한 릴리스에 통합됐다.
- Model Runner V2(MRv2) 비생성 확장 — 임베딩·분류 등 인코더 전용 작업이 MRv2 경로로 합류했다.
- Rust 프론트엔드 gRPC 제어면 — 엔진 상태·모델 발견·KV 이벤트 소스까지 gRPC로 통일해 멀티엔진 운영의 기반을 마련했다.
함께 도착한 것들: FlashAttention 4 FP8 + headdim-256(SM100), PyTorch 2.13.0, NVIDIA Rubin(sm_107) 조기 지원, 분산 서빙 내결함성 프레임워크.
- GitHub: vllm-project/vllm v0.27.0 · 2026-08-10 출시
릴리스 규모와 흐름
v0.25 → v0.26 → v0.27 연속성
| 버전 | 출시일 | 핵심 변화 |
|---|---|---|
| v0.25.0 | 2026-07-14 | MRv2 기본화, PagedAttention 삭제, Rust 프론트엔드 DP supervisor |
| v0.26.0 | 2026-07-25 | 어텐션 백엔드 KV 그룹별 선택, 3계층 KV 오프로딩(객체 스토어 2차 계층), Inkling 1T 모델 Day-0 |
| v0.27.0 | 2026-08-10 | Kimi K3 전 스택, MRv2 비생성, gRPC 제어면, FA4 FP8, Rubin sm_107 |
v0.25에서 MRv2가 기본 경로가 됐고, v0.26에서 KV 계층화가 안정됐으며, v0.27에서 MRv2를 비생성 작업(임베딩, 분류)으로 확장하고 제어면을 gRPC로 통일했다. 각 릴리스가 이전 릴리스의 기반 위에서 경계를 확장하는 구조다.
1. Kimi K3 전 스택: 한 릴리스에 담은 것들
Kimi K3는 2.8조 파라미터 MoE + KDA(Kimi Delta Attention) 하이브리드 선형 어텐션 모델이다. 이 모델을 vLLM에서 효율적으로 서빙하려면 일반 트랜스포머와 다른 경로가 필요하다.
v0.27.0이 Kimi K3에 추가한 것
| 구성 요소 | 내용 |
|---|---|
| AttnRes 커널 | KDA 하이브리드 레이어(3:1 선형:전체 어텐션)를 위한 커스텀 어텐션 커널 |
| DeepGEMM 지원 | MoE 희소 행렬곱 최적화, 라우팅 연산 가속 |
| DSpark AR 퓨전 | 투기적 디코딩을 자기회귀 경로에 직접 퓨전해 TPOT 단축 |
| 공유 전문가 샤딩 | 기존 복제(replication) 대신 샤딩을 선택할 수 있는 옵션 추가, 64+ GPU 환경에서 메모리 절감 |
| compressed-tensors 체크포인트 | HuggingFace 생태계 양자화 형식(MXFP4 QAT 포함) 직접 로드 |
Kimi K3는 두 가지 복잡성을 가진다. 하나는 KDA 레이어마다 어텐션 계산이 달라진다는 것(표준 MHA 커널 재사용 불가), 또 하나는 896개 전문가 MoE의 라우팅 오버헤드다. DeepGEMM과 AttnRes는 각각 이 두 병목을 겨냥한다.
2. Model Runner V2(MRv2) 비생성 확장
v0.25에서 MRv2는 덴스 모델 생성 경로의 기본이 됐다. v0.27에서는 비생성 작업으로 영역을 넓혔다.
왜 MRv2 통일이 중요한가
레거시 추론 경로(v0 Runner)는 비생성 작업을 별도 코드 경로로 처리했다. 이 분기는 두 가지 문제를 낳았다.
- KV 캐시 관리 불일치: 생성과 임베딩 사이에서 캐시 힌트가 공유되지 않았다.
- 플러그인 지원 중복: 어텐션 백엔드, 양자화 플러그인이 두 경로 각각 지원해야 했다.
MRv2가 임베딩·분류를 흡수하면서 이 분기가 해소됐다. 운영 관점에서는 embedding 엔드포인트와 chat 엔드포인트가 동일한 스케줄러, 동일한 메모리 관리자 아래 실행된다는 의미다.
3. FlashAttention 4: FP8 KV 캐시와 headdim-256
FA4는 v0.26에서 SM100(H100/B200)에 처음 도입됐다. v0.27에서 두 가지가 추가됐다.
FP8 KV 캐시 지원
FA4의 Hopper 패스에 FP8 KV 캐시를 직접 소비하는 경로가 추가됐다. 기존 FA3/FlashInfer에서는 FP8 KV를 BF16으로 dequant한 뒤 어텐션 연산을 수행했다. FA4 FP8 경로는 이 변환 없이 Tensor Core에서 직접 처리한다.
| 비교 | FA3/FlashInfer FP8 | FA4 FP8 (v0.27) |
|---|---|---|
| KV 메모리 | FP8 저장 → BF16 변환 후 연산 | FP8 저장 → FP8로 직접 Tensor Core 연산 |
| dequant 오버헤드 | 있음 | 없음 |
| 정밀도 | BF16 어텐션 결과 | FP8 내부 누적 (출력은 BF16) |
| 적용 하드웨어 | H100 이상 FA3 지원 | SM100(H100/B200) FA4 한정 |
headdim-256 지원
기존 FA4는 headdim-128까지만 지원했다. v0.27에서 headdim-256이 추가됐다. 이는 Qwen3.5 MoE 및 MLA(Multi-head Latent Attention) 변형 모델들이 활용하는 헤드 크기다.
JIT 워밍업 인프라
FA4는 모델-형태별로 Triton 커널을 JIT 컴파일한다. 첫 요청에서 컴파일이 일어나면 지연이 급증한다. v0.27의 JIT 워밍업 인프라는 서버 시작 시 예상 입력 형태를 미리 컴파일해 초기 p99 스파이크를 제거한다.
4. Rust 프론트엔드 gRPC 제어면
v0.25에서 Rust 프론트엔드는 HTTP/mTLS + DP supervisor를 갖췄다. v0.27에서는 gRPC 제어면을 추가해 분산 추론 운영에 필요한 원격 관리 API를 제공한다.
gRPC 제어면이 해결하는 문제
기존 vLLM은 엔진 상태를 HTTP 헬스체크(/health, /metrics) 하나로 노출했다. 이 방식은 두 가지 한계가 있었다.
- 엔진별 세분화 불가: 여러 DP 복제본 중 어느 것이 느린지 HTTP 폴링으로는 구분이 어렵다.
- KV 이벤트 소스 비가시성: 분리 서빙(PD disaggregation)에서 프리필 노드가 생성한 KV 캐시를 디코드 노드가 어떻게 라우팅할지 제어 정보가 없었다.
gRPC 제어면은 엔진별 상태(부하, 큐 깊이, KV 캐시 점유율)를 스트리밍으로 전달하고, KV 이벤트 소스를 동적으로 등록·발견하게 한다. 외부 로드밸런서가 이 정보를 기반으로 라우팅을 결정할 수 있다.
5. 하드웨어: Rubin(sm_107)과 ROCm gfx1250
NVIDIA Rubin 조기 지원
v0.27.0은 sm_107 컴파일 타깃을 추가하고, NVLink all-reduce 경로를 SM107에서 활성화했다. Rubin(GB300/R100)은 아직 출시 전이지만, vLLM은 에뮬레이터와 얼리 액세스 하드웨어에서 실행이 검증된 상태로 배포됐다.
GPU 아키텍처 sm 번호 진행
H100 (Hopper) → sm_90
B200 (Blackwell) → sm_100
R100 (Rubin) → sm_107 ← v0.27.0 조기 지원ROCm gfx1250
AMD의 RDNA 4 기반 Strix Point APU 아키텍처(gfx1250)가 활성화됐다. v0.26에서 이미 Strix Halo(gfx1201)에 W4A16 커널이 최적화됐고, gfx1250은 그 다음 세대 타깃이다. AMD 가속기 생태계 지원의 연속성이다.
6. 분산 서빙: 내결함성과 Elastic EP
DP+EP 외부 로드밸런서 내결함성
v0.27.0은 DP(데이터 병렬)+EP(전문가 병렬) 외부 로드밸런서 배포를 위한 내결함성 프레임워크를 추가했다. 이전 버전에서는 EP 워커 하나가 죽으면 전체 서빙 그룹을 재시작해야 했다. 내결함성 프레임워크는 실패한 EP 슬롯을 격리하고 나머지 워커로 서비스를 지속한다.
Elastic EP 비동기 준비
엘라스틱 스케일링 시나리오에서 EP 워커를 추가할 때, 기존에는 새 워커가 완전히 초기화될 때까지 모든 요청이 블로킹됐다. async preparation은 새 워커가 백그라운드에서 초기화되는 동안 기존 워커가 계속 서빙하도록 한다.
7. 새 모델과 PyTorch 업그레이드
새로 지원되는 모델
| 모델 | 특징 |
|---|---|
| Qwen3.5 (덴스·MoE) | headdim-256, video token pruning 추가 |
| K-EXAONE-2.0-750B-A37B | LG AI Research 한국어 특화 MoE |
| VaultGemma | 보안 도메인 Gemma 변형 |
| jina-embeddings-v5-text-nano | MRv2 임베딩 경로 첫 번째 주요 모델 |
PyTorch 2.13.0 업그레이드
| 의존성 | 이전 | v0.27.0 |
|---|---|---|
| PyTorch | 2.12.x | 2.13.0 |
| torchvision | 0.27.x | 0.28.0 |
| Triton | 3.6.x | 3.7.1 |
PyTorch 2.13의 torchao.float8 안정 API와 FP8 훈련 개선이 포함됐다. Triton 3.7.1은 JIT 컴파일 성능 개선과 SM107 타깃 코드 생성을 지원한다.
8. 운영 체크리스트
업그레이드 전 확인
1. PyTorch 2.13.0 호환성
- torch.compile 사용 중이라면 Triton 3.7.1 API 변경 확인
- 커스텀 CUDA 확장이 있다면 sm_90/sm_100 재컴파일 필요 여부 검토
2. MRv2 임베딩 경로 전환
- /v1/embeddings 엔드포인트가 MRv2를 사용하는지 확인
- 레거시 v0 Runner 기반 임베딩 서버와 동작 차이 검증 필요
3. gRPC 제어면 포트
- 기본 gRPC 포트(기본값 8001)가 방화벽에서 열려 있는지 확인
- 오케스트레이터(KServe 등)가 gRPC health check를 사용한다면 프로브 설정 업데이트
4. Kimi K3 배포
- 64+ GPU 슈퍼노드 필요 (NVLink 연결 권장)
- vLLM 0.27.0 네이티브 AttnRes+DeepGEMM 스택 확인
- compressed-tensors 양자화 체크포인트 형식 준비
5. FA4 FP8 경로
- SM100(H100/B200)에서만 유효
- 첫 서버 시작 시 JIT 워밍업으로 지연 발생 → 로드밸런서 헬스체크 타임아웃 여유 설정사용 가능한 새 지표
vllm:kv_offload_tier_events_total{tier="OBJ"} # 객체 스토어 KV 오프로드 이벤트
vllm:mrv2_nongen_requests_total # MRv2 비생성 요청 수
vllm:ep_fault_recovered_total # EP 내결함성 복구 횟수
vllm:grpc_control_plane_latency_seconds # gRPC 제어면 응답 지연정리
vLLM 0.27.0의 세 가지 변화는 방향이 같다: 분산 추론의 운영 제어면을 강화한다.
Kimi K3 전 스택은 새로운 하이브리드 모델 아키텍처를 지원하는 것 이상이다 — AttnRes, DeepGEMM, DSpark가 각각 다른 병목을 겨냥하며 한 릴리스에 동시 착지했다. MRv2의 비생성 확장은 임베딩과 생성을 같은 스케줄러로 통합해 메모리 관리 중복을 없앤다. gRPC 제어면은 멀티노드 환경에서 엔진 상태와 KV 이벤트를 외부 오케스트레이터가 활용할 수 있게 연다.
FA4 FP8, Rubin sm_107, PyTorch 2.13.0은 다음 세대 하드웨어와 수치 포맷으로의 이행을 준비한다.
References
- GitHub Release: https://github.com/vllm-project/vllm/releases/tag/v0.27.0
- vLLM Official X 릴리스 공지: https://x.com/vllm_project
- Freedom.Tech vLLM 0.27.0: https://freedom.tech/posts/2026-08-10-vllm-0-27-0/
- vLLM KV Offloading Usage Guide: https://docs.vllm.ai/en/latest/features/kv_offloading_usage/
- NVIDIA Transformer Engine FP8: https://docs.nvidia.com/deeplearning/transformer-engine/user-guide/
- Kimi K3 Technical Report: https://arxiv.org/abs/2607.24653
- PyTorch 2.13 Release Notes: https://pytorch.org/blog/pytorch-2.13/