NVIDIA MLOPS:IT产品的人工智能生命周期

2020-09-06 23:44:44

MLOPS听起来可能像是一个毛茸茸的独眼怪物的名字,但它实际上是一个缩写,它意味着企业人工智能的成功。

MLOps是机器学习操作的速记,是企业成功运行人工智能的一套最佳实践。

MLOPS是一个相对较新的领域,因为人工智能的商业应用本身就是相当新的。

人工智能的大爆炸在2012年响起,当时一名研究人员赢得了一场使用深度学习的图像识别比赛。涟漪迅速扩大。

今天,人工智能翻译网页并自动路由客户服务电话。它帮助医院读取X光片,银行计算信用风险,零售商库存货架以优化销售。

简而言之,机器学习作为人工智能广阔领域的一部分,将与软件应用程序一样成为主流。这就是为什么运行ML的过程需要和运行IT系统的工作一样严格。

MLOps是以DevOps的现有规程为模型的,DevOps是高效编写、部署和运行企业应用程序的现代实践。DevOps始于十年前,作为软件开发人员(Devs)和IT运营团队(Ops)交战部落之间的一种协作方式。

MLOps为团队增加了数据科学家,他们负责管理数据集,并构建分析数据集的人工智能模型。它还包括ML工程师,他们以有纪律的、自动化的方式在模型中运行这些数据集。

这在原始业绩和管理严格性方面都是一个巨大的挑战。数据集是海量的,而且还在不断增长,它们可以实时更改。人工智能模型需要通过实验、调整和再培训的循环进行仔细的跟踪。

因此,MLOPS需要一个功能强大的人工智能基础设施,该基础设施可以随着公司的发展而扩展。为此奠定基础,许多公司使用NVIDIA DGX系统、CUDA-X和NVIDIA软件中心NGC上提供的其他软件组件。

有了人工智能基础设施,企业数据中心就可以在MLOps软件堆栈的以下元素上分层:

数据科学家需要自由地从外部来源和内部数据湖中剪切和粘贴数据集。然而,他们的工作和这些数据集需要仔细标记和跟踪。

同样,他们需要进行实验和迭代,以制作能够很好地完成手头任务的伟大模型。因此,他们需要灵活的沙盒和坚如磐石的存储库。

他们需要与ML工程师合作,后者在原型、测试和生产过程中运行数据集和模型。这是一个需要自动化和关注细节的过程,这样模型就可以很容易地被解释和复制。

如今,这些功能正在成为云计算服务的一部分。认为机器学习具有战略意义的公司正在使用越来越多供应商提供的MLOPS服务或工具创建自己的人工智能卓越中心。

在早期,Airbnb、Facebook、谷歌、NVIDIA和优步等公司不得不自己构建这些能力。

NVIDIA人工智能基础设施主管尼古拉斯·库姆恰茨基(Nicolas Koumchat Zky)表示:“我们试图尽可能多地使用开放源代码,但在很多情况下,我们想要做的事情没有大规模的解决方案。”

“当我第一次听到MLOps这个术语时,我意识到这就是我们现在正在建设的,也是我之前在Twitter正在建设的,”他补充道。

Koumchat zky在NVIDIA的团队开发了MagLev,这是一款托管NVIDIA Drive的MLOps软件,NVIDIA Drive是我们创建和测试自动驾驶汽车的平台。作为MLOps基础的一部分,它使用NVIDIA Container Runtime和Apollo,这是NVIDIA开发的一组组件,用于管理和监控运行在大型集群中的Kubernetes容器。

Koumchat zky的团队在NVIDIA基于名为DGX Pod的GPU集群的内部人工智能基础设施上运行作业。在作业开始之前,基础设施团队会检查他们是否使用了最佳实践。

迈克尔·休斯顿(Michael Houston)说,首先,“所有东西都必须在容器中运行--这样就省去了以后寻找人工智能应用程序所需的库和运行时的令人难以置信的痛苦。”他的团队开发了NVIDIA的人工智能系统,包括最近被评为美国最强大的工业计算机的DGX超级吊舱Selene。

数据科学家埃德温·韦伯斯特(Edwin Webster)一年前为尼尔分析公司(Neal Analytics)创办了MLOps咨询业务,并写了一篇定义MLOps的文章。他表示,如今商业中使用的MLOps实践的成熟度差异很大。他说,在一些公司,数据科学家仍然在他们的个人笔记本电脑上收藏模型,另一些公司则转向大型云服务提供商提供全天候的服务。

其中一个涉及一家大型零售商,该零售商利用公共云服务中的MLOps功能创建了一项人工智能服务,每天预测何时将易腐烂的商品重新进货,从而减少了8-9%的浪费。这家零售商的一个初露头角的数据科学家团队创建了数据集并建立了模型;云服务将关键元素打包到容器中,然后运行和管理人工智能作业。

