Nvidia의 새로운 LLM Inference 라이브러리
Nvidia에서 TensorRT-LLM (TRT-LLM) 이름으로 새로운 LLM Inference 라이브러리를 공식 릴리즈했습니다. Announcement blog: https://developer.nvidia.com/blog/optimizing-inference-on-llms-with-tensorrt-llm-now-publicly-available/ TensorRT-LLM: https://github.com/NVIDIA/TensorRT-LLM Nvidia에서는 BERT, GPT, T5, ViT 등 다양한 Transformer 구조의 모델들에 대해서 inference 속도를 최적화 하기 위해 개발하던 Faster Transformer 라이브러리가 있었습니다만, 이제는 LLM 전용으로 Inference 최적화를 하는 TensorRT-LLM으로 넘어갔습니다. Faster Transformer v5.3 이후 이제 더이상 Nvidia에서 maintain하지 않습니다. LLM 서빙 비용을 생각하면 vLLM, Orca 등과 같이 Throughput 측면에서 최적화가 더 중요해졌기 때문에 그 관점에서 많은 부분들이 개선되었습니다. Faster Transformer 대비 TRT-LLM의 주요 특징들을 정리하자면 아래 정도가 될 것 같습니다. - 기존의 GPT 계열 뿐만 아니라 Llama 계열의 모델들도 지원 - FlashAttention-2 기반의 Multi-head attention (MHA) 커널 적용 - vLLM에서 사용되는 paged attention 기반의 KV cache 최적화 적용 - vLLM, Orca에서 continuous batching 혹은 iteration-level batching 이라고 하는 전략을 TRT-LLM에서는 In-flight batching 이름으로 구현 - fp8 기반에서 최적화된 quantization 지원 - Faster Transformer처럼 Triton Inference Server의 backend로 지원 https://github.com/triton-inference-server/tensorrtllm_backend 성능은 아래 페이지에서 확인하실 수 있습니다. Latency, Throughput, GPU util 등이 몇 배 좋아졌다 얘기하진 않겠습니다. 리포트 되는 수치만큼 안나오는 경우도 많기 때문에 직접 개발환경에서 확인해보시는게 좋습니다^^ (FT와 vLLM 등 다른 서빙 방법과의 비교 결과도 있으면 좋았을텐데...아쉽네요) https://github.com/NVIDIA/TensorRT-LLM/blob/release/0.5.0/docs/source/performance.md