Triton Inference Server(トライトンインファレンスサーバー)
NVIDIAが開発するオープンソースの推論サービングプラットフォーム。複数のMLフレームワーク(PyTorch、TensorFlow、TensorRT、ONNX等)のモデルを統一的にデプロイ・管理できる。
Triton Inference Serverとは
Triton Inference Server(旧称 TensorRT Inference Server)は、NVIDIA が開発・提供するオープンソースの推論サービングソフトウェアです。PyTorch、TensorFlow、TensorRT、ONNX Runtime、OpenVINO など主要なMLフレームワークのモデルを単一のサーバーインスタンスから統一的にサービングできます。GPUとCPUの両方に対応し、HTTPとgRPCの推論プロトコルを標準サポートします。
主要機能
マルチフレームワーク対応
Triton は「バックエンド」アーキテクチャを採用しており、各フレームワークがプラグインとして実装されています。1つのサーバーで異なるフレームワークのモデルを同時にホストでき、モデルごとに最適なランタイムを選択できます。
| バックエンド | 対応形式 | 主な用途 |
|---|---|---|
| TensorRT | .plan | 最高性能推論 |
| PyTorch | TorchScript, torch.compile | 研究→本番移行 |
| ONNX Runtime | .onnx | クロスプラットフォーム |
| TensorFlow | SavedModel | レガシーモデル |
| Python | カスタムスクリプト | 前処理/後処理 |
| vLLM | LLMモデル | LLM推論特化 |
Dynamic Batching
個別に到着した推論リクエストを自動的にバッチにまとめて処理します。バッチ形成の待機時間(max_queue_delay_microseconds)とバッチサイズ上限(max_batch_size)を設定でき、レイテンシとスループットのトレードオフを調整できます。
Model Pipeline(Ensemble)
複数のモデルを連鎖させてパイプラインを構成できます。例えば、前処理(Python バックエンド)→ 特徴抽出(ResNet)→ 分類(LightGBM)のような多段構成を1つの推論リクエストで実行できます。
Model Analyzer
デプロイ前にモデルのスループット、レイテンシ、メモリ使用量をプロファイリングするツールです。バッチサイズやインスタンス数の最適値を自動的に探索します。
LLMサービングでの活用
Triton は vLLM バックエンドとの統合により、LLMサービングにも対応しています。PagedAttention、Continuous Batching、テンソル並列化などの最新技術を Triton のモデル管理・監視・負荷分散機能と組み合わせて使用できます。
設定例(model.pbtxt)
name: "llama-70b"
backend: "vllm"
max_batch_size: 0
model_transaction_policy { decoupled: True }
input [ { name: "text_input" data_type: TYPE_STRING dims: [1] } ]
output [ { name: "text_output" data_type: TYPE_STRING dims: [1] } ]
parameters { key: "tensor_parallel_size" value: { string_value: "4" } }
デプロイ構成
Triton は Docker コンテナとして提供され、Kubernetes 上での運用が一般的です。NVIDIA GPU Operator と組み合わせることで、GPU ノードの自動検出とドライバ管理が自動化されます。Prometheus メトリクス出力を標準サポートしており、Grafana でのモニタリングが容易です。
FAQ
Q1: Triton Inference ServerとvLLMはどう使い分けますか?
A1: LLM専用なら vLLM 単体で十分です。Triton は、LLM に加えて画像認識・音声認識・推薦システムなど多様なモデルを1つのインフラで管理したい場合に強みがあります。エンタープライズ向けのモデルバージョン管理・A/Bテスト・監視機能が必要な場合も Triton が適しています。
Q2: Tritonは無料で使えますか?
A2: Triton Inference Server 自体は Apache 2.0 ライセンスのオープンソースです。ただし、最高性能を引き出すには NVIDIA GPU と対応ドライバが必要です。エンタープライズサポートは NVIDIA AI Enterprise ライセンスで提供されます。
Q3: CPU だけでも動作しますか?
A3: はい。ONNX Runtime バックエンドや OpenVINO バックエンドを使用すればCPUのみでも動作します。ただしLLMのような大規模モデルではGPUが実質必須です。軽量モデルの推論やGPU不足時のフォールバックとしてCPU推論を併用する構成が実用的です。