vLLM Component Contract Report
마지막 수정:
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를 확장하는 문제인가?