nano-vLLM Minimal Architecture

마지막 수정:

inferencenano-vllmarchitecture

nano-vLLM은 production vLLM의 축소판이다.

처음부터 모든 기능을 넣지 않는다. 최소 구현은 세 층이면 충분하다.

Frontend:
request 생성과 결과 출력

Engine Core:
request queue, scheduler, KV block manager

Worker:
model forward, KV cache read/write, sampling

처음 산출물은 OpenAI-compatible server가 아니라 Python 안에서 동작하는 작은 engine이면 된다.

engine.add_request(prompt_tokens)
while engine.has_unfinished_requests():
    outputs = engine.step()

확인

  • nano-vLLM에서 처음부터 HTTP server를 만들 필요가 없는 이유는 무엇인가?
  • Engine core와 worker를 분리하면 어떤 실험이 쉬워지는가?
  • production vLLM에서 빼도 되는 기능과 반드시 남겨야 하는 기능은 무엇인가?