TensorRT-LLM — Thư viện Inference Hiệu Suất Cao Của NVIDIA
Thư viện mã nguồn mở của NVIDIA cho inference LLM và Visual Gen — kernel tùy chỉnh, lượng tử hóa FP8/FP4, speculative decoding. Hơn 40k token/s trên B200.
TensorRT-LLM (TRT-LLM) là thư viện inference mã nguồn mở của NVIDIA dành cho Large Language Model và Visual Gen model trên GPU NVIDIA. Nó cung cấp các tối ưu hóa đỉnh cao — kernel tùy chỉnh cho attention/GEMM/MoE, cộng với các tối ưu runtime thuật toán như tách prefill-decode và speculative decoding — đằng sau một Python API dễ dùng. Giấy phép Apache 2.0, ~14.3k sao GitHub, mã nguồn mở hoàn toàn trên GitHub từ tháng 3/2024. Dòng hiện tại: release 1.3 (Python 3.10–3.12, CUDA 13.2, PyTorch 2.11).
Vấn Đề Nó Giải Quyết Là Gì?#
Inference LLM bị giới hạn bởi băng thông bộ nhớ (trọng số + KV cache) và tính toán. Framework thông thường bỏ lại hầu hết hiệu năng trên bàn:
| Nút thắt | Cách tiếp cận ngây thơ | TensorRT-LLM |
|---|---|---|
| Attention | Kernel tổng quát | Kiểu FlashAttention fused, kernel XQA (2.4x Llama-70B) |
| Lượng tử hóa | Chỉ FP16 | FP8, FP4, INT8, INT4 (AWQ) |
| Batch | Tĩnh | In-flight / continuous batching, paged KV cache |
| Decoding | Chỉ greedy | Speculative decoding, MTP |
| MoE | Fallback dense | Wide Expert Parallelism |
Kiến Trúc#
Xây dựng trên PyTorch, không phải hộp đen C++:
- Python LLM API cấp cao — định nghĩa model, build engine, chạy generation chỉ trong vài dòng
- Kernel tùy chỉnh cho attention, GEMM, MoE
- Runtime Python + C++ điều phối việc thực thi
- Mô-đun hóa — model viết bằng PyTorch native, dễ mở rộng
- Mở rộng từ 1 GPU đến multi-GPU / multi-node (TP, PP, CP, EP)
Tích hợp với hệ sinh thái rộng hơn: NVIDIA Dynamo (serving phân tán quy mô datacenter) và Triton Inference Server.
Các Tối Ưu Hóa Chính#
| Tối ưu hóa | Tác dụng |
|---|---|
| Kernel fused tùy chỉnh | Attention, GEMM, định tuyến MoE |
| Paged KV cache + tái dùng prefix | Giảm lãng phí bộ nhớ, dùng chung system prompt |
| In-flight batching | Tăng tận dụng GPU |
| Lượng tử hóa FP8 / FP4 | DeepSeek-R1-FP4, tiết kiệm ~2x bộ nhớ |
| Speculative decoding (kiểu EAGLE, N-gram, MTP) | Llama 3.3 70B: tăng 3x throughput |
| Tách Prefill/Decode | Mở rộng độc lập từng pha |
| Wide Expert Parallelism (EP) | Mở rộng MoE qua nhiều GPU |
| Multiblock attention | Tăng 3x+ throughput chuỗi dài (H200) |
| MultiShot / NVSwitch | AllReduce nhanh hơn 3x |
| CUDA Graph batching | Giảm overhead khởi chạy kernel |
| LoRA | Serving nhiều adapter |
Con Số Hiệu Năng#
- Llama 4 — hơn 40.000 token/s trên GPU B200
- Hơn 1.000 token/s/người dùng với Llama 4 Maverick trên Blackwell
- H200 — ~12.000 tok/s trên Llama 2 13B
- DeepSeek-R1: kỷ lục thế giới inference trên Blackwell (FP4)
- Kernel XQA: tăng 2.4x throughput Llama-70B trong cùng ngân sách latency
- Falcon-180B INT4 AWQ trên một chiếc H200
Visual Generation#
Từ tháng 4/2025, TRT-LLM còn phủ Visual Gen — model diffusion cho ảnh và video. NVIDIA đã mở rộng video generation trên rack NVL72 (72 GPU) bằng TRT-LLM.
Serving & Triển Khai#
trtllm-serve llama-3.1-8b-instruct-fp8 # Server tương thích OpenAIbashtrtllm-bench latency --model <thu-muc-model> # Benchmark enginebash- Backend Triton Inference Server cho serving production
- Hoạt động với NVIDIA Dynamo và NIM
- Hỗ trợ Day-0 cho model open-weights mới (GPT-OSS, EXAONE 4.0, DeepSeek)
Bắt Đầu#
from tensorrt_llm import LLM, SamplingParams
llm = LLM(model="nvidia/Llama-3.1-8B-Instruct-FP8")
params = SamplingParams(max_tokens=128, temperature=0.8)
outputs = llm.generate(["Hãy giới thiệu về TensorRT-LLM."], params)
for out in outputs:
print(out.outputs[0].text)pythonpip install tensorrt-llm
# hoặc kéo NGC container có sẵn wheelbashTRT-LLM vs vLLM#
| Tiêu chí | TRT-LLM | vLLM |
|---|---|---|
| Throughput đỉnh | Cao hơn 2-3x | Baseline |
| Cold start | ~28 phút compile engine | ~60 giây |
| Phần cứng | Chỉ NVIDIA CUDA | Đa nền tảng (ROCm, XPU, TPU, CPU) |
| OpenAI API | Qua backend Triton | Native |
| Lượng tử hóa | FP4/FP8/INT4 | FP8/FP4/INT4 |
| PagedAttention | Một phần | Native |
Đồng thuận 2026: vLLM cho serving tổng quát và khả chuyển; TRT-LLM khi bạn muốn hiệu năng đỉnh tuyệt đối trên phần cứng NVIDIA và chấp nhận thời gian compile.
Hạn Chế#
- Chỉ chạy trên GPU NVIDIA
- Compile engine chậm (nhiều phút), và engine gắn với kiến trúc GPU cụ thể
- Telemetry bật mặc định — có thể tắt bằng
TRTLLM_NO_USAGE_STATS=1hoặc--no-telemetry - Chính sách deprecation API 3 tháng
Kết Luận#
TRT-LLM là con đường của NVIDIA đến inference LLM và Visual Gen nhanh nhất. Con số đã nói lên: hơn 40.000 token/s trên B200. Cái giá phải trả: khóa chặt vào CUDA cộng thời gian compile engine. Chọn nó khi hiệu năng đỉnh trên phần cứng NVIDIA quan trọng hơn tính khả chuyển.