blog.dopana

Back

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ắtCách tiếp cận ngây thơTensorRT-LLM
AttentionKernel tổng quátKiểu FlashAttention fused, kernel XQA (2.4x Llama-70B)
Lượng tử hóaChỉ FP16FP8, FP4, INT8, INT4 (AWQ)
BatchTĩnhIn-flight / continuous batching, paged KV cache
DecodingChỉ greedySpeculative decoding, MTP
MoEFallback denseWide 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óaTác dụng
Kernel fused tùy chỉnhAttention, GEMM, định tuyến MoE
Paged KV cache + tái dùng prefixGiảm lãng phí bộ nhớ, dùng chung system prompt
In-flight batchingTăng tận dụng GPU
Lượng tử hóa FP8 / FP4DeepSeek-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/DecodeMở rộng độc lập từng pha
Wide Expert Parallelism (EP)Mở rộng MoE qua nhiều GPU
Multiblock attentionTăng 3x+ throughput chuỗi dài (H200)
MultiShot / NVSwitchAllReduce nhanh hơn 3x
CUDA Graph batchingGiảm overhead khởi chạy kernel
LoRAServing 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 OpenAI
bash
trtllm-bench latency --model <thu-muc-model> # Benchmark engine
bash
  • 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)
python
pip install tensorrt-llm
# hoặc kéo NGC container có sẵn wheel
bash

TRT-LLM vs vLLM#

Tiêu chíTRT-LLMvLLM
Throughput đỉnhCao hơn 2-3xBaseline
Cold start~28 phút compile engine~60 giây
Phần cứngChỉ NVIDIA CUDAĐa nền tảng (ROCm, XPU, TPU, CPU)
OpenAI APIQua backend TritonNative
Lượng tử hóaFP4/FP8/INT4FP8/FP4/INT4
PagedAttentionMột phầnNative

Đồ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=1 hoặ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.

Tài liệu tham khảo#