揭秘AI基础设施堆栈,更快部署AI项目
在这个快速发展的环境中,仅仅评估不断扩大的AI工具和服务生态系统是个重大挑战,这些工具和服务常常是为不同的用户和目的设计的。
为了应对这一挑战,我们制作了AI基础设施堆栈(AI Infrastructure Stack),这个生态图直观显示了AI技术堆栈的各层和每一层内的供应商,更清楚地阐明了AI生态系统。
在英特尔资本公司,这有助于我们确定我们认为将对AI未来产生最大积极影响的投资,但它也有助于开发人员和工程师确定他们需要的资源,以最卓有成效的方式交付AI项目。
图1. AI基础设施堆栈
该技术基础设施堆栈专注于满足开发AI方面基本需求的横向解决方案,不管它部署在哪种类型的公司或行业。我们不包括针对特定行业的纵向解决方案。
该堆栈由7层组成,每层又分为两部分,这包括针对全然不同的工作负载、数据量、计算和内存需求以及SLA构建的解决方案:
- 探索/训练解决方案,通过算法处理数据并创建模型。
- 生产/推理解决方案,需要建议时,使用经过训练的模型予以响应——比如识别电子商务网站上“你可能也喜欢”的产品建议,或者决定何时对自动驾驶汽车踩刹车。
连接一切的是企业的分布式引擎——跨计算资源分配工作负载的计算平台。
栈的层数为:
- 硬件。合适的硬件是在数据中心中运行的训练解决方案的基础,也是在数据中心和边缘设备中运行的推理解决方案的基础。
- 软件加速器。这些是用于优化机器学习(ML)库的编译器和低级内核。
- 库。这些是用于训练ML模型的库。
- 数据科学框架。这一层包括将库与其他工具集成起来的工具。
- 编排。这些工具打包、部署和管理ML训练和模型推理的执行。没有这一层,DevOps就不可能实现。
- 自动化。这些工具简化并部分自动化为模型训练及其他ML任务准备数据的工作。
- 自主。这一层的工具将使构建、部署或维护ML模型的诸方面实现自动化。这就是AI训练AI的地方。
每一层的工具和服务加速了AI的开发和部署;然而与所有新兴技术一样,在决定使用哪种工具和服务时需要权衡和取舍。比如说,AutoML可以加快ML模型的开发,但是训练可能不如自定义模型来得准确。
用户要根据项目的需求来决定在每个层中使用哪些工具和服务。
图2. AI基础设施堆栈的更高层的详细视图。
AI价值链的顶端是编排、自动化和自主这几层——自主层通过使AI更容易被任何人(而不仅仅是数据科学家)访问和使用,对实现AI的大众化变得更至关重要。
虽然这几层是整个堆栈的最新层,其中AI工具和服务支持AI的持续集成和持续部署(CI/CD),不过要注意:创新出现在整个堆栈中——打破新的边界,提高可用性,并将AI引入到新的社区。
最后,我们用工具、服务和公司(许多是开源)方面的例子来填充模型。它们不包括市场上的所有选择,它们对考虑AI解决方案的那些人来说就是样本,每一层都有一系列可靠的选择。
图3. AI基础设施堆栈中工具、服务和公司的代表性例子。
AI不再处于起步阶段。对于力求利用AI来改进产品和服务,或者提高效率和改进决策的公司来说,现在有一个丰富的生态系统,其中的诸多工具和服务可用于构建、部署和监控ML和AI模型。