vLLM GPU Worker와 Model Runner

마지막 수정:

inferencevllmgpu-workermodel-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 사이에서 어떤 다리 역할을 하는가?