triton-inference-server/client

Triton Python, C++ and Java client libraries, and GRPC-generated client examples for go, java and scala.

何を解決するか

Triton Inference Server との通信プロセスを簡素化します。手動で生のネットワークリクエストを構築するのではなく、これらの標準化されたクライアントライブラリを使用して、モデル推論、サーバーの健全性とステータスの確認、統計情報やメトリクスの取得、モデルリポジトリの管理が可能になります。

仕組み

このプロジェクトは、Triton が使用する通信プロトコルをラップする複数のプログラミング言語向け API を提供します。2 つの主要なトランスポートプロトコルをサポートしています:

  • HTTP/REST:リクエストを送信するための標準的なウェブベースのアプローチ。
  • gRPC:高性能なリモートプロシージャコールフレームワーク。

高パフォーマンスなデータ転送のため、ライブラリはシステム共有メモリおよび CUDA 共有メモリを使用して入力データを渡し、出力データを受信する機能を備えており、クライアントとサーバー間でのデータコピーのオーバーヘッドを削減します。

対象ユーザー

C++、Python、または Java を使用して、AI モデルの予測のためにデータを Triton Inference Server に送信する必要があるアプリケーションを開発している開発者。

主な特徴

  • 多言語対応:C++、Python、Java 用の公式ライブラリ。protoc コンパイラを介して、他の多くの言語向けの gRPC スタブも利用可能。
  • 高性能データ転送:CUDA およびシステム共有メモリをサポートし、レイテンシを最小限に抑える。
  • セキュアな通信:HTTP および gRPC プロトコルの両方で SSL/TLS をネイティブにサポート。
  • オンワイヤー圧縮:リクエストとレスポンスを圧縮して帯域幅を節約可能。
  • 拡張性:Python Client Plugin API を提供し、ゲートウェイを介した認証/承認などに使用可能なカスタムリクエストヘッダーを追加可能。
  • 非同期サポート:Python AsyncIO 用のベータサポートにより、ブロッキングしない推論呼び出しが可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト