Welcome to ZenML!
ZenML is an extensible, open-source MLOps framework for creating portable, production-ready machine learning pipelines. By decoupling infrastructure from code, ZenML enables developers across your organization to collaborate more effectively as they develop to production.
For Data Scientists
For ML Engineers
For MLOps Platform Engineers
ZenML gives data scientists the freedom to fully focus on modeling and experimentation while writing code that is production-ready from the get-go.
- Develop Locally: ZenML allows you to develop ML models in any environment using your favorite tools. This means you can start developing locally, and simply switch to a production environment once you are satisfied with your results.python run.py # develop your code locally with all your favorite toolszenml stack set productionpython run.py # run on production infrastructure without any code changes
- Pythonic SDK: ZenML is designed to be as unintrusive as possible. Adding a ZenML
@pipelinedecorator to your Python functions is enough to turn your existing code into ZenML pipelines:from zenml import pipeline, step@stepdef step_1() -> str:return "world"@stepdef step_2(input_one: str, input_two: str) -> None:combined_str = input_one + ' ' + input_twoprint(combined_str)@pipelinedef my_pipeline():output_step_one = step_1()step_2(input_one="hello", input_two=output_step_one)my_pipeline()
- Automatic Metadata Tracking: ZenML automatically tracks the metadata of all your runs and saves all your datasets and models to disk and versions them. Using the ZenML dashboard, you can see detailed visualizations of all your experiments. Try it out at https://demo.zenml.io/!
Ready to develop production-ready code with ZenML? Here is a collection of pages you can take a look at next:
ZenML empowers ML engineers to take ownership of the entire ML lifecycle end-to-end. Adopting ZenML means fewer handover points and more visibility on what is happening in your organization.
- zenml stack set stagingpython run.py # test your workflows on staging infrastructurezenml stack set productionpython run.py # run your workflows in production
- Reproducibility: ZenML enables you to painlessly reproduce previous results by automatically tracking and versioning all stacks, pipelines, artifacts, and source code. In the ZenML dashboard, you can get an overview of everything that has happened and drill down into detailed lineage visualizations. Try it out at https://demo.zenml.io/!
- Automated Deployments: With ZenML, you no longer need to upload custom Docker images to the cloud whenever you want to deploy a new model to production. Simply define your ML workflow as a ZenML pipeline, let ZenML handle the containerization, and have your model automatically deployed to a highly scalable Kubernetes deployment service like Seldon.from zenml.integrations.seldon.steps import seldon_model_deployer_stepfrom my_organization.steps import data_loader_step, model_trainer_step@pipelinedef my_pipeline():data = data_loader_step()model = model_trainer_step(data)seldon_model_deployer_step(model)
Ready to manage your ML lifecycles end-to-end with ZenML? Here is a collection of pages you can take a look at next:
ZenML enables MLOps infrastructure experts to define, deploy, and manage sophisticated production environments that are easy to share with colleagues.
- Self-hosted deployment: ZenML can be deployed on any cloud provider and provides many Terraform-based utility functions to deploy other MLOps tools or even entire MLOps stacks:# Deploy ZenML to any cloudzenml deploy --provider aws# Deploy MLOps tools and infrastructure to any cloudzenml orchestrator deploy kfp --flavor kubeflow --provider gcp# Deploy entire MLOps stacks at oncezenml stack deploy gcp-vertexai --provider gcp -o kubeflow ...
- Standardization: With ZenML, you can standardize MLOps infrastructure and tooling across your organization. Simply register your staging and production environments as ZenML stacks and invite your colleagues to run ML workflows on them.# Register MLOps tools and infrastructurezenml orchestrator register kfp_orchestrator -f kubeflow# Register your production environmentzenml stack register production --orchestrator kubeflow ...# Make it available to your colleagueszenml stack share production
- No Vendor Lock-In: Since infrastructure is decoupled from code, ZenML gives you the freedom to switch to a different tooling stack whenever it suits you. By avoiding vendor lock-in, you have the flexibility to transition between cloud providers or services, ensuring that you receive the best performance and pricing available in the market at any time.zenml stack set gcppython run.py # Run your ML workflows in GCPzenml stack set awspython run.py # Now your ML workflow runs in AWS
Ready to deploy and manage your MLOps infrastructure with ZenML? Here is a collection of pages you can take a look at next: