vLLM GPU Worker와 Model Runner
마지막 수정:
Engine core는 GPU 계산을 직접 하지 않는다. 실제 forward는 GPU worker와 model runner 쪽에서 실행된다.
worker의 책임은 scheduler output을 tensor 실행 입력으로 바꾸는 것이다.
SchedulerOutput
-> input ids
-> positions
-> sequence lengths
-> block tables
-> slot mappings
-> attention metadata
-> model forward
이 구분이 중요하다.
Scheduler:
무엇을 실행할지 정한다.
Worker / Model Runner:
그 결정을 GPU tensor와 kernel metadata로 바꾼다.
이 카드에서는 vLLM 코드에서 model runner가 어떤 입력을 만들고, forward 직전에 어떤 metadata를 attention backend에 넘기는지 추적한다.
확인
- scheduler output이 바로 model forward input이 될 수 없는 이유는 무엇인가?
- block table과 slot mapping은 worker에서 왜 다시 준비해야 하는가?
- model runner는 scheduler와 attention backend 사이에서 어떤 다리 역할을 하는가?