nano-vLLM Snapshot Code Strategy
마지막 수정:
nano-vLLM 구현 path는 하나의 최종 코드만 설명하지 않는다.
각 단계는 독립 실행 가능한 snapshot으로 남긴다.
labs/nano-vllm/
versions/
v00_naive_generate/
v01_request_state/
v02_step_loop/
v03_prefill_decode/
v04_continuous_batching/
v05_paged_kv_cache/
v06_model_runner_split/
초반에는 일부러 파일을 적게 둔다. 전체 inference loop가 한눈에 보여야 하기 때문이다.
후반으로 갈수록 파일을 분리한다. 분리는 설계 미학이 아니라, 실제 역할 경계가 생겼다는 신호다.
처음:
generate loop 하나
중간:
Sequence + Scheduler + Engine
후반:
Engine Core + BlockManager + ModelRunner
확인
- 왜 이 path에서는 코드 중복을 허용하는가?
- 초반부터 파일을 많이 나누면 어떤 이해 비용이 생기는가?
- 어떤 시점부터
ModelRunner를 분리하는 것이 자연스러운가?