另一起涉及一家个人电脑制造商,该制造商使用人工智能开发软件,以预测其笔记本电脑何时需要维护,以便自动安装软件更新。使用成熟的MLOPS实践和内部专家,OEM在3000台笔记本电脑上编写并测试了其人工智能模型。这家个人电脑制造商现在向其最大的客户提供软件。

高德纳(Gartner)追踪该领域的高级首席分析师舒班吉·瓦希什(Shubangi Vashisth)表示,许多(但不是所有)财富100强公司都在拥抱MLOPS。“它的势头正在增强,但它不是主流,”她说。

Vashisth与人合著了一份白皮书,其中列出了MLOPS入门的三个步骤:使利益相关者与目标保持一致,创建定义谁拥有什么的组织结构,然后定义责任和角色-Gartner列出了十几个步骤。

不要迷失在沿着这条大道成长起来的流行语森林中。该行业显然已经围绕MLOPS凝聚了自己的精力。

相比之下,AIOps是使用机器学习自动化IT功能的一种更狭隘的实践。AIOps的一部分是IT运营分析(ITOA)。它的工作是检查AIOps生成的数据,以确定如何改进IT实践。

类似地,有些人创造了术语DataOps和ModelOps,分别指创建和管理数据集和AI模型的人员和流程。这是整个MLOPS谜题中的两个重要部分。

有趣的是,每个月都有成千上万的人搜索DLOPS的含义。他们可能会认为DLOP是用于深度学习的IT操作。但该行业使用术语MLOps,而不是DLOps,因为深度学习是更广泛的机器学习领域的一部分。

尽管有很多查询,您还是很难在网上找到任何关于DLOp的信息。相比之下,谷歌和微软等家喻户晓的公司,以及伊瓜齐奥(Iguazio)和Paperspace等后起之秀的公司都在MLOPS上发布了详细的白皮书。

阿里巴巴、AWS和甲骨文等主要云服务提供商等几家提供端到端服务的公司都可以通过舒适的键盘访问。

对于将工作分散到多个云中的用户,Databricks的MLFlow支持使用多个提供商和多种编程语言(包括Python、R和SQL)的MLOPS服务。其他与云无关的替代方案包括Polyaxon和KubeFlow等开源软件。

那些认为人工智能是他们希望在防火墙后使用的战略资源的公司可以从越来越多的MLOps软件第三方提供商名单中进行选择。与开源代码相比,这些工具通常添加了有价值的功能,并且更容易投入使用。

所有六家供应商都提供了管理数据集和模型的软件,这些数据集和模型可以与Kubernetes和NGC一起使用。

分析师Vashisth表示,Gartner追踪了大约12家提供MLOps工具的供应商,其中包括ModelOp和ParallelM,它们现在是DataRobot的一部分。她警告说,当心那些没有覆盖整个过程的服务。它们迫使用户在用户必须自己拼接的程序之间导入和导出数据,这是一个乏味且容易出错的过程。

Neal Analytics的韦伯斯特说,网络的边缘,特别是对于部分连接或未连接的节点,是到目前为止MLOP服务不足的另一个领域。

NVIDIA的Koumchat zky将管理和管理数据集的工具放在他对社区的愿望清单的首位。

“很难标记、合并或切片数据集或查看其中的一部分,但有一个不断增长的MLOPS生态系统来解决这一问题。NVIDIA在内部开发了这些,但我认为它在行业内的价值仍被低估。“。他说。

从长远来看,MLOPS需要相当于IDE,即应用程序开发人员所依赖的集成软件开发环境,如Microsoft Visual Studio。与此同时,Koumchat zky和他的团队制作了自己的工具来可视化和调试AI模型。

除了来自其合作伙伴的软件,NVIDIA还提供了一套主要是开源的工具,用于管理基于其DGX系统的人工智能基础设施,这是MLOPS的基础。这些软件工具包括:

NVIDIA Container Runtime将启动支持GPU的Containers,NVIDIA GPU Operator将简化Kubernetes中的GPU管理。

和DeepOps,获取有关如何部署和编排上述所有元素的脚本和说明。

许多都可以在NGC和其他开放源码存储库中找到。NVIDIA将这些要素整合到一个成功的配方中,为创建名为DGX Pod的GPU集群提供了参考架构。

最后,每个团队都需要找到最适合其用例的MLOPS产品和实践的组合。他们都有一个共同的目标,那就是创建一种自动化的方式,将人工智能作为公司数字生活的日常一部分顺畅地运行。