nano-vLLM Serving Benchmark Baseline
마지막 수정:
커널을 교체하기 전에 serving 기준선이 있어야 한다.
이 lab의 기준선은 labs/nano-vllm/optimization에 있다.
python3 labs/nano-vllm/optimization/check_correctness.py
python3 labs/nano-vllm/optimization/benchmark.py --rmsnorm-backend torch --attention-backend manual
측정하는 값은 세 가지다.
TTFT:
첫 token이 나오기까지 걸린 시간
TPOT:
첫 token 이후 token당 평균 시간
tokens/sec:
전체 생성 throughput
이 baseline은 production vLLM 성능을 흉내내려는 것이 아니다. 작은 엔진에서 교체 지점, correctness check, serving metric의 연결을 눈으로 확인하기 위한 기준선이다.
확인
- kernel 단독 benchmark 전에 serving baseline이 필요한 이유는 무엇인가?
- TTFT와 TPOT은 각각 prefill/decode 중 어디와 더 강하게 연결되는가?
- 같은 kernel speedup이 tokens/sec와 TTFT에 다르게 보일 수 있는 이유는 무엇인가?