ZenML初体验
背景
ZenML特点:Write production-ready ML code,create reproducible pipelines。
ZenML和kubeflow的区别
Kubeflow是功能强大的开源ML管道解决方案,具有基本的集成生态系统。它仅在Kubernetes上运行,没有本地分布式处理机制。这些设计决策要求采用者进行操作和维护:
- Kubernetes集群(用于运行的工作负载),
- Kubeflow(协调管道),
- 并可选地将分布式计算解决方案集成到其流水线代码中(例如,通过其他OSS工具,例如TFX和Apache Beam)
作为一个很好的解决方案,Kubeflow在接下来的12个月中将面临一个方向不确定的问题。从数据到模型获得可重现结果所需的工作量很大。如果没有构建互补的系统,就无法实现数据版本控制,管道可比性,缓存和平台独立性(例如裸机,Spark)。管道建设的高度自由度要求开发人员和数据科学家进行更严格的调查。
ZenML开箱即用地带来了一个完整的功能生态系统-无需操作多个平台。结果,所有ML管道都是可重现的,从数据到模型都可以进行版本控制,并保证可以部署到生产中,而数据科学家不必偏离已知的良好工作流程。通过为提供商(Google Cloud,AWS,Azure,本地)提供基于集成的方法,计算后端(例如Spark,Kubernetes,裸机)以及一流的机器学习培训环境(Google AI平台) ,Sagemaker,Azure ML,NVIDIA DGX-1),ZenML可以让您立即在自己的云中开始,并通过添加更多的提供程序和后端使您的项目随着时间的推移而变得强大。
ZenML与AWS / GCP / Azure大型云提供商的ML产品有何不同?
三大云提供商(亚马逊,微软和谷歌)都拥有独特而成熟的机器学习产品选板。至少,他们可以访问功能强大的机器学习培训环境,并且使用越来越多的补充产品(例如Google AI平台管道)来协助数据预处理和随后提供经过训练的机器学习模型。
一般而言,通过在任何云提供商的产品之上构建MLOps基础架构,解决方案关键方面的责任将转移给您:
- 版本控制
- 追踪
- 串联管道阶段
- 持续训练
另一方面,机器学习产品通常提供非常稳定和成熟的基础环境,并允许深度集成到组织中现有的DevOps环境中。
而且由于我们完全了解它们的潜力,因此ZenML与它们并没有冲突,而是通过基于集成的后端系统利用了它们的功能。使用一个命令行命令,您可以将这些培训后端中的任何一个添加到您的ZenML帐户中,并从它们的所有优点中受益-而不会失去对我们任何功能的访问。
您所有的管道将继续可复制,从数据到模型进行版本控制,并在整个过程中进行缓存。
Zen与Databricks区别
Databricks是Apache Spark的原始创建者的公司,其历史可追溯到2009年的UC Berkeley。到目前为止,他们的商业产品在市场上占有重要地位,主要集中在大型组织和企业。
重点是通过在Spark提供的强大的并行和分布式计算之上提供抽象层,将重点放在技术水平较低的数据科学家身上。ML生命周期中针对常见问题(例如,部署模型和自动缩放部署)的AutoML和一键式解决方案是主要卖点。
作为托管平台,Databricks无法满足您现有云项目中工作负载的可移植性。AWS和Azure上的集成和部分产品正在兴起,但尚不支持全部产品范围。
支持数据源的列表在不断扩展,但是数据的版本控制以及管道的可重复性仍然完全取决于您(客户)的责任。由于底层的Spark体系结构,因此可以进行缓存,但是禁止用户使用其他处理后端。