serving: 一個用於管理與提供版本化機器學習模型推論的高性能生產系統
serving: 一個用於管理與提供版本化機器學習模型推論的高性能生產系統
它解決了什麼問題
它解決了將機器學習模型部署到生產環境中的挑戰。具體而言,它處理推論階段——將訓練好的模型提供給客戶端,使其能夠可靠且高效地使用,且在模型更新時不需要更改客戶端代碼。
它是如何運作的
TensorFlow Serving 使用高性能、引用計數的查找表來管理模型的生命週期。它提供對模型的版本化訪問,並透過 gRPC 和 HTTP 提供推論端點。為了優化性能,它包含一個調度器,可將個別請求進行批處理,以便在 GPU 上進行聯合執行,並支持多種「servables」,包括 TensorFlow 模型、embeddings 和 vocabularies。
對象是誰
它是為開發者和 ML 工程師設計的,這些開發者和工程師需要在生產環境中部署機器學習模型,且該環境需要高性能、低延遲以及管理多個模型版本(包括 A/B 測試和 canarying)的能力。
重點特性
- 支持同時提供多個模型或同一個模型的多個版本。
- 提供 gRPC 和 HTTP 推論端點。
- 能夠在不更新客戶端代碼的情況下部署新模型版本。
- 支持實驗性模型的 canarying 和 A/B 測試。
- 包含用於 GPU 批處理的請求調度器,具有可配置的延遲控制。
- 可擴展的架構,可以提供非 TensorFlow 為基礎的模型和數據。
Sources
- undefinedtensorflow/serving