PM圈子转载
导读:不管乐意不乐意,我们已经进入了机器学习和人工智能的时代。海量的数据、廉价的存储空间、弹性的计算和算法优化(尤其是深度学习)相结合,把以前只定格科幻小说和电影里的应用带到了我们的现实生活中。这些曾经的“幻境”能够照进现实,应用程序的基础架构不断升级做出了不可磨灭的贡献,从 1.0 到 2.0,再到 3.0,架构在进化中,帮助我们进入机器学习和 AI 时代。
![](https://i-blog.csdnimg.cn/blog_migrate/4cabfc0f2f648a9186bdcfa94dfa13a4.jpeg)
在复杂的策略游戏中,机器已经超越了人类,机器学习在图像识别、语音转化以及其他方面的进步,开始让我们怀疑此前对人类特质的定义是不是过于简单了。现在,基于语音技术的个人助理应用随处可见,完全自动化的车辆似乎在不久的将来就能上路了。
最近的这些进展,让围绕 ML / AI 的大部分讨论都集中在算法及其应用方面的突破。然而,不知道大家有没有注意到,讨论中明显很少有人提及这些智能系统应用得以实现所应用的基础架构。
与计算机发展早期,开发一个简单的应用程序时需要精通汇编语言、编译器和操作系统方面的专家一样,现在,大规模创建和部署 AI 系统也需要大量的统计和分布式系统方面的专家。然而,由于应用 ML / AI 所需的工具稀缺,让 ML / AI 成为一个少数精英工程师专享的昂贵学科。
另外,这种状况的出现还与基础架构发展的滞后有关,迄今为止,机器学习在技术的创新已经远远超过基础架构的发展。简而言之,目前机器学习应用的系统和工具,已经远不能适应未来人工智能发展的需求了。
未来,要想释放 ML / AI 的巨大潜力,创建一个开发人员和企业能够操作和使用、全新的工具链必不可少。因此,基础架构的下一个重大机遇,可能就是为智能系统提供支持。
从 1.0 到 2.0,再到 3.0
从 1.0 到 2.0,到更高版本,应用程序和基础架构都在逐步向前发展。
随着硬件和系统软件的进步,越来越多的新应用程序涌现,促进了基础架构层面进入创新的良性循环。更好、更快、更便宜的构建模块的兴起,让用户在应用程序终端的体验前所未有,如打孔卡片,到 Pong,再到 PowerPoint 和图片应用 Pinterest。
90 年代末和 2000 年早期的商业互联网,是由 x86 指令集(Intel)、标准化操作系统(Microsoft)、关系数据库(Oracle)、以太网(Cisco)以及网络数据存储(EMC)组成的。亚马逊、eBay、雅虎、谷歌和 Facebook 最早的迭代,都建立在这个我们称为基础架构 1.0 的框架上。
然而,随着网络发展趋向成熟,到 2015 年底,网络用户数量已经从 1995 年的 1600 万,增长到超过 30 亿,应用程序的规模和性能要求均发生了变化。对于大型网络公司来说,主从式架构时代所开发的技术,对于企业的运营来说已不再可行,也不太经济了。
这时,这些公司开始从学术界、Google、Facebook 和亚马逊那里,将优秀的技术与并行计算研究成果相结合,定义了一个新的可扩展的、可编程的(通常情况下)的开源基础架构类别。 相似地,Linux、KVM、Xen、Docker、Kubernetes、Mesos、MySQL、MongoDB、Kafka、Hadoop、Spark 等技术定义了云时代,我们称之为架构 2.0。
这一代的技术用于将互联网扩展至数十亿终端用户,并有效存储从这些用户那里获取的信息。如此,基础架构 2.0 的创新使得数据急剧增长。
与近乎无穷无尽的并行计算和算法相结合,这代基础架构为今天的机器学习时代奠定了基础。
架构 3.0:走向智能系统
架构 2.0 要解决的终极问题是:我们如何连接世界?而这个问题如今已变成:我们如何理解世界?
连通性与认知之间的不同,是区分 ML / AI 与前几代软件的标志。编码认知在计算上的挑战,是其颠覆了传统的编程范式。在传统应用中,逻辑是由手动编码以执行特定的任务,而在 ML / AI 中,则是训练算法从数据库中推断逻辑,随后执行逻辑来做决定并进行预测。
然而,这个“聪明的”数据密集型应用程序计算成本昂贵,这让 ML / AI 不适用于多用途的冯·诺依曼计算范式。相反,ML / AI 代表了一个需要重建基础架构、工具和开发实践的新的基础架构。
但迄今为止,ML / AI 的研究和创新的优势一直在于新算法、模型训练技术和优化,ML / AI 系统中只有一小部分代码用于学习或预测,大部分的复杂性体现在数据准备、特征工程,以及大规模执行这些任务所需的分布式系统基础架构的操作上。
成功建立和部署 ML / AI 需要复杂、精心协调的工作流程,涉及多个离散系统。首先,需要输入、梳理和标记数据。然后,必须确定预测所依据的正确属性(称为特征)。最后,开发人员必须对模型进行训练和验证,不断优化模型。从开始到结束,即使是有经验的团队,这个过程可能需要几个月的时间。
![](https://i-blog.csdnimg.cn/blog_migrate/49de76013cd500256cf6e37137cffeb2.jpeg)
为了让 ML / AI 充分发挥潜力,需要训练其不断进阶。这意味着在实践中,开发人员需要使用新的接口、系统和工具,以更加轻松地开发智能应用程序。
这些变化可不是微不足道的,相反地,它们在系统设计和开发工作流程中是具有颠覆性、基础性的变化。
随之,很多 ML / AI 优化的新平台和工具将会出现,例如:
-
类似于处理器芯片,具有许多计算内核和高带宽内存(HBM)的专用硬件。这些芯片针对执行高速、低精度、神经网络浮点运算所需的高度并行数值计算进行优化。
-
分布式计算框架,用于培训和推理,可以有效地在多个节点上扩展模型操作。
-
数据和元数据管理系统,以实现可靠、统一和可重复的管道,用于创建、管理培训和预测数据。
-
极低延迟的服务基础架构,使机器能够根据实时数据和上下文快速执行智能操作。
-
模型解释、QA、调试和用来大规模监控、学习、优化模型和应用程序的观测工具。
-
管理整个 ML / AI 工作流程的端到端平台,例如 Uber 的 Michelangelo 和 Facebook 的 FBLearner 等内部系统,以及 Determined AI 这样的商业产品。
过去的十年见证了云本地堆栈的出现,在接下来的几年里,我们将目睹围绕 ML / AI 的庞大基础架构和工具生态系统层出不穷。
(Amplify Partners:原始基础架构 3.0)
总的来说,基础架构 3.0 的创新将释放 ML / AI 的潜力,为智能系统提供构建模块。和前几代一样,它将催生众多新的项目、平台和公司,并对现有的公司形成挑战。一场基础架构升级带来的 ML / AI 革命,即将到来。