TensorRT-LLM (2023)(テンソルアールティーエルエルエム2023)
NVIDIA 2023年10月発表 LLM 推論最適化スタック。Tensor Core 専用最適化・FP8/INT4 量子化・MultiGPU/MultiNode 対応
概要
TensorRT-LLM は NVIDIA が 2023年10月19日に発表した LLM 推論最適化スタック(GitHub: NVIDIA/TensorRT-LLM、Apache 2.0 ライセンス)。同社 GPU(A100/H100/L40/RTX 30/40 系)の Tensor Core 専用最適化・FP8/INT4 量子化・MultiGPU/MultiNode 分散推論対応で Llama・GPT・Falcon・MPT・Mistral・Mixtral・Gemma・Phi 等 30種以上の LLM をサポート。
NVIDIA は元々 TensorRT(深層学習推論エンジン、2017年発表)で画像系最適化を提供していたが、LLM 特有のパターン(KV キャッシュ・MultiHead Attention・パイプライン並列)に対応した拡張版が TensorRT-LLM。H100 + FP8 推論で Llama 2 70B を 4倍高速化(PyTorch 比)、A100 GPU 1基で Llama 2 13B を 1000 tok/s 達成。Triton Inference Server 統合で本番運用基盤としても完成度高い。
主な特徴・仕組み
- Tensor Core 最適化: NVIDIA GPU 専用 Tensor Core を flagrant 利用、FP16/BF16/FP8/INT8/INT4 サポート
- FP8 推論 (H100 限定): H100 Hopper 世代の FP8 Tensor Core 利用で性能 2倍・メモリ 50% 削減
- INT4 量子化: AWQ (Activation-aware Weight Quantization) + GPTQ 内蔵、4倍メモリ削減
- In-Flight Batching: Continuous Batching の NVIDIA 実装・スループット 5-10倍
- MultiGPU: Tensor 並列・Pipeline 並列・DeepSpeed-Inference 互換
- MultiNode: NCCL 経由でノード跨ぎ推論(70B 以上の超大規模対応)
- 対応 LLM: Llama 1/2/3・GPT-2/3.5・Falcon・MPT・Mistral・Mixtral・Gemma・Phi-2/3・Qwen・Baichuan 等 30種以上
- 対応 GPU: A100/H100/L40/L40S/A40/RTX 30/40 系・Jetson Orin
- API: Python API + C++ API + Triton Inference Server バックエンド
- OS バージョン: 0.13.0 (2024-09)・H100 + Llama 3 で 1500 tok/s
スペック比較表
| 項目 | TensorRT-LLM (2023) | vLLM | HuggingFace TGI | llama.cpp |
|---|---|---|---|---|
| 対応 GPU | NVIDIA のみ | NVIDIA + AMD | NVIDIA + AMD | NVIDIA + AMD + Apple + Intel |
| FP8 対応 | あり (H100) | なし | なし | なし |
| INT4 量子化 | AWQ + GPTQ | AWQ | GPTQ | GGUF + GPTQ |
| MultiGPU | Tensor + Pipeline | Tensor のみ | Tensor のみ | なし |
| 性能 (H100 Llama2 70B) | 8000 tok/s | 5000 tok/s | 4500 tok/s | N/A |
| ライセンス | Apache 2.0 | Apache 2.0 | Apache 2.0 | MIT |
具体例・対応製品
- NVIDIA NIM (2024-06): TensorRT-LLM 上のクラウドネイティブ推論プラットフォーム
- Triton Inference Server (2019-): NVIDIA 公式推論サーバ、TensorRT-LLM バックエンド
- NeMo Framework (2020-): NVIDIA AI フレームワーク、TensorRT-LLM 統合
- NVIDIA TensorRT-LLM 0.13 (2024-09): 最新版、Llama 3.1 405B サポート
- NVIDIA DGX H100 + TensorRT-LLM: 8x H100 + NVLink + NVSwitch 構成
選び方・注意点
- NVIDIA GPU 必須: AMD/Intel は対象外、純粋に NVIDIA エコシステム
- H100 でこそ真価: A100 でも動くが FP8 不可で性能向上限定、H100 + FP8 で本領発揮
- コンパイル必須: モデル毎にエンジンビルド(30分-2時間)、デプロイ前バッチ処理
- ビルド済みエンジン: ハードウェア依存(A100 ビルドは H100 で動かない)、各 GPU で再ビルド必須
- 量子化精度劣化: INT4 (AWQ/GPTQ) で精度 1-3% 低下、FP8 はほぼ無劣化
- vLLM との比較: vLLM の方がモデル切替・運用が柔軟、TensorRT-LLM は最高性能だが運用負担大
- CUDA バージョン: CUDA 12.4+ 推奨、ドライバ更新必須
関連用語との違い
| 用語 | 違い |
|---|---|
| TensorRT-LLM (2023) | NVIDIA 公式・Tensor Core 専用最適化 |
| FlashAttention-2 (2023) | attention 計算ライブラリ・他サーバが採用 |
| Continuous Batching (2022) | バッチ動的再配置・vLLM/TGI で実装 |
| GGUF Quantization (2023) | CPU/Apple Silicon 量子化フォーマット |
| BitNet (2024) | 1.58-bit 学習・推論専用ではない |
よくある質問(FAQ)
Q1: vLLM と TensorRT-LLM どちらを選ぶ? A: 最高性能・予算潤沢・モデル固定運用なら TensorRT-LLM(H100 + FP8 で vLLM の 1.6倍速)。モデル切替頻繁・運用簡便性重視なら vLLM。OSS コミュニティの活発度は vLLM 優位。
Q2: FP8 はどれくらい速い? A: H100 で FP16 比 2倍速・メモリ 50% 削減。Llama 2 70B が H100 1基(80GB)に収まるようになり(FP16 では 140GB 必要)、コスト効率劇的改善。精度劣化はほぼなし(< 0.5%)。
Q3: INT4 量子化は実用的? A: Llama 3 70B を H100 ではなく RTX 4090 24GB 1基で動かせる(FP16 では 140GB 必要 → INT4 では 35GB)。精度劣化 1-3%(MMLU で 78→76 等)で実用範囲。NVIDIA 公式 AWQ 実装で精度向上。
まとめ
- NVIDIA 2023年10月発表・LLM 推論最適化スタック
- Tensor Core 専用・FP8/INT4 量子化・MultiGPU
- H100 + FP8 で Llama 2 70B を 8000 tok/s
- 30種以上の LLM サポート・Triton Inference Server 統合
- Apache 2.0 オープンソース・NVIDIA エコシステム中核