nano-vLLM Minimal Architecture
마지막 수정:
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에서 빼도 되는 기능과 반드시 남겨야 하는 기능은 무엇인가?