vLLM Engine Core와 Request State

마지막 수정:

inferencevllmengine-corerequest-state

Engine core는 vLLM의 교통 관제소다.

핵심은 model forward가 아니라 request state를 전진시키는 일이다.

waiting request
running request
finished request

prompt tokens
generated tokens
num computed tokens
sampling params
KV cache blocks

Engine core는 매 step마다 다음 질문에 답한다.

어떤 request를 이번 step에 실행할 것인가?
각 request에서 몇 token을 계산할 것인가?
KV cache 공간은 충분한가?
worker에게 어떤 실행 지시를 보낼 것인가?

여기서 중요한 것은 engine core가 GPU tensor를 직접 만들지 않는다는 점이다. Engine core는 policy와 state ownership을 가진다. GPU worker는 그 결과를 device tensor와 kernel metadata로 바꾼다.

확인

  • Engine core가 request state를 소유해야 하는 이유는 무엇인가?
  • num computed tokens는 prefill/decode 전환에서 어떤 의미를 갖는가?
  • Engine core가 직접 model forward를 실행하지 않는 구조의 장점은 무엇인가?