nano-vLLM Backend Comparison Report Lab

마지막 수정:

inferencenano-vllmbenchmarkreport

이 path의 마지막 산출물은 코드가 아니라 비교 리포트다.

compare_backends.py는 네 조합을 실행한다.

RMSNorm torch     + attention manual
RMSNorm torch     + attention sdpa
RMSNorm compiled  + attention manual
RMSNorm compiled  + attention sdpa

실행은 다음과 같다.

python3 labs/nano-vllm/optimization/compare_backends.py \
  --report labs/nano-vllm/optimization/report.md

리포트 표에는 다음 항목이 들어간다.

elapsed ms
TTFT ms
TPOT ms
tokens/sec
prefill step ms
decode step ms
fallback count

여기서 중요한 것은 가장 빠른 숫자 하나를 고르는 것이 아니다. RMSNorm은 왜 serving 전체에서 작게 보이는지, attention은 왜 prefill/decode로 나눠 봐야 하는지, compile fallback은 benchmark 해석을 어떻게 바꾸는지를 설명하는 것이다.

확인

  • 최종 리포트에 command와 setup이 반드시 들어가야 하는 이유는 무엇인가?
  • RMSNorm과 attention 결과를 같은 표에 넣으면 어떤 trade-off가 보이는가?
  • fallback count가 있는 결과를 “최적화 결과”로 주장하면 안 되는 이유는 무엇인가?