v10 Original Mapping Report
마지막 수정:
마지막 단계는 구현이 아니라 mapping report다.
읽을 코드:
labs/nano-vllm/versions/v10_original_mapping_report/report.md
실행:
cd labs/nano-vllm/versions/v10_original_mapping_report
python3 run.py
이 리포트는 실습 snapshot을 원본 nano-vLLM 코드에 대응시킨다.
LLMEngine:
nano-vllm/nanovllm/engine/llm_engine.py
Sequence:
nano-vllm/nanovllm/engine/sequence.py
Scheduler:
nano-vllm/nanovllm/engine/scheduler.py
BlockManager:
nano-vllm/nanovllm/engine/block_manager.py
ModelRunner:
nano-vllm/nanovllm/engine/model_runner.py
Attention:
nano-vllm/nanovllm/layers/attention.py
이 단계가 끝나면 원본 nano-vLLM을 처음부터 읽지 않아도 된다. 먼저 자신이 만든 작은 engine의 개념을 가지고 원본 파일을 찾아 들어갈 수 있다.
확인
- 원본
ModelRunner가 tutorialModelRunner보다 훨씬 복잡한 이유는 무엇인가? - 원본
Scheduler가 chunked prefill과 preemption을 추가하는 이유는 무엇인가? - 이 tutorial에서 일부러 남겨둔 단순화는 다음 path에서 어떤 실험으로 이어지는가?