01 介绍
在过去的五年里,我们看到人工智能(AI)和机器学习(ML)在各个行业中的使用大幅增长,以及一系列关于企业中机器学习采用率和斯坦福等知名学术和研究机构提供的关于 AI/ML 研究现状的报告。
本报告具有明显不同的重点。在这里,我们提供了 AI/M L基础设施软件的全面概述,这些软件驱动着 AI/ML 模型的构建、部署、扩展和运行。
本报告的目标受众是任何寻找正确工具来建立或扩展内部 AI/ML 实践的高管或工程团队负责人。 它将向您展示该领域的发展情况,以及各种 AI 基础设施类别的关键能力现状和未来五年的发展方向。 最后,您将清楚地知道在哪里投资您的预算,以加速项目并将其推向新的水平。
我们根据 AIIA 的 MLOps 蓝图描述了各个类别,并在各自的章节中讨论了每个类别。 如果您不确定哪个类别会产生最大的影响,那么您可以从头到尾阅读报告,以更好地了解技术栈的哪些部分对于构建或扩展团队能力至关重要。 或者,如果您已经清楚知道接下来需要什么类型的工具,那么您可以直接跳转到涵盖您需求的部分。 然而,您可能仍然希望阅读报告的其余部分,因为在这个领域可能存在您尚未意识到但对您的努力可能具有价值的能力。
AI/ML
平台的三种方法
在构建AI/ML平台方面,有三种主要方法:
- 自主构建
- 购买一种端到端解决方案
- 选择最佳产品
这些方法与组织在构建 Web 应用程序平台或内部 IT 系统时需要考虑的方法大致相同, 但在 AI/ML 方面存在一些独特之处。最显著的区别是该领域的成熟度。由于企业级 AI/ML 是一个相对年轻的领域,存在着各种各样的产品和服务。 在某些领域类别中,存在明显的市场领导者,而在其他领域中,根据组织需求,可能有多种选择是有意义的。
这种更广泛的平台选择范围反映了早期技术进步的情况。在汽车行业的早期阶段,有数百家汽车公司,其中许多是每年只生产几辆汽车的小作坊,在福特引领下的流水线生产过程崭露头角之前。 在互联网的早期阶段,至少有 50 种不同的 Web 服务器,但大多数 IT 管理员今天可能很难想到值剩下三到四种,其中 Apache、NGINX、IIS 和其他几种服务器主导市场。
自主构建
最初大规模采用 AI/ML 技术的公司主要是像 Google、Tesla、OpenAI、DeepMind 和 Netflix 这样的科技公司。 由于该领域是新兴的,它们别无选择,只能自行构建用于生产中构建、训练、部署和运行 AI/ML 模型的解决方案。 但随着这些先驱者开辟新领域,AI/ML 技术从实验室、大学和大型科技公司中走出来,企业软件公司和初创公司应运而生,满足对于通常没有内部专业知识或资源来从头开始构建整个定制 IT 系统并进行维护和更新的企业的需求。
AI基础设施联盟(AIIA)不建议大多数公司尝试从头开始构建自己的 AI/ML 平台,或者仅仅依靠纯开源组件将其拼凑在一起。 这种方法极其复杂且容易失败。它仅对于高度先进的团队有用,这些团队具有非常特定和独特的用例需求,这些需求当前的软件平台无法满足。 即使您怀疑您的需求是独特的,我们强烈建议您组建一个团队来研究这是否真是情况,或者您是否更适合使用已经开发的一套工具。
好消息是,在非常特殊的情况下,大多数公司不再从头开始构建自己的架构。
根据我们的企业调查,只有 20% 的公司完全自行构建了他们的基础设施,而 45% 的公司使用内部和第三方工具的混合,31% 的公司仅使用第三方工具的混合。
虽然早期的先驱者别无选择,只能构建自己的基础设施,但随着越来越多强大的产品进入市场,我们越来越多地看到公司选择购买和构建的混合方式,或者只选择购买。 这是因为长期维护定制应用程序需要巨大的工程资源。此外,团队经常在太晚之后才发现,他们原本期望能够胜任一切的平台对于超出初始设计的用例来说过于脆弱和僵化。 事实上,这是团队在构建 AI/ML 基础设施时告诉我们他们面临的第三大挑战:「平台只适用于某些应用,而对于其他应用则不适用」。
这就是 Uber’s Michelangelo 平台的情况,由 Mike Del Blaso 领导,后来他离开 Uber 创办了 Tecton,一个特征存储平台。 尽管该平台在 UberEats 构建时被证明非常有用,但 Del Blaso 后来指出,该平台对于他们构建的少数用例非常有效,但不容易推广到其他用例。 Uber 团队转向了更新的平台,目前在撰写本文时,Michelangelo 的许多原始组件已经分裂成更小、更灵活的项目,并维护在 Uber 的开源 Github 上。
也就是说,我们确实希望先进的团队拥有一些定制化的平台部分,包括但不限于粘合代码、跨平台的自定义总体工作流界面以及内部构建的程序、库和框架。 预计这一趋势将在未来五年持续存在,因为软件平台将不断演变以满足绝大多数 AI/ML 生命周期的需求,在这个演变过程中总会有需要填补的空白。
端到端
第二种解决方案是购买一个统一的端到端 AI/ML 平台,以满足您的所有机器学习和分析需求。这些平台试图覆盖 AI/ML 生命周期的每个方面。 在行业中,购买一个能够处理组织绝大部分需求的单一解决方案是一种众所周知且可信赖的购买实践,因此在购买 AI/ML 平台时采用同样的方法是很诱人的。 例如,许多组织在2000年代中期使用了单一数据库,如 Oracle,或在2010年代使用了 VMware 套件进行虚拟化,然后在公共云的兴起大大取代了 VMware 成为企业数据中心的主导力量。
然而,AI 基础设施联盟(AIIA)建议组织们不要被统一的端到端解决方案的引诱所迷惑,原因有几点。首先,我们仍然主要处于 AI 基础设施生态系统的早期采用阶段。 在他1962年的著作《Diffusion of Innovation》中,社会学家埃弗雷特·罗杰斯向我们展示了人们和企业在接受新技术方面分为五个明显的群体。后来,杰弗里·摩尔在他的畅销书《Crossing the Chasm》中进一步发展了这些思想。
典型的技术周期发展阶段,没有一个单一的解决方案能够满足每个需求,并在构建、训练、部署、保护和管理生产中模型的每个方面都超越其竞争对手。 相反,有许多平台正在快速发展,随着时间的推移,它们很可能会扩展其功能,并进行整合和合并。在技术发展生命周期的早期多数到后期多数阶段,涵盖广泛需求的高度发展的平台往往会出现和巩固。
然而,这并没有阻止许多营销团队宣称他们的解决方案是统治所有的唯一解决方案。我们建议组织们对供应商的营销策略保持警惕。 我们还建议,在考虑购买时,组织们仔细研究本报告中概述的功能,然后向任何声称支持 AI/ML 生命周期的方方面面的供应商提出严肃的问题。 截至本报告撰写日期,我们尚未发现一个合法覆盖当前空间中各种创新的单一解决方案,其中包括对结构化和非结构化数据进行强大提取和存储、数据版本控制和血统、合成数据生成器、特征存储、模型注册表、高度可扩展的流水线和编排系统、部署系统以及高度可扩展的服务引擎,以及最先进的监控、可解释性和可观察性。
尽管如此,完全有可能选择一两个供应商或平台作为您的 AI/ML 平台的核心,并围绕这些核心进行构建。 本报告详细介绍的许多平台确实涵盖了各种能力,可以满足复杂企业的需求。每个组织在购买下一代平台之前,都需要深入了解自己的现在和将来的需求。 例如,如果您的使用情况主要是结构化和半结构化的,主要关注经典分析任务,如客户需求、流失预测和欺诈检测,那么您可以将类似 Spark 的处理引擎作为标准。 然而,您可能会发现,随后您进入了深度学习和非结构化使用情况,如视频分析,却发现 Spark 对于这些工作负载并不理想。 同时,您可能会从核心供应商那里获得有限的监控能力,但无法获得专门提供这些功能的供应商所提供的全套监控、可观察性和可解释性工具。
最后,值得注意的是,虽然云供应商提供的解决方案似乎更加端到端,但如果我们仔细观察,往往会发现情况并非如此。Aws 的 SageMaker 是一套工具,从数据整理到流水线处理应有尽有。 然而,这些工具往往没有很好地集成,它们作为独立的工具存在于套件中,就像您自己购买了一系列工具一样。它们还高度专注于特定的使用情况,如结构化数据,并且不像处理非结构化数据使用情况(如视频、图像、音频和自由形式文本)那样容易。 此外,许多这些工具是云供应商自己开发的,而不是采用业界知名的领先平台。这通常是因为尚未出现领导者,因为我们仍处于采用曲线的早期阶段。
这也意味着从长远来看,随着工具的普及,云供应商很可能会替换套件中的重要组件,采用更受欢迎的替代方案。 这就引出了一个问题:为什么不一开始就选择最好的解决方案?长远来看,Aws 的特征存储很可能不会成为标准特征存储,而是选择采用像 Feast 这样的专业开源解决方案,或者像 Molecula 或 Tecton 这样的商业平台,它们都可以在多个云上运行。 公共云最擅长的是对已经在技术采用曲线上发展得更远的组件进行商品化。由于我们仍处于采用曲线的早期阶段,最好将任何公共云 AI/ML 解决方案视为在功能上与其他供应商的解决方案没有区别,并不指望它们已经提供了全面、统一的端到端解决方案,尽管他们的营销可能会承诺这样的解决方案。
最佳产品
AIIA 倡导对于中高级数据科学和数据工程团队采用最佳解决方案方法。这意味着以模块化方式构建 AI/ML 技术栈。组织应该评估和选择各个领域的领先者,或者考虑满足其独特使用情况需求的特定供应商的特殊能力。
我们建议您选择一两个核心平台,这些平台可以满足各种需求,包括数据处理、流水线处理到版本控制和血统追踪、实验跟踪和部署。 在选择核心平台之后,您可以更容易地选择满足更具体需求的附属平台,例如合成数据、特征存储或监控、可观察性和可解释性。
在 AI/ML 系统发展的当前阶段,最佳解决方案可能需要团队进行一些集成工作,因此确保您选择的平台具有清晰、有良好文档记录的 API,以及简单的进出口接口。 如果您的核心平台已经与您希望采用的其他平台进行了集成,那就更有前途了,但一定要调查这些集成的深度。这些集成是松散的、完善的还是在多个层面上紧密集成的?
为了选择核心平台,请仔细评估您当前的所有机器学习使用案例,包括当前时刻、未来一年和未来五年。 确保您充分了解您现在和未来时间段内希望解决的问题类型。由于 AI/ML 领域的最新技术和支持它的基础设施正在迅速发展,AIIA 认为很难确切地知道您是否能够支持未来五年以后出现的所有使用情况,因此最好专注于一个可以支持您绝大多数工作负载的平台。
然而,即使您无法预测超出该时间范围的每种可能的使用情况,也要给自己留出扩展到其他您目前无法想象的使用情况的空间。 这意味着选择具有最大灵活性、语言中立性和处理结构化、半结构化和非结构化数据能力的平台。确保您的核心平台能够满足所有这些潜在使用情况。
尽管您的团队可能从像流失预测和客户需求预测这样的低 hanging fruit 的使用案例开始,但仅选择一个仅满足这些需求的核心工具是不够的,尤其是如果您看到更高级的使用案例,如计算机视觉、语音转录、自然语言处理等的可能性。 您的核心平台应具备足够的灵活性,以处理各种各样的使用案例。
在评估每个平台时,不要简单地接受宣传文案,声称产品可以做任何事情。查看有良好文档记录的使用案例和示例,涵盖您现在和未来希望实现的每个方面。
选择核心平台的错误是团队可能犯的最昂贵的错误之一。您可能会发现自己需要使用第二甚至第三个平台来完成任务,因为最初的核心平台声称能够满足您的需求,但实际情况却截然不同。 选择支持核心平台的附属平台的错误是可以更正的。如果监控平台不符合您的需求,更换它会比更换您的主要流水线和编排系统更容易。
当然,虽然最佳解决方案方法在当前的 AI/ML 基础设施环境中提供了最成功的机会,但也有几个需要考虑的缺点。
第一个是成本
购买多个平台会产生成本,这将需要与开发、升级和支持内部平台的成本进行权衡,或者被迫为并不完全符合期望的「端到端」解决方案添加附加组件。 成本还将取决于您是否拥有丰富多样的使用案例,以及您是否预计在未来五年内扩展团队和使用案例。
第二个挑战是支持
在支持方面,您将无法只与一个团队进行沟通,而需要与多个团队打交道。然而,在现代企业中,我们发现团队已经习惯了处理多个支持合同,这通常不再被视为十年前那样大的障碍。
尽管存在这两个注意事项,AIIA 仍然认为模块化的最佳解决方案方法是构建今天的 AI/ML 技术栈的最有效方式,它将满足各种各样的现在和未来的需求,同时为您的团队提供最大的灵活性和投资回报。