机器学习正在为人工智能的大部分最新进展提供动力,包括计算机视觉、自然语言处理、预测分析、自主系统和广泛的应用。机器学习系统是实现这七种人工智能模式的核心。为了将数据价值链从信息层面提升到知识层面,我们需要应用机器学习,使系统能够识别数据模式,并从这些模式中学习,以应用于新的、从未见过的数据。机器学习并不是人工智能的全部,但它是人工智能的重要组成部分。

虽然构建机器学习模型是当今人工智能狭隘应用的基础,但有多种不同的方法可以实现相同的目标。所谓的机器学习平台通过提供结合模型开发和部署的许多必要活动的功能来促进和加速机器学习模型的开发。由于机器学习和数据科学领域并不新鲜,因此有大量工具可以帮助机器学习开发的不同方面。

构建机器学习模型的五个关键平台

提供机器学习开发能力的解决方案主要有五类:

  1. 机器学习工具包
  2. 机器学习平台
  3. 分析解决方案
  4. 数据科学笔记本
  5. 云原生机器学习即服务 (MLaaS) 产品。

人工智能在应用程序中的实现方式有七种主要模式。从高层次来看,这七种模式如下所示:

人工智能的七种模式

人工智能的七种模式

认知学

资料来源:Cognilytica

机器学习系统是实现这七种人工智能模式的核心。为了将数据金字塔从信息提升到知识,我们需要应用机器学习,使系统能够识别数据中的模式,并从这些模式中学习,以应用于新的、从未见过的数据。机器学习并不是人工智能的全部,但它是人工智能的重要组成部分。

了解机器学习算法、机器学习模型和训练数据之间的关系非常重要。机器学习模型是用训练数据训练机器学习算法的产物。换句话说,它是机器学习训练过程的结果。机器学习模型本质上是用算法来训练的;它们是在将算法应用于特定的给定数据集时生成的。虽然算法只是解决目标的通用方法,但机器学习模型可以评估未来的未知数据并做出预测或见解。因此,只要有不同的训练数据,就可以从同一算法创建许多模型。机器学习模型是情境和特定模式的数学表示,可用于现实世界的情况。

机器学习平台

机器学习平台通过提供结合模型开发和部署许多必要活动的功能来促进和加速机器学习模型的开发,包括:

  • 选择 用于特定学习任务的一种或多种算法
  • 加工 来自众多来源的训练数据 
  • 加速 使用集群或GPU计算资源的机器学习
  • 自动化 重复且耗时的数据科学家任务
  • 协助模型评估以及超参数选择和调整
  • 整合 用于增值机器学习过程的其他数据科学或数据工程工具
  • 可视化 机器学习过程和结果
  • 启用 机器学习模型部署

机器学习开发平台结合了不同任务领域的机器学习功能,包括:

  • 提供构建模块,利用尽可能广泛的可用机器学习算法来创建数据科学问题的解决方案
  • 为数据科学家建立良好的环境来试验不同的机器学习模型和结果并评估其性能
  • 支持数据准备、数据探索、可视化和数据聚合的数据处理需求
  • 使数据科学家能够在模型开发和迭代的在线和离线模式下工作
  • 允许数据科学家和其他管理者之间共享数据、模型、工件、可视化、评估和其他相关模型相关信息
  • 加速机器学习模型开发、评估和部署的过程
  • 帮助提高机器学习模型的整体性能、准确性和效率

数据科学笔记本

首先由以学术为导向的以数学为中心的平台普及,例如 数学和 数学工作坊 Matlab 现在在 Python、R 和 SAS 社区中很受欢迎,数据科学笔记本用于执行数据科学实验、记录数据研究并通过允许笔记本在不同的源数据上运行来简化结果的可重复性。数据科学笔记本是共享的协作环境,数据科学家小组可以在其中一起工作,并在不断变化的数据集上迭代模型。虽然笔记本并不能为开发代码提供良好的环境,但它们却为协作、探索和可视化数据提供了良好的环境。事实上,假设能够充分访问干净的数据,数据科学家就会使用最好的笔记本来快速探索大型数据集。

数据科学笔记本包括开源产品,例如 Jupyter、RStudio、 阿帕奇齐柏林飞艇 提供数据聚合、数据可视化、编码、模型训练和模型评估的组合。生成的模型可以移植到其他平台以进一步操作。对于小规模机器学习模型开发活动,数据科学笔记本可以提供大部分所需内容,而无需进一步投资更大规模的机器学习平台。

虽然数据科学笔记本提供了机器学习平台的许多功能,但它们本身并不是功能齐全的机器学习平台。通常在实验和初始训练阶段使用数据科学笔记本,一旦完成第一次迭代,项目就会转移到功能更齐全的机器学习平台。

机器学习工具包

机器学习和数据科学领域并不新鲜,比最新一波市场兴趣早了几十年。因此,有大量的单点解决方案工具可以帮助机器学习开发的不同方面。这些工具执行上面列出的机器学习平台的各个方面,但旨在以模块化方式与其他工具结合使用或作为更大的机器学习平台的一部分。

这些机器学习工具包非常流行,并且许多都是开源的。有些专注于特定的机器学习算法和应用,例如 喀拉斯、张量流、 火炬 专注于深度学习模型的开发,而其他诸如 阿帕奇马胡特 SciKit 学习 提供一系列用于生命周期各个部分的机器算法和工具。其中许多工具包嵌入在更大的机器学习平台解决方案中,但可以独立使用或在数据科学笔记本环境中使用。

