tensorflow/serving
A flexible, high-performance serving system for machine learning models
What it solves
機械学習モデルを本番環境にデプロイする際の課題を解決します。具体的には、推論フェーズ(学習済みモデルをクライアントが信頼性・効率的に利用できるようにし、モデルが更新されてもクライアントコードの変更を不要にする)を扱います。
How it works
TensorFlow Serving は高性能で参照カウント付きのルックアップテーブルを用いてモデルのライフサイクルを管理します。バージョン化されたモデルへのアクセスを提供し、gRPC と HTTP で推論エンドポイントを公開します。性能最適化のため、個々のリクエストをバッチ化して GPU 上で同時実行するスケジューラを備えており、TensorFlow モデル、埋め込みベクトル、語彙など様々な「servables」をサポートします。
Who it’s for
高性能・低レイテンシ・複数バージョン管理(A/B テストやカナリアリリースを含む)が必要な本番環境へ機械学習モデルをデプロイする開発者や ML エンジニア向けに設計されています。
Highlights
- 複数モデルまたは同一モデルの複数バージョンを同時にサーブ可能。
- gRPC と HTTP の両方の推論エンドポイントを提供。
- クライアントコードを更新せずに新バージョンをデプロイ可能。
- カナリアリリースや A/B テストをサポート。
- 設定可能なレイテンシ制御を備えた GPU バッチング用リクエストスケジューラを搭載。
- TensorFlow 以外のモデルやデータもサーブできる拡張可能なアーキテクチャ。