揭秘AI基础设施堆栈,更快部署AI项目

平凡的程序员 2020-05-07

在这个快速发展的环境中,仅仅评估不断扩大的AI工具和服务生态系统是个重大挑战,这些工具和服务常常是为不同的用户和目的设计的。

为了应对这一挑战,我们制作了AI基础设施堆栈(AI Infrastructure Stack),这个生态图直观显示了AI技术堆栈的各层和每一层内的供应商,更清楚地阐明了AI生态系统。

在英特尔资本公司,这有助于我们确定我们认为将对AI未来产生最大积极影响的投资,但它也有助于开发人员和工程师确定他们需要的资源,以最卓有成效的方式交付AI项目。

揭秘AI基础设施堆栈,更快部署AI项目

图1. AI基础设施堆栈

该技术基础设施堆栈专注于满足开发AI方面基本需求的横向解决方案,不管它部署在哪种类型的公司或行业。我们不包括针对特定行业的纵向解决方案。

该堆栈由7层组成,每层又分为两部分,这包括针对全然不同的工作负载、数据量、计算和内存需求以及SLA构建的解决方案:

  • 探索/训练解决方案,通过算法处理数据并创建模型。
  • 生产/推理解决方案,需要建议时,使用经过训练的模型予以响应——比如识别电子商务网站上“你可能也喜欢”的产品建议,或者决定何时对自动驾驶汽车踩刹车。

连接一切的是企业的分布式引擎——跨计算资源分配工作负载的计算平台。

栈的层数为:

  1. 硬件。合适的硬件是在数据中心中运行的训练解决方案的基础,也是在数据中心和边缘设备中运行的推理解决方案的基础。
  2. 软件加速器。这些是用于优化机器学习(ML)库的编译器和低级内核。
  3. 库。这些是用于训练ML模型的库。
  4. 数据科学框架。这一层包括将库与其他工具集成起来的工具。
  5. 编排。这些工具打包、部署和管理ML训练和模型推理的执行。没有这一层,DevOps就不可能实现。
  6. 自动化。这些工具简化并部分自动化为模型训练及其他ML任务准备数据的工作。
  7. 自主。这一层的工具将使构建、部署或维护ML模型的诸方面实现自动化。这就是AI训练AI的地方。

每一层的工具和服务加速了AI的开发和部署;然而与所有新兴技术一样,在决定使用哪种工具和服务时需要权衡和取舍。比如说,AutoML可以加快ML模型的开发,但是训练可能不如自定义模型来得准确。

用户要根据项目的需求来决定在每个层中使用哪些工具和服务。

揭秘AI基础设施堆栈,更快部署AI项目

图2. AI基础设施堆栈的更高层的详细视图。

AI价值链的顶端是编排、自动化和自主这几层——自主层通过使AI更容易被任何人(而不仅仅是数据科学家)访问和使用,对实现AI的大众化变得更至关重要。

虽然这几层是整个堆栈的最新层,其中AI工具和服务支持AI的持续集成和持续部署(CI/CD),不过要注意:创新出现在整个堆栈中——打破新的边界,提高可用性,并将AI引入到新的社区。

最后,我们用工具、服务和公司(许多是开源)方面的例子来填充模型。它们不包括市场上的所有选择,它们对考虑AI解决方案的那些人来说就是样本,每一层都有一系列可靠的选择。

揭秘AI基础设施堆栈,更快部署AI项目

图3. AI基础设施堆栈中工具、服务和公司的代表性例子。

AI不再处于起步阶段。对于力求利用AI来改进产品和服务,或者提高效率和改进决策的公司来说,现在有一个丰富的生态系统,其中的诸多工具和服务可用于构建、部署和监控ML和AI模型。

相关推荐

蜗牛慢爬的李成广 / 0评论 2019-10-19
CloudCraft / 0评论 2011-12-15