serving: バージョン管理された機械学習モデルの推論を管理・提供するための高性能なプロダクションシステム
serving: バージョン管理された機械学習モデルの推論を管理・提供するための高性能なプロダクションシステム
何を解決するか
機械学習モデルをプロダクション環境にデプロイする際の課題に対処します。具体的には、推論フェーズを扱います。つまり、学習済みモデルを取得し、モデルが更新された際にクライアントコードを変更することなく、クライアントが信頼性と効率的に利用できるようにします。
仕組み
TensorFlow Servingは、高性能な参照カウント方式のルックアップテーブルを使用してモデルのライフサイクルを管理します。モデルへのバージョン管理されたアクセスを提供し、gRPCおよびHTTPを介して推論エンドポイントを公開します。パフォーマンスを最適化するために、個々のリクエストをバッチ化してGPUで一括実行するためのスケジューラが含まれており、TensorFlowモデル、embeddings、およびvocabulariesを含むさまざまな「servables」をサポートしています。
対象ユーザー
高性能、低レイテンシ、および複数のモデルバージョン(A/Bテストやカナリアリリースを含む)を管理する能力が必要とされるプロダクション環境に、機械学習モデルをデプロイする必要がある開発者やMLエンジニア向けに設計されています。
ハイライト
- 複数のモデル、または同じモデルの複数のバージョンを同時に提供することをサポートします。
- gRPCとHTTPの両方の推論エンドポイントを提供します。
- クライアントコードを更新することなく、新しいモデルバージョンをデプロイできます。
- 実験的なモデルのためのカナリアリリースやA/Bテストをサポートします。
- 設定可能なレイテンシ制御を備えた、GPUバッチ処理用のリクエストスケジューラが含まれています。
- TensorFlowベースではないモデルやデータを配信できる拡張可能なアーキテクチャ。
Sources
- undefinedtensorflow/serving