nano-vLLM Backend Comparison Report Lab
마지막 수정:
이 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가 있는 결과를 “최적화 결과”로 주장하면 안 되는 이유는 무엇인가?