Machine Learning Model Serving Framework

Framework/Server for model serving

Abonia Sojasingarayar
3 min readOct 11, 2023

Machine learning models or LLM have become an integral part of many industries. As these models become more prevalent, the need to serve these models in production environments has become increasingly important. Serving a machine learning model means making it available for prediction or inference, either to serve real-time predictions to users or to batch prediction for offline use. This article will provide an overview of various frameworks and servers used for serving machine learning models and their trade-offs.

Image by Author

Frameworks for Model Serving

  1. BentoML: A framework for building reliable, scalable, and cost-efficient AI applications. It comes with everything you need for model serving, application packaging, and production deployment.
  2. Jina: Build multimodal AI services via cloud native technologies. It provides features like Model Serving, Generative AI, Neural Search, and Cloud Native.
  3. Mosec: A machine learning model serving framework with dynamic batching and pipelined stages, providing an easy-to-use Python interface.
  4. TFServing: A flexible, high-performance serving system for machine learning models.
  5. Torchserve: Serve, optimize and scale PyTorch models in production.
  6. Triton Server (TRTIS): The Triton Inference Server provides an optimized cloud and edge inferencing solution.
  7. Cortex: An open-source platform for deploying, managing, and scaling machine learning models. It supports deployment of all types of models.
  8. KFServing: Provides a Kubernetes Custom Resource Definition (CRD) for serving machine learning models on arbitrary frameworks.
  9. Multi Model Server: A flexible and easy-to-use tool for serving deep learning models trained using any ML/DL framework.
  10. Xinference: Replace OpenAI GPT with another LLM in your app by changing a single line of code. Xinference gives you the freedom to use any LLM you need.
  11. Lanarky: FastAPI framework to build production-grade LLM applications .
  12. Langchain-serve: Serverless LLM apps on Production with Jina AI Cloud.
  13. Seldon Core: An open-source platform for deploying, scaling, and managing machine learning models in Kubernetes.
  14. Ray Serve: A scalable and programmable serving framework built on top of Ray to help you scale your microservices and ML models in production.
  15. OpenSearch ML Commons: An experimental feature that allows you to serve custom models and use those models to make inferences.
  16. KServe: A Kubernetes-native platform to deploy and serve machine learning models .
  17. MLflow Model Serving: A flexible, high-performance serving layer for machine learning models built using PyFunc .
  18. Kubeflow: A machine learning toolkit for Kubernetes which aims to make deployments of machine learning workflows on Kubernetes simple, portable, and scalable .
  19. Scikit-learn: A machine learning library for Python which supports model persistence, allowing you to save and load models .
  20. H2O: An open-source platform for data analysis, machine learning, and predictive modeling .
  21. FastAPI: A modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints .
  22. Flask: A lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications .
  23. MLServer: An open-source inference server for machine learning models. It provides a unified API for serving models and supports multiple inference runtimes .
  24. Neptune: A platform for tracking, comparing, and sharing machine learning metadata. It can be used to manage the machine learning lifecycle, including tracking experiments, reproducibility, and deployment.

In conclusion, the field of machine learning is vast and continually evolving. The tools and technologies available for serving machine learning models are diverse and continually improving. While each tool has its strengths and weaknesses, all play a crucial role in enabling the practical application of machine learning models in real-world scenarios. As developers, understanding these tools and their capabilities is key to effectively utilizing machine learning in production environments.

Connect with me on Linkedin

Find me on Github

Visit my technical channel on Youtube

Support: Buy me a Cofee/Chai

--

--

Abonia Sojasingarayar

Principal Research Scientist | Machine Learning & Ops Engineer | Data Scientist | NLP Engineer | Computer Vision Engineer | AI Analyst