nano-vLLM Snapshot Code Strategy

마지막 수정:

inferencenano-vllmcode-structure

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를 분리하는 것이 자연스러운가?