TensorRT-LLM(テンソルアールティーエルエルエム)
NVIDIAが開発するLLM特化の高性能推論ライブラリ。TensorRTの最適化エンジンにLLM固有のIn-Flight Batching・FP8/INT4量子化・テンソル並列化を統合し、NVIDIA GPU上で最高水準のスループットを実現する。
TensorRT-LLMとは
TensorRT-LLM(テンソルアールティーエルエルエム)は、NVIDIAが2023年9月に公開したLLM(大規模言語モデル)特化の高性能推論最適化ライブラリです。NVIDIAのグラフ最適化・カーネルフュージョン技術の集大成であるTensorRTを土台として、LLM推論に必要なIn-Flight Batching・マルチGPUテンソル並列化・FP8/INT4量子化・Flash Attention最適化などを統合したエンタープライズグレードのフレームワークです。
2026年5月現在、GitHub Stars 9,000超・主要クラウドプロバイダー(AWS、Azure、GCP)がNVIDIA GPU最適化パスとして採用しており、特にH100/A100/H200クラスタにおける大規模LLMサービングで標準的なソリューションとなっています。
アーキテクチャとコンポーネント
1. TensorRTエンジン NVIDIA独自の推論最適化エンジン。演算の融合(Kernel Fusion)・メモリ最適化・精度調整(PTQ/QAT)を自動的に実施。CUDA対応GPUで最高性能を引き出すために各モデル・各GPU世代向けに特化したカーネルを生成します。
2. LLM専用モジュール
- Multi-Head Attention / GQA / MQA最適化: Flash Attention 2/3の統合・KVキャッシュのメモリ効率化
- In-Flight Batching: Continuous Batchingのエンタープライズ実装(NVIDIAの呼称)
- Inflight Fused Decoding(IFD): SpeculativeデコーディングをIn-Flightバッチと統合
- RoPE最適化: GPUカーネルレベルで最適化されたRotary Position Embedding実装
3. マルチGPU並列化
- テンソル並列化(Tensor Parallelism): モデルの各Attention/FFNレイヤーを複数GPUに分割
- パイプライン並列化(Pipeline Parallelism): モデルのレイヤーグループを異なるGPUに割り当て
- シーケンス並列化: 超長コンテキスト(128K+)処理のための並列化
量子化サポート
| 量子化形式 | 精度ロス | VRAM削減 | 主な用途 |
|---|---|---|---|
| FP16(デフォルト) | なし | ベースライン | 高品質最優先 |
| BF16 | 極小 | ほぼ同じ | NVIDIAアンペア以降推奨 |
| FP8(H100最適化) | 小 | 約50% | H100・H200で高速・高精度 |
| INT8(SmoothQuant) | 小〜中 | 約50% | A100/RTX 3090+ |
| INT4(GPTQ/AWQ) | 中 | 約75% | RTX 4090(VRAM節約) |
| W4A16(AWQ) | 小〜中 | 約75% | 精度と節約のバランス |
FP8量子化はH100/H200のTensorコアを直接活用し、FP16比でスループットが1.3〜1.7倍向上することが報告されています。
ベンチマーク比較(2025年実測)
Llama 3.1 70B、2xH100-SXM5(各80GB):
| フレームワーク | スループット(tok/s合計) | レイテンシ P50(ms/token) | 量子化 |
|---|---|---|---|
| TensorRT-LLM 0.12 | 1,820 | 4.2 | FP8 |
| vLLM 0.6.x | 1,100 | 7.1 | BF16 |
| DeepSpeed-MII | 980 | 8.3 | BF16 |
| HuggingFace TGI | 820 | 9.8 | BF16 |
Llama 3.1 8B、RTX 4090(24GB):
| フレームワーク | スループット(tok/s) | 量子化 |
|---|---|---|
| TensorRT-LLM 0.12 | 380 | INT4 (GPTQ) |
| vLLM 0.6.x | 248 | BF16 |
| SGLang 0.4.x | 231 | BF16 |
セットアップと使用方法
TensorRT-LLMはNVIDIA公式Dockerイメージ経由が推奨です:
# Dockerイメージ取得
docker pull nvcr.io/nvidia/tritonserver:24.12-trtllm-python-py3
# モデルのコンパイル(エンジンビルド)
trtllm-build --checkpoint_dir ./llama-3.1-8b-hf --output_dir ./llama-3.1-8b-trtllm --gemm_plugin float16 --max_batch_size 64 --max_input_len 4096 --max_output_len 1024
NVIDIA NIM(NVIDIA Inference Microservices)を使うとより簡単に:
docker run -it --gpus all -e NGC_API_KEY=YOUR_KEY nvcr.io/nim/meta/llama-3.1-8b-instruct:latest
vLLMとTensorRT-LLMの使い分け
| 観点 | vLLM | TensorRT-LLM |
|---|---|---|
| セットアップ難易度 | 簡単(pip install vllm) | やや複雑(Dockerビルド・エンジンコンパイル) |
| 起動時間 | 数分 | エンジンビルドに10〜30分 |
| 対応モデル数 | 100+(幅広い) | 主要モデルのみ(20〜30モデル) |
| スループット | 高 | 最高(vLLMより20〜65%高い場合も) |
| GPU要件 | NVIDIA CUDA | NVIDIA CUDA(H100でFP8最大活用) |
| プロダクション適合 | 高 | 最高(Triton統合) |
自作PCでの活用
RTX 4090(24GB): trtllm-buildでLlama 3.1 8BをINT4量子化してエンジンをビルドすると380 tok/sを達成。vLLMのBF16(248 tok/s)より53%高速。ただしエンジンビルドに約15分かかるため開発時はvLLMの即時起動が有利。
RTX 4080(16GB): Qwen2.5-7BをW4A16(AWQ)量子化でエンジンビルドすると約290 tok/s。Ollama比で約3倍のスループット。
よくある質問(FAQ)
Q1: TensorRT-LLMはOpenAI互換APIを提供しますか? A: TensorRT-LLM単体ではAPIサーバー機能は持ちません。NVIDIA Triton Inference Server(openai互換エンドポイント対応)やNVIDIA NIM経由でOpenAI互換APIとして提供します。
Q2: AMD GPUでは使えますか? A: TensorRT-LLMはNVIDIA GPU(CUDA)専用です。AMDやIntel GPU環境ではvLLM(ROCm対応版)やOnnxRuntimeが選択肢です。
Q3: モデルのコンパイルは毎回必要ですか? A: 同じモデル・同じGPU・同じ量子化設定なら一度ビルドしたエンジンファイルを再利用できます。モデルのアップデートや量子化設定変更時には再ビルドが必要です。
まとめ
- NVIDIAが開発するLLM特化の最高性能推論ライブラリ(2023年公開)
- FP8/INT4量子化・テンソル並列化・In-Flight Batchingを統合
- H100/A100環境ではvLLM比20〜65%のスループット向上が実証されている
- Triton Inference Serverとの統合によりエンタープライズグレードのデプロイが可能
- セットアップの複雑さはあるが最高スループットが必要な本番環境では最有力候補