serving: 一个用于管理和提供版本化机器学习模型推理的高性能生产系统
serving: 一个用于管理和提供版本化机器学习模型推理的高性能生产系统
问题解决
它解决了将机器学习模型部署到生产环境中的挑战。具体而言,它处理推理阶段——将训练好的模型提供给客户端,使其能够可靠且高效地使用,且在模型更新时无需更改客户端代码。
工作原理
TensorFlow Serving 使用高性能、引用计数的查找表来管理模型的生命周期。它提供对模型的版本化访问,并通过 gRPC 和 HTTP 暴露推理端点。为了优化性能,它包含一个调度器,可以将单个请求进行批处理,以便在 GPU 上进行联合执行,并支持多种“servables”,包括 TensorFlow 模型、embeddings 和 vocabularies。
适用人群
它专为开发者和 ML 工程师设计,适用于需要将机器学习模型部署到生产环境,且对高性能、低延迟以及管理多个模型版本(包括 A/B 测试和金丝雀发布)有要求的场景。
亮点
- 支持同时提供多个模型或同一模型的多个版本的服务。
- 提供 gRPC 和 HTTP 推理端点。
- 支持在不更新客户端代码的情况下部署新模型版本。
- 支持实验性模型的金丝雀发布和 A/B 测试。
- 包含一个用于 GPU 批处理的请求调度器,具有可配置的延迟控制。
- 可扩展的架构,可以提供非 TensorFlow 基础的模型和服务数据。
Sources
- undefinedtensorflow/serving