TensorRT-LLM — NVIDIAの高性能LLM推論ライブラリ
LLMとVisual Genモデルの推論を最適化するNVIDIAのオープンソースライブラリ。カスタムカーネル、FP8/FP4量子化、投機的デコード。B200で40k tok/s超。
TensorRT-LLM(TRT-LLM)は、NVIDIA GPU上でLLMとVisual Genモデルの推論を最適化するNVIDIAのオープンソースライブラリ。attention/GEMM/MoE用カスタムカーネル、prefill-decode分離や投機的デコードなどのアルゴリズム的ランタイム最適化を、使いやすいPython APIの背後に提供します。Apache 2.0ライセンス、~14.3k GitHubスター、2024年3月からGitHubで完全オープンソース化。現行はリリース1.3(Python 3.10–3.12、CUDA 13.2、PyTorch 2.11)。
何を解決するのか#
LLM推論はメモリ帯域幅(重み + KVキャッシュ)と計算量に制約されます。一般的なフレームワークはその性能をほとんど引き出せません:
| ボトルネック | 素朴な方法 | TensorRT-LLM |
|---|---|---|
| attention | 汎用カーネル | FlashAttention型融合、XQAカーネル(Llama-70Bで2.4x) |
| 量子化 | FP16のみ | FP8、FP4、INT8、INT4(AWQ) |
| バッチ処理 | 静的 | In-flight/continuous batching、ページ化KVキャッシュ |
| デコード | greedyのみ | 投機的デコード、MTP |
| MoE | 高密度フォールバック | Wide Expert Parallelism |
アーキテクチャ#
C++のブラックボックスではなく、PyTorch上に構築:
- 高レベルPython LLM API — モデル定義、エンジン構築、生成実行を数行で
- attention、GEMM、MoE向けカスタムカーネル
- 実行を調整するPython + C++ランタイム
- モジュール式 — モデルはネイティブPyTorchで記述され、拡張が容易
- 単一GPUからマルチGPU / マルチノード(TP、PP、CP、EP)までスケール
より広いエコシステムとも統合:NVIDIA Dynamo(データセンター規模の分散サーバー)とTriton Inference Server。
主要な最適化#
| 最適化 | 効果 |
|---|---|
| カスタム融合カーネル | attention、GEMM、MoEルーティング |
| ページ化KVキャッシュ + prefix再利用 | メモリ浪費を削減、システムプロンプトを共有 |
| In-flight batching | GPU利用率を向上 |
| FP8 / FP4量子化 | DeepSeek-R1-FP4、約2倍のメモリ節約 |
| 投機的デコード(EAGLE型、N-gram、MTP) | Llama 3.3 70B:3倍のスループット |
| Prell/Decode分離 | 両フェーズを独立してスケール |
| Wide Expert Parallelism(EP) | MoEを多数のGPUへスケール |
| Multiblock attention | 長文スループット3x以上(H200) |
| MultiShot / NVSwitch | AllReduceを3倍高速化 |
| CUDA Graphバッチング | カーネル起動オーバーヘッドを低減 |
| LoRA | 複数アダプターの同時提供 |
性能の実績#
- Llama 4 — B200で40,000 token/s超
- Llama 4 Maverickで1,000 token/s/ユーザー超(Blackwell)
- H200 — Llama 2 13Bで約12,000 tok/s
- DeepSeek-R1:Blackwellで世界記録の推論(FP4)
- XQAカーネル:同じレイテンシ予算でLlama-70Bスループット2.4倍
- Falcon-180B INT4 AWQをH200単体で実行
Visual Generation#
2025年4月からTRT-LLMはVisual Genもカバー — 画像・動画向け拡散モデル。NVIDIAはNVL72ラック(72 GPU)での動画生成スケーリングにTRT-LLMを使用。
サーバーとデプロイ#
trtllm-serve llama-3.1-8b-instruct-fp8 # OpenAI互換サーバーbashtrtllm-bench latency --model <model-dir> # エンジンのベンチマークbash- 本番提供にはTriton Inference Serverバックエンド
- NVIDIA Dynamo、NIMと連携
- 新しいオープンウェイトモデルにDay-0対応(GPT-OSS、EXAONE 4.0、DeepSeek)
はじめに#
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(["TensorRT-LLMについて教えてください。"], params)
for out in outputs:
print(out.outputs[0].text)pythonpip install tensorrt-llm
# またはプリビルドwheel入りのNGCコンテナを使用bashTRT-LLM vs vLLM#
| 項目 | TRT-LLM | vLLM |
|---|---|---|
| ピークスループット | 2-3倍高い | 基準 |
| コールドスタート | 約28分のエンジンコンパイル | 約60秒 |
| ハードウェア | NVIDIA CUDAのみ | マルチプラットフォーム(ROCm、XPU、TPU、CPU) |
| OpenAI API | Tritonバックエンド経由 | ネイティブ |
| 量子化 | FP4/FP8/INT4 | FP8/FP4/INT4 |
| PagedAttention | 部分的 | ネイティブ |
2026年のコンセンサス:一般的なサーバーと移植性にはvLLM、NVIDIAハードウェアで絶対的なピーク性能を求め、コンパイル時間を許容できるならTRT-LLM。
注意点#
- NVIDIA GPUのみ対応
- エンジンのコンパイルは遅く(数分)、エンジンはGPUアーキテクチャ固有
- テレメトリがデフォルトで有効 —
TRTLLM_NO_USAGE_STATS=1または--no-telemetryでオプトアウト - APIに3ヶ月の非推奨ポリシー
まとめ#
TRT-LLMは、NVIDIAにおける最速のLLM・Visual Gen推論への道。実績は語ります:B200で40,000 tok/s超。代償はCUDAロックインとエンジンコンパイル時間。移植性よりNVIDIAハードウェアでのピーク性能を重視する場面で選ぶべきです。