triton-inference-server/backend
Common source, scripts and utilities for creating Triton backends.
何を解決するか
このプロジェクトは、Triton Inference Server用の「バックエンド」を作成するためのインフラストラクチャとドキュメントを提供します。バックエンドとは、モデルを実行する実際の実装であり、Tritonがさまざまなディープラーニングフレームワーク(PyTorch、TensorFlow、ONNX Runtimeなど)やカスタムC/C++ロジック(画像前処理など)をサポートできるようにします。
動作方法
Tritonは、バックエンドと通信するために標準化されたCインターフェース(Triton Backend API)を使用します。各バックエンドは、実行時にTritonがロードする共有ライブラリ(libtriton_<backend-name>.so と名付けられる)として実装されます。
APIは以下の主要な抽象化を定義しています:
- Backend:そのバックエンドを使用するすべてのモデルに共通する全体的な実装。
- Model:特定のロードされたモデルを表します。
- Model Instance:モデルの実行単位。Tritonはリクエストを処理するために複数のインスタンスを作成できます。
- Request/Response:バックエンドに入力テンソルを渡し、Tritonに出力テンソルを返すために使用されるオブジェクト。
対象ユーザー
- MLエンジニア:異なるフレームワークからモデルを単一の本番環境にデプロイする必要がある方。
- バックエンド開発者:Tritonエコシステム内で特定のモデル操作や前処理ステップを実行するためのカスタムC/C++またはPythonロジックを構築したい方。
特徴
- フレームワーク非依存:TensorRT、ONNX Runtime、TensorFlow、PyTorch、OpenVINO、vLLMなど、多数のフレームワークをサポート。
- 拡張可能:Cインターフェースを介して独自のカスタムバックエンドを作成できる。
- 柔軟なデプロイ:バックエンドをグローバルにインストールするか、特定のモデルバージョンとバンドルしてインストールできる。
- カスタムロジック:TorchScriptや他の形式に変換せずにPythonでモデルロジックを記述できるPythonバックエンドをサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト