TensorFlow Serving is an easy-to-deploy, flexible and high performing serving system for machine learning models built for production environments. It allows easy deployment of algorithms and experiments while allowing developers to keep the same server architecture and APIs. TensorFlow Serving provides seamless integration with TensorFlow models, and can also be easily extended to other models and data.
Below, we list a few alternatives to TensorFlow Serving:
Cortex
Open-source platform Cortex makes execution of real-time inference at scale seamless. It is designed to deploy trained machine learning models directly as a web service in production.
The installation and deployment configurations for Cortex are easy and flexible. It comes with an in-built support mechanism to implement trained machine learning models. It can be deployed in all Python-based machine learning frameworks, including TensorFlow, PyTorch, and Keras. Cortex offers the following features:
- Automatically scales prediction APIs to help manage the ups and downs of production workloads.
- Its web infrastructure services can run inferences seamlessly on CPU and GPU.
- Cortex can easily manage cluster, uptime and reliability of the APIs.
- Helps in the transition of the updated model to the deployed APIs in the web service without downtime.
For more information, click here.
TorchServe
PyTorch has become the preferred ML model training framework for data scientists in the last couple of years. TorchServe (the result of a collaboration between AWS and Facebook) is a PyTorch model serving library that enables easy deployment of PyTorch models at scale without writing a custom code.TorchServe is available as a part of the PyTorch open source library.
Besides providing a low latency prediction API, TorchServe comes with the following features:
- Embeds default handlers for typical applications such as object detection and text classification.
- Supports multi-model serving, logging, model versioning for A/B testing, and monitoring metrics.
- Supports the creation of RESTful endpoints for application integration.
- Cloud and environment agnostic and supports machine learning environments such as Amazon SageMaker, container services, and Amazon Elastic Compute Cloud.
For more information, click here.
Triton Inference Server
NVIDIA Triton Inference Server simplifies the deployment of AI models at scale in production. The open-source serving software allows the deployment of trained AI models from any framework, such as TensorFlow, NVIDIA, PyTorch or ONNX, from local storage or cloud platform. It supports an HTTP/REST and GRPC protocol, allowing remote clients to request interfacing for any model managed by the server.
It offers the following features:
- Supports multiple deep learning frameworks.
- Runs models concurrently to enable high-performance inference, helping developers bring models to production rapidly.
- Implements multiple scheduling and batching algorithms, combining individual inference requests.
- Provides a backend API to extend with any model execution logic implemented in Python or C++.
For more information, click here.
KFServing
A part of Kubeflow project, KFServing focuses on solving the challenges of model deployment to production through a model-as-data approach by providing an API for inference requests. It uses cloud-native technologies Knative and Istio. KFServing requires a minimum of Kubernetes 1.16+.
KFServing offers the following features:
- Provides a customisable InferenceService to add resource requests for CPU, GPU, TPU and memory requests.
- Supports multi-model serving, revision management and batching individual model inference requests.
- Compatible with various frameworks, including Tensorflow, PyTorch, XGBoost, ScikitLearn and ONNX.
For more information, click here.
ForestFlow
Cloud-native machine learning model server ForestFlow, used for easy deployment and management, is scalable and policy-based. It can either be run natively or as docker containers. Built to reduce the friction between data science, engineering and operation teams, it provides data scientists with the flexibility to use tools they want.
It offers the following features:
- Can be either run as a single instance or deployed as a cluster of nodes.
- Offers Kubernetes integration for the easy deployment of Kubernetes clusters.
- Allows model deployment in Shadow Mode.
- Automatically scales down models when not in use, and automatically scales them up when required, while maintaining cost-efficient memory and resource management.
- Allows deployment of models for multiple use-cases.
For more information, click here.
Multi Model Server
Multi Model Server is an open-source tool for serving deep learning and neural net models for inference, exported from MXNet or ONNX. The easy-to-use and flexible tool utilises REST-based APIs to handle state prediction requests. Multi Model Server uses java 8 or a later version to serve HTTP requests.
It offers the following features:
- Ability to develop custom inference services.
- Multi Model Server benchmarking.
- Multi-model endpoints to host multiple models within a single container.
- Pluggable backend that supports pluggable custom backend handler.
For more information, click here.
DeepDetect
Machine learning API DeepDetect is written in C++11 and integrates into existing applications. DeepDetect implements support for supervised and unsupervised deep learning of images, text, and time series. It also supports classification, object detection, segmentation and regression.
It offers the following features:
- DeepDetect comes with easy setup features and is ready for production.
- Allows the building and testing of datasets from Jupyter notebooks.
- Comes with more than 50 pre-trained models for quick transfer training convergence.
- Allows export of models for the cloud, desktop and embedded devices.
For more information, click here.
BentoML
BentoML is a high-performance framework that bridges the gap between Data Science and DevOps. It comes with multi-framework support and works with TensorFlow, PyTorch, Scikit-Learn, XGBoost, H2O.ai, Core ML, Keras, and FastAI. It is built to work with DevOps and Infrastructure tools, including Amazon SageMaker, NVIDIA, Heroku, REST API, Kubeflow, Kubernetes and Amazon Lamdba.
The key features of BentoML are:
- Comes in a unified model packaging format, enabling both online and offline serving on all platforms.
- Can package models trained with any ML frameworks and reproduce them for model serving in production.
- Works as a central hub for managing models and deployment processes through Web UI and APIs.
For more information, click here.