v09 Tiny Transformer Runner

마지막 수정:

inferencenano-vllmtransformerpytorch

이제 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_prefillprepare_decode는 왜 model-specific boundary가 되는가?
  • 지금 구현이 decode에서 비효율적인 이유는 무엇인가?