PyCon Nigeria Annual Conference

Beyond Jupyter Notebook: Serving Machine Learning Model with FastAPI, Docker, and Google Cloud Run

speaker-foto

Arnold Ighiwiyisi

I am a professional Data Scientist and Machine Learning Engineer committed to delivering high-impact data-driven solutions for businesses. My experience spans building data-driven products for health tech, fintech, Anti-money Laundry (AML), and KYC/KYB. 3rd Place Winner of AI commons Health and well-being Hackathon. Proficient in a range of technology such as Deep Learning, computer vision, Natural Language Processing, Python, FastApi, Flask, SciPy, Scikit-learn, PyTorch, TensorFlow, and MLOps.

Description

Transitioning a machine learning model from the research and development stage to production is crucial for end users to leverage ML. This tutorial will offer a hands-on session focused on deploying an ML model as a REST API. Participants will learn practical techniques using FastAPI for API development, Docker for containerization, and Google Cloud Run for seamless deployment.

Abstract

I. Introduction I. Overview of the tutorial II. Importance of serving machine learning models in production III. Brief introduction to Jupyter Notebook and its limitations in production environments

II. Introduction to FastAPI I. What is FastAPI? II. Key features and advantages III. Comparison with other web frameworks IV. Demonstration of basic FastAPI application setup.

III. Serving Machine Learning Models with FastAPI I. Why FastAPI for serving ML models? II. Design considerations for integrating ML models with FastAPI III. Demonstration of serving a machine learning model as a REST API with FastAPI IV. Handling model inputs and outputs

IV. Containerization with Docker I. Introduction to Docker II. Benefits of containerization for deploying ML models III. Dockerizing a FastAPI application IV. Best practices for Dockerizing machine learning applications

V. Deployment with Google Cloud Run I. Introduction to Google Cloud Run II. Advantages of using Cloud Run for deploying containerized applications III. Step-by-step guide to deploying a Dockerized FastAPI application on Google Cloud Run IV. Configuring scalability and monitoring for deployed applications

VI. Best Practice: Security, Performance Optimisation I. Security considerations for deploying ML models in production II. Performance optimization techniques III. Handling versioning and updates of deployed models

VII. Conclusion I. Recap of key takeaways II. Encouragement for attendees to explore serving ML models beyond Jupyter Notebook III. Resources for further learning and exploration IV. Questions and answers

Audience level: Intermediate or Advanced