vLLM Component Contract Report

마지막 수정:

inferencevllmcode-readingreport

vLLM deep dive의 산출물은 기능 요약이 아니라 component contract 지도다.

리포트 형식은 고정한다.

component
code location
input
output
state owned
important methods
data objects crossing boundary
single-GPU assumption
multi-GPU / multi-model expansion point
open questions

예시는 다음과 같다.

API Server -> Engine Core
- input: external request
- output: internal engine request
- state owned: request id / streaming response state
- expansion question: multiple engines or routing layer?

Engine Core -> GPU Worker
- input: scheduler output
- output: worker/model output
- state owned: request state, KV allocation ownership
- expansion question: worker group, TP ranks, proposer/verifier workers?

이 리포트는 nano-vLLM 구현의 설계 문서가 된다. vLLM에서 본 책임 경계와 data contract를 작은 구현으로 옮기기 때문이다.

확인

  • 기능별 요약보다 component boundary를 먼저 보는 이유는 무엇인가?
  • data object가 경계를 넘을 때 형식이 바뀌는 지점을 기록해야 하는 이유는 무엇인가?
  • multi-GPU나 speculative decoding은 어떤 contract를 확장하는 문제인가?