Skip to content

Latest commit

 

History

History

doc

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

MLOps Stack Template

MLOps is a set of best practices that revolve around making machine learning in production more seamless

This picture was taken from state-of-mlops

MLOps toolkit comparison

credits to service https://tableconvert.com/ for formatting the table below

Comparison Item MLFlow AOA ClearML
Experiment tracking
Track experiments with api calls yes yes yes
Store experiment in metadata yes yes yes
Metadaba backend mysql, mssql, sqlite, and postgresql h2, mysql, postgresql, mssql mongo
Experiment tracking UI yes yes yes
Experiment annotation yes only tags and comment on approval yes
Experiment comparison yes yes yes
Save graphics with experiments yes yes yes
Passing parameters into ml code (training/evaluation) yes yes yes
Enironments support yes, conda and docker yes, docker yes, docker, pip, conda, poetry
Code repo
Package ml code into projects with fixed file/folder structure yes yes yes, but the structure or repo is not fixed
Clone code from git yes yes yes
Monitor changes in ml repo no yes yes
Artifact storage
Storage types supported S3-compatible,
Azure Blob Storage,
Google Cloud Storage,
FTP server, SFTP Server, NFS, HDFS
Jfrog Artifactory,  S3-compatible S3-compatible, azure, google cloud, minio
Proxy access to artifacts in UI yes yes yes
Dataset support
Supports dataset definitions no yes yes
Connection types n/a Vantage, S3, Hadoop and a custom type of connections any
Credentials support n/a Username/password, Kerberos, AWS Secrets and Kubernetes as credentials yes
Dataset versions n/a yes yes
Dataset templates n/a yes no
Model Lifecycle
Support model registry yes yes yes
Available model statuses staging, production, archive Trained, Evaluated, Deployed, Retired, Approved, Rejected yes
Lineage support stated in doc but not clear how yes yes
Integration with BPM no yes, JBPM support no
Trigger model events on status change, code change in repo no yes no
Model serving
Support model serving yes yes yes
Default model serving engine conda env, gunicorn docker, gunicorn docker, gunicorn
Batch scoring support yes yes yes
AirFlow integration for batch scoring no yes no
Cloud deployment yes: AzureML, Sagemaker yes: Teradata Vantage and any other cloud yes: k8s
Bring your own model (BYOM - deploy with no code via onnx, pmml, etc ) out of the box - no, need customization yes
Deploy to spark yes yes yes
Deploy to K8S yes, over Azure yes yes
Deploy to other clusters yes, with custom plugins yes, with custom Jenkins workflow yes, with custom Jenkins workflow
Canary deployment no no yes
Model monitoring
Support model monitoring no, need 3rd party solution like evidently.ai yes yes
Feature drift n/a yes yes
Prediction drift n/a yes yes
Model performance n/a yes yes
Alerting n/a yes, with Prometheus yes
Extra items
Extensibility with plugins yes, can write plugins for:  Tracking Store
ArtifactRepository
Run context provider
Model Registry Store
MLFlow Project backend
yes with custom Jenkins pipelines n/a
Model hierarchy no yes, can pack models into projects yes
Authentication yes, only with databricks yes, LDAP yes
Access control yes, only with databricks yes yes
Pipeline mechanism no no yes
Automatically capture input parameters and output artifacts no no yes
Ability to run experiment on remote machine with modified parameters no no yes