TensorFlow-Serving: Flexible, High-Performance ML Serving
Christopher Olston, Noah Fiedel, Kiril Gorovoy, Jeremiah Harmsen, Li Lao, Fangwei Li, Vinu Rajashekhar, Sukriti Ramesh, Jordan Soyke
TL;DR
The paper tackles the challenge of deploying trained models in production at scale by introducing TensorFlow-Serving, a modular infrastructure with a three-layer design (library, binary, hosted service) that supports multiple model types, versioning, and hardware accelerators. It details core components like model lifecycle management, canary/rollback, and inter-request batching, along with a hosted service (TFS2) that automates deployment and multi-tenant serving. The work integrates with end-to-end ML pipelines (TFX) to ensure validation and skew detection prior to serving, and demonstrates real-world adoption within Google and externally, with scalable performance benchmarks. Collectively, the approach enables flexible, high-throughput, low-latency serving across diverse ML workloads in both cloud and on-premises settings.
Abstract
We describe TensorFlow-Serving, a system to serve machine learning models inside Google which is also available in the cloud and via open-source. It is extremely flexible in terms of the types of ML platforms it supports, and ways to integrate with systems that convey new models and updated versions from training to serving. At the same time, the core code paths around model lookup and inference have been carefully optimized to avoid performance pitfalls observed in naive implementations. Google uses it in many production deployments, including a multi-tenant model hosting service called TFS^2.
