TensorRT、PyTorch、ONNX、OpenVINOなどのAIモデルをHTTP/RESTとgRPCでデプロイできるオープンソース推論サーバー。
tensorflow/serving
バージョン管理されたgRPCおよびHTTP推論エンドポイントを備え、本番環境で機械学習モデルを高性能に提供するシステムです。
- スター
- 6,365
- フォーク
- 2,204
- 未解決の Issue
- 82
- 最終コミット
- 17 日前
これは何?
TensorFlow Servingは、機械学習の推論処理を担います。学習済みモデルを受け取り、読み込んでライフサイクルを管理し、クライアントにバージョンごとのアクセスを提供します。TensorFlow SavedModelはそのまま利用でき、拡張すれば埋め込み、語彙、特徴量変換など、ほかのモデルやデータも提供できます。
複数のモデルや、1つのモデルの複数のバージョンを同時にホストできます。クライアントのコードを変更せずに新しいバージョンを展開できるため、カナリアリリースや実験的なモデルのA/Bテストが可能です。バッチスケジューラは個々のリクエストをまとめ、GPUで一括実行します。レイテンシの制御も設定できます。
gRPCとRESTの両方の推論エンドポイントを提供します。Dockerイメージとして配布されており、ドキュメントではKubernetesへのデプロイ、設定、ソースからのビルドについて説明しています。
主な機能
- 01複数のモデル、または1つのモデルの複数バージョンを同時に提供
- 02gRPCとHTTP/RESTの両方の推論エンドポイントを提供
- 03クライアントのコードを変更せずに新しいモデルバージョンをデプロイ
- 04モデルのカナリアリリースとA/Bテストに対応
- 05設定可能なレイテンシ制御のもと、リクエストをバッチ化してGPUで実行
ユースケース
- 本番環境で推論APIの背後にTensorFlowモデルをデプロイする
- 同じエンドポイントを維持したまま、新しいモデルバージョンを段階的に展開する
- 実験的なモデルと現行モデルのA/Bテストを実施する
- カスタムservableを通じて、TensorFlow以外のモデルや埋め込みを提供する
クイックスタート
- 1
TensorFlow Serving の Docker イメージをダウンロードする
docker pull tensorflow/serving - 2
デモモデルを取得するためにリポジトリをクローンする
git clone https://github.com/tensorflow/serving - 3
デモモデルを指定し、REST ポートを開放してコンテナを起動する
docker run -t --rm -p 8501:8501 -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" -e MODEL_NAME=half_plus_two tensorflow/serving & - 4
predict API を使ってモデルにクエリを送信する
curl -d '{"instances": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict
使う前に知っておきたいこと
- README では Docker を使ったセットアップが推奨されており、Docker を使わない実行は推奨されていません。
- そのまま配信するには、モデルを TensorFlow SavedModel としてエクスポートする必要があります。
収録されている特集
トピック
よくある質問
- serving とは?
- バージョン管理されたgRPCおよびHTTP推論エンドポイントを備え、本番環境で機械学習モデルを高性能に提供するシステムです。 TensorFlow Servingは、機械学習の推論処理を担います。学習済みモデルを受け取り、読み込んでライフサイクルを管理し、クライアントにバージョンごとのアクセスを提供します。TensorFlow SavedModelはそのまま利用でき、拡張すれば埋め込み、語彙、特徴量変換など、ほかのモデルやデータも提供できます。
- serving は無料で使えますか?ライセンスは?
- serving は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- serving は今もメンテナンスされていますか?
- 活発にメンテナンス中。serving の最終コミットは 2026年10月21日 です。
- serving は何に使えますか?
- 本番環境で推論APIの背後にTensorFlowモデルをデプロイする 同じエンドポイントを維持したまま、新しいモデルバージョンを段階的に展開する 実験的なモデルと現行モデルのA/Bテストを実施する カスタムservableを通じて、TensorFlow以外のモデルや埋め込みを提供する
- serving のインストール方法は?
- TensorFlow Serving の Docker イメージをダウンロードする: docker pull tensorflow/serving デモモデルを取得するためにリポジトリをクローンする: git clone https://github.com/tensorflow/serving デモモデルを指定し、REST ポートを開放してコンテナを起動する: docker run -t --rm -p 8501:8501 -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" -e MODEL_NAME=half_plus_two tensorflow/serving & predict API を使ってモデルにクエリを送信する: curl -d '{"instances": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict
- serving はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/tensorflow/serving
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Rust製のWebレイヤーを備えたPython向けMLモデルサービングフレームワーク。オンライン推論API向けに動的バッチ処理とCPU/GPUステージのパイプラインを提供します。
AIモデルの推論API、マルチモデルパイプライン、LLMアプリの構築・提供に使えるPythonライブラリ。DockerやKubernetesへのデプロイにも対応。
機械学習モデルの構築からデプロイまでを支える、Python APIとC++ APIを備えたオープンソースのエンドツーエンドプラットフォーム。
機械学習の実験やチュートリアル向けに、Google Colaboratoryのノートブックを厳選してまとめたawesome-list形式のコレクション。
機械学習モデルを表現するオープン標準のファイル形式とエコシステム。モデルを異なるフレームワークやランタイム間で受け渡せます。