MLflow MLOps Pipeline on GCS
Budget: $25 – $50 USD
I want a production-ready machine-learning model management system that wraps seamlessly around our current, cloud-based training workflows. All models we run—built in PyTorch and Scikit-Learn—must move through a single, automated MLflow pipeline that version-controls every run, registers each model, stores all artifacts in Google Cloud Storage, and pushes the chosen versions straight into an inference endpoint without manual hand-offs.
Key Objectives & Required Features:
The successful implementation of this project will provide the following capabilities, broken down into two main areas:
1. Model Lifecycle & Versioning:
Model Lifecycle Management: A clear and structured process to track and manage models as they move from training to staging and finally to production.
Robust Version Control: The system must be able to store and manage multiple versions of our machine learning models, allowing for easy access to previous iterations.
Seamless GCS Integration: All model artifacts should be automatically stored in and loaded from a designated GCS bucket, acting as our central model repository.
MLflow Registry Core: The solution must be built around MLflow's native model registry features to leverage its powerful tracking and management capabilities.
Backward Compatibility: The new system must not break our existing model training workflows. The integration should feel like a natural extension of our current process.
2. Inference & Deployment:
Automatic Model Registration: Once a model is trained, it should be automatically registered with the MLflow Model Registry.
Dynamic Model Discovery: The inference service must be able to automatically discover and load the latest model version that has been promoted to the production stage.
A/B Testing Capability: The system should allow for the deployment of different model versions simultaneously to different inference endpoints to facilitate A/B testing and performance comparison.
One-Click Rollbacks: In case of performance degradation, we need the ability to quickly and easily roll back to a previously stable model version.
Production Model Monitoring: The ability to easily track which specific model version is currently serving predictions in the production environment.
Scope of Work & Deliverables:
System Design: A brief design document outlining the architecture of the proposed MLOps pipeline.
Infrastructure Setup: Configuration of MLflow Tracking Server and backend to use GCS for artifact storage.
Training Script Integration: Modify existing training scripts to log models to MLflow and register them in the Model Registry.
Inference Service API: Develop a Python-based REST API (using a framework like FastAPI or Flask) that can:
Load and serve the latest production model by default.
Load and serve a specific model version when provided.
Be containerized (Dockerfile) for easy deployment.
Automation Scripts: A simple CI/CD script or workflow (e.g., a shell script or a basic GitHub Actions workflow) to automate the train -> register -> deploy process.
Documentation: Clear and concise documentation explaining the workflow, how to promote models, and how to deploy new versions or perform rollbacks.
Required Skills:
Proven experience in MLOps and building machine learning pipelines.
Expert-level knowledge of MLflow, specifically the Model Registry and Tracking components.
Strong proficiency with Google Cloud Platform (GCP), especially GCS.
Experience in developing and containerizing Python-based REST APIs (FastAPI, Flask, Docker).
Familiarity with CI/CD principles and tools.
Key Objectives & Required Features:
The successful implementation of this project will provide the following capabilities, broken down into two main areas:
1. Model Lifecycle & Versioning:
Model Lifecycle Management: A clear and structured process to track and manage models as they move from training to staging and finally to production.
Robust Version Control: The system must be able to store and manage multiple versions of our machine learning models, allowing for easy access to previous iterations.
Seamless GCS Integration: All model artifacts should be automatically stored in and loaded from a designated GCS bucket, acting as our central model repository.
MLflow Registry Core: The solution must be built around MLflow's native model registry features to leverage its powerful tracking and management capabilities.
Backward Compatibility: The new system must not break our existing model training workflows. The integration should feel like a natural extension of our current process.
2. Inference & Deployment:
Automatic Model Registration: Once a model is trained, it should be automatically registered with the MLflow Model Registry.
Dynamic Model Discovery: The inference service must be able to automatically discover and load the latest model version that has been promoted to the production stage.
A/B Testing Capability: The system should allow for the deployment of different model versions simultaneously to different inference endpoints to facilitate A/B testing and performance comparison.
One-Click Rollbacks: In case of performance degradation, we need the ability to quickly and easily roll back to a previously stable model version.
Production Model Monitoring: The ability to easily track which specific model version is currently serving predictions in the production environment.
Scope of Work & Deliverables:
System Design: A brief design document outlining the architecture of the proposed MLOps pipeline.
Infrastructure Setup: Configuration of MLflow Tracking Server and backend to use GCS for artifact storage.
Training Script Integration: Modify existing training scripts to log models to MLflow and register them in the Model Registry.
Inference Service API: Develop a Python-based REST API (using a framework like FastAPI or Flask) that can:
Load and serve the latest production model by default.
Load and serve a specific model version when provided.
Be containerized (Dockerfile) for easy deployment.
Automation Scripts: A simple CI/CD script or workflow (e.g., a shell script or a basic GitHub Actions workflow) to automate the train -> register -> deploy process.
Documentation: Clear and concise documentation explaining the workflow, how to promote models, and how to deploy new versions or perform rollbacks.
Required Skills:
Proven experience in MLOps and building machine learning pipelines.
Expert-level knowledge of MLflow, specifically the Model Registry and Tracking components.
Strong proficiency with Google Cloud Platform (GCP), especially GCS.
Experience in developing and containerizing Python-based REST APIs (FastAPI, Flask, Docker).
Familiarity with CI/CD principles and tools.