您现在的位置是:首页 >互联网 > 2020-11-02 14:00:47 来源:

Kubeflow在标准化AIDevOps管道方面显示出希望

导读 为云开发应用程序越来越需要构建和部署容器化的微服务或可以部署到多个计算环境的应用程序模块。人工智能越来越成为这些云应用程序的核心。

为云开发应用程序越来越需要构建和部署容器化的微服务或可以部署到多个计算环境的应用程序模块。

人工智能越来越成为这些云应用程序的核心。为了满足在云应用程序中创建和部署容器化AI模型的需求,越来越多的应用程序开发工具提供商正在构建对容器化到其数据科学工作台以及使用Python,Java和R等语言对这些应用程序进行编程的支持。

数据科学工作台是许多AI应用程序开发的重点。这些工具的最新一代正在利用云本机界面,一直到边缘的源源不断的容器化机器学习模型。

在AI DevOps管道中将完成的应用程序部署到其目标平台上的实时状态并非易事。它需要广泛的工具和基础架构功能,从提供对流行的AI建模框架(如TensorFlow和PyTorch)的访问的工作台到大数据分析,数据治理和工作流管理平台,应有尽有。在云原生环境中,它还需要具有在公共,私有,混合,多云甚至边缘环境中的Kubernetes编排主干上部署容器化机器学习和其他AI微服务的能力。

随着AI应用程序开始注入云计算领域的每个角落,对于此DevOps管道必须有开放,灵活的标准,这一点绝对必要。这可以使在一个工作台或一个框架中构建的AI应用程序能够在各种云原生应用程序环境中进行下游培训,服务,执行,基准测试和管理,这些环境都使用通用的端到端Kubernetes背板。

认识到这一必要性,人工智能社区在过去一年中迅速地围绕一个开源项目进行了合并,该项目已构建了一个平台来驱动Kubernetes上的机器学习DevOps管道。Kubeflow由Google LLC开发并于2017年底启动,提供了与框架无关的管道,可用于跨多框架,多云云原生生态系统部署AI微服务。

Kubeflow支持用于容器化机器学习的整个DevOps生命周期。它简化了可用于生产环境的AI微服务的创建,确保了Kubernetes集群之间容器化AI应用的移动性,并支持将AI DevOps工作负载扩展到任何集群规模。它旨在支持端到端AI DevOps管道中的任何工作负载,从前期数据准备到迭代建模和培训,再到下游服务,评估和管理容器化AI微服务。

尽管 Kubeflow最初是一个内部Google项目,旨在将TensorFlow机器学习模型简化到云中的部署,但Kubeflow旨在独立于创建这些模型的特定框架,从而与用于训练和推理的底层硬件加速器无关,并在实现Kubernetes,Docker和其他核心云原生平台的多云环境中的任何地方部署容器化AI应用程序。

尽管它作为社区项目已经运行了不到一年,但是当前版本为0.3的Kubeflow已经迅速发展为包括以下丰富功能:

建模:Kubeflow在TensorFlow框架中支持基于Jupyter的AI建模,社区计划在不久的将来通过Seldon Core(一个运行的开源平台)支持其他流行的框架,包括PyTorch,Caffe2,MXNet,Chainer等。非TensorFlow服务和推理工作负载。

协作:Kubeflow促进了在交互式Jupyter笔记本中创建与框架无关的AI模型,在Jupyter笔记本 服务器中执行这些模型 以及在多用户JupyterHub中基于团队的共享和版本控制。

编排:Kubeflow支持利用开源的Kubernetes编排环境将容器化的AI应用程序部署到云原生的计算平台,并利用云原生的Ambassador API,Envoy代理服务,Ingress负载平衡和虚拟主机服务以及Pachyderm数据管道。

生产:Kubeflow包含用于管理AI DevOps工作流的功能,包括在分布式云中部署TensorFlow。它还具有扩展功能,可以增强分布式训练性能,执行模型基准测试,超参数调整,测量 和测试。它提供了用于管理的命令行界面Kubernetes应用程序清单表明支持由多个微服务组件组成的复杂DevOps管道部署。而且,它可以通过控制器对容器化的AI模型进行调度和执行分布式训练和推理,该控制器可以配置为使用中央处理单元或图形处理单元,并且可以动态调整为Kubernetes集群的大小。

由于该项目对于云中的可伸缩AI应用程序至关重要,因此Kubeflow项目在业界得到了广泛的参与和贡献。该项目现在有来自20个组织的约100个贡献者。这都在不同的贡献或以其他方式参与Kubeflow社区组织包括阿里巴巴云,Altoros,亚马逊Web服务,蚂蚁金融,Argo计划,Arrikto,Caicloud,规范,思科,Datawire,戴尔,Github上,谷歌,H20。 i,Heptio,华为,IBM,英特尔,Katacoda,MAPR,中间层,微软,动量,NVIDIA,厚皮类动物,底漆,项目Jupyter,红帽,塞尔顿,尤伯杯 和Weaveworks。

但是,Kubeflow尚未成熟,仅在少数商业AI工作台和DevOps解决方案中采用。以下是支持容器模型的云原生部署的AI工具供应商中的一些早期采用者:

阿里云:云提供商的开源Arena工作台将Kubeflow集成在命令行工具中,使AI DevOps专业人员免受底层资源,环境管理,任务调度以及GPU调度和分配的复杂性的影响。它加快了提交TensorFlow AI培训工作并检查其进度的任务。

Amazon Web Services Inc .:云提供商在其公共云的针对Kubernetes的Amazon Elastic Container Service上支持Kubeflow。他们利用开源平台来支持数据科学流水线,这些流水线服务于在Jupyter笔记本电脑中创建的机器学习模型到GPU工人节点,以作为Kubernetes上的微服务进行可扩展的培训和推理。

思科系统公司:供应商在内部和Google Cloud中都支持Kubeflow。在思科统一计算系统服务器平台上运行Kubeflow的用户可以为其提供容器化的AI应用程序以及在TensorFlow,PyTorch和Spark等框架中构建的其他分析工作负载;第三方AI建模工作台,例如Anaconda Enterprise和 Cloudera Data Science Workbench;以及Cloudera Inc.和Hortonworks Inc.的大数据平台。

H20.ai:该公司支持 在Kubernetes上的Kubeflow上部署其 H2O 3 AI DevOps工具链,以减少数据科学家花费在调整模型超参数等任务上的时间。

IBM Corp .:提供商在其Cloud Private平台中支持Kubeflow以支持在企业数据中心中轻松配置和管理可扩展的基于Kubernetes的AI管道,利用Kubeflow与IBM Cloud Private-Community Edition,数据科学家可以在私有内部的DevOps管道中进行协作企业数据中心中的云环境。

Weaveworks:供应商提供了DevOps工具,用于在Kubernetes上自动部署,可观察性和监视云本机应用程序工作负载。该工具使用户能够利用其Weave Cloud简化在Kubernetes集群上运行的Kubeflow的可观察性,部署和监视。

来年,Wikibon希望大多数AI开发工作台,面向团队的机器管道自动化工具和DevOps平台的提供商将Kubeflow完全集成到他们的产品中。同时,我们敦促Kubeflow社区将该项目提交给Cloud Native Computing Foundation,以在一个专门的工作组中进行开发。