其中许多机器学习工具包非常受成千上万使用这些工具的开发人员和数据科学家的欢迎。然而,许多工具包都专注于机器学习模型开发的狭隘方面,例如构建深度学习神经网络或特定类型的监督学习模型。因此,这些工具包并不意味着提供涵盖所有机器学习方法或人工智能模式的一套全面的算法。然而,这些机器学习工具包通常用作大型机器学习平台的组件,或与数据科学笔记本或其他此类工具结合使用。 

此外,许多机器学习工具包都得到了大型科技公司的支持,这些公司刺激了它们的发展。例如, Facebook 支持 火炬 咖啡, 谷歌 支持 喀拉斯 TensorFlow, 亚马逊 支持 MXNet, 微软 支持 CNTK Toolkit 和其他产品均由以下公司提供支持 IBM、百度、苹果、Netflix、 和别的。

通用分析套件

除了数据科学笔记本、机器学习工具包和机器学习平台之外,传统上针对数据分析、统计和数学应用的解决方案也意识到了将机器学习功能添加到现有统计和/或分析产品中的强大功能。其中许多供应商提供的产品,例如 Mathworks MATLAB、SAS、IBM SPSS、 沃尔夫拉姆数学 拥有数十年的实际应用和经验,并在企业和研究环境中发挥自己的优势。已经投资分析解决方案的公司会发现,他们可以保留并扩展现有的分析工具,这些工具现在支持机器学习的开发和部署。

许多数据科学笔记本、机器学习工具包、机器学习平台和分析套件的解决方案都可以作为开源产品提供。事实上,开源产品在机器学习领域占据主导地位,因为机器学习的大部分工作是在研究和学术环境中完成的,这些环境往往比企业更大程度地支持开源产品。对于本报告中探讨的所有类别的机器学习解决方案,既有开源产品,也有付费商业解决方案。付费商业解决方案通常提供支持、更广泛的功能和附加组件、咨询服务、培训、访问高性能计算资源以及其他好处,作为访问解决方案所支付价格的一部分。

基于云的机器学习环境 

对于那些希望构建机器学习模型的人来说,另一个考虑因素是确定模型是应该在基于云的在线环境中构建还是在本地计算机上构建。在云中工作的好处是可以使用可用的计算和存储基础设施,以及增强协作和对大型数据集的访问。在本地计算机或本地环境上工作的好处是开发速度快、存储和带宽成本较低、信息访问安全可靠以及可以离线工作。

在机器学习工作的早期,大多数机器学习模型都是在数据科学家的本地机器上(甚至在笔记本电脑上!)开发的,然后在达到预期目标后移动或移植模型。然而,强大的基于云的替代方案的出现提供了一种在基于云的环境中从头到尾运行机器学习项目的方法。 

基于云的机器学习模型开发的主要优势包括:

  • 易于扩展:公司可以通过基于云的机器学习轻松测试他们的解决方案,这有助于随着需求的增加扩大生产规模。
  • 获得广泛的增值功能:基于云的服务提供与数据工程、预训练模型、模型生命周期函数、广泛且不断增加的算法、自动化机器学习功能的附加工具的本机集成,以及减少拼凑解决方案的需要,从而降低了技术门槛公司和复杂性。

然而,基于云的机器学习平台的缺点包括:

  • 与本地数据集成困难:要求数据位于本地而不是在云环境中,这可能会对与云原生机器学习平台的集成带来技术、合规性和成本方面的挑战。 
  • 实验阶段潜在的高成本:云提供商通常根据存储、计算、带宽、功能和其他考虑因素收费。虽然存在可以为小型实施提供缓解的“免费套餐”,但在云中进行所有实验的大型组织可能会发现潜在的高成本,而通过本地、内部部署实验可以避免这些成本。

机器学习即服务 (MLaaS)

扩展云原生机器学习平台的概念,一些供应商已经建立了完全基于云的机器学习产品,不仅提供机器学习开发功能,还提供完整的机器学习生命周期功能、强大的数据管理功能、预训练的机器学习模型以及基于现有平台即服务 (PaaS) 和基础设施即服务 (IaaS) 功能构建的其他非机器学习功能。这些 机器学习即服务 (MLaaS) 产品涵盖按消费定价的广泛服务,例如每分钟计算、按存储单元、计量流量和基于查询的定价。

与 MLaaS 理念相关的是模型即服务的概念,其中基于云的提供商通过 API 在消费的基础上提供对预训练模型的计量访问。一些业内人士将 MLaaS 等同于模型即服务,而不是基于云的机器学习平台。出于本报告的目的,我们将模型即服务视为一个单独的主题,并在单独的报告中进行介绍,因为模型即服务供应商并不专注于使客户能够使用以下方式构建和管理自己的模型:他们自己的数据。对于 MLaaS 是指云原生 ML 平台还是模型即服务,尚未达成一致,因此,在本报告中,我们将云原生 ML 平台称为 云原生 ML 平台/MLaaS。

理解这一切

在何时、何地以及如何选择合适的机器学习开发平台方面,当然有很多不同的事情需要考虑,作为 Cognilytica 的分析师,我花了相当多的时间研究这些问题。然而,在基础层面上,只要了解不同的选项是什么,以及机器学习没有一刀切的方法,就可以帮助您做出更好的决策,而不会陷入供应商炒作和欺骗的陷阱。