v09 Tiny Transformer Runner
마지막 수정:
이제 toy model을 제거하고 실제 PyTorch module을 붙인다.
읽을 코드:
labs/nano-vllm/versions/v09_tiny_transformer_runner/run.py
이번 버전의 ModelRunner는 다음 일을 한다.
Sequence list
-> padded input_ids tensor
-> TinyTransformerLM forward
-> last position logits
-> Sampler
-> token ids
아직 진짜 KV cache를 사용하지는 않는다. 매 decode step에서 전체 sequence를 다시 forward한다.
이 비효율은 의도적이다. 이 단계의 목표는 engine contract를 실제 model logits에 연결하는 것이다. KV cache tensor 최적화는 다음 path인 nano-vLLM 커널 최적화에서 다룬다.
확인
- toy rule model에서 PyTorch Transformer로 바뀌어도 scheduler contract가 크게 바뀌지 않는 이유는 무엇인가?
prepare_prefill과prepare_decode는 왜 model-specific boundary가 되는가?- 지금 구현이 decode에서 비효율적인 이유는 무엇인가?