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 以外のモデルやデータもサーブできる拡張可能なアーキテクチャ。