nano-vLLM RMSNorm Kernel Swap
마지막 수정:
RMSNorm은 첫 kernel swap 대상으로 좋다.
이유는 작고 correctness 비교가 쉽기 때문이다.
PyTorch RMSNorm
-> custom CUDA RMSNorm
-> optimized CUDA RMSNorm
교체 절차는 다음이다.
1. 같은 input에서 output close 확인
2. standalone RMSNorm latency 비교
3. nano-vLLM model forward에 연결
4. TTFT/TPOT/throughput 전후 비교
RMSNorm이 단독으로 빨라져도 serving 전체 개선은 작을 수 있다. 이 차이를 기록하는 것이 이 카드의 핵심이다.
확인
- RMSNorm은 왜 첫 kernel swap 대상으로 적당한가?
- standalone speedup과 serving speedup이 다를 수 있는 이유는 무엇인가?
- output close 확인은 어떤 dtype tolerance로 봐야 하는가?