ZenML简介
ZenML是一个开源的MLOps框架,旨在无缝连接数据科学团队与云基础设施。它为数据科学家和ML工程师提供了一种标准化机器学习实践的简单方法,只需在现有Python函数上添加几个装饰器,就可以构建生产级ML管道。
ZenML的主要功能
- 简单的管道创建
只需添加@step
和@pipeline
装饰器,就可以将现有Python函数转换为ML管道。例如:
from zenml import pipeline, step
@step
def load_data() -> dict:
training_data = [[1, 2], [3, 4], [5, 6]]
labels = [0, 1, 0]
return {'features': training_data, 'labels': labels}
@step
def train_model(data: dict) -> None:
# 训练模型代码...
@pipeline
def simple_ml_pipeline():
dataset = load_data()
train_model(dataset)
if __name__ == "__main__":
simple_ml_pipeline()
- 轻松配置MLOps堆栈
ZenML可以在AWS、GCP、Azure等多个云平台上运行,无需更改代码。它还提供了一键部署功能,可以快速在选定的云提供商上部署远程堆栈。
- 在生产基础设施上轻松运行工作负载
配置好MLOps堆栈后,只需几行命令就可以在上面运行工作负载:
zenml stack set <STACK_NAME>
python run.py
- 跟踪模型、管道和artifacts
ZenML可以创建完整的血缘关系,记录谁在何时使用什么数据和代码版本生产了哪个模型,保证完全的可重现性和可审核性。
- 与常用工具集成
ZenML可以无缝集成到现有的工具和基础设施中,如MLflow、BentoML等。
快速入门
- 通过pip安装ZenML:
pip install "zenml[server]" notebook
-
运行引导式快速入门教程
-
尝试示例项目:
部署ZenML
ZenML提供两种部署方式:
- ZenML Pro: SaaS版本,由ZenML团队管理维护
- 自托管部署:可以通过CLI、Docker、Helm等方式在自己的环境中部署
通过使用ZenML,数据科学团队可以轻松标准化ML实践,构建可重现的端到端ML管道,并无缝连接到云基础设施。无论是个人还是团队,ZenML都是一个值得尝试的强大MLOps工具。