基础设施 3.0:AI 革命的基石
不管用什么标准来衡量,我们已进入了机器学习(ML)和人工智能(AI)时代。海量数据、廉价存储、弹性计算和算法优化(尤其是深度学习方面)这几个因素相互融合,共同带来了以往只出现在科幻小说上的应用。
如今机器在复杂的策略游戏中超越了人类,更不用说图像识别、语音转录以及致使什么是人类特有的、什么不是特有的认识方面开始复杂化的其他进步。基于语音的个人助理司空见惯,而完全自动化的汽车似乎完全触手可及。
鉴于最近的这些进展,围绕ML/AI的对话基本上围绕于算法及其应用方面的突破,这点可以理解。这方面的讨论对于底层支持这些智能系统的基础设施却显然只字未提。
就像在计算机行业的早期那样,你得精通汇编语言、编译器和操作系统,才能开发一个简单的应用程序,而如今你需要一大批统计分析和分布式系统领域的博士,才能大规模构建和部署AI。让ML/AI切实可用的抽象和工具是一个缺失的环节。而结果是,ML/AI仍然是一门应用有限、成本高昂的学科,只供少数几个技术出众的组织使用。
最终,这与基础设施的发展滞后有关;迄今为止,基础设施的发展远远落后于机器学习技术/方法方面的创新。简而言之,帮助开创当前实用机器学习这个时代的系统和工具并不适合支持它们带来的未来几代的智能应用。
展望未来,势必需要一套全新的工具链来发掘ML/AI的潜力,让广大开发人员和企业能够投入使用,更不用说易于上手了。如此一来,基础设施的下一个重大机会是为智能系统提供基石也就自不待言了。
从基础设施1.0到2.0及更高阶段
应用和基础设施的发展可谓步调一致。
硬件或系统软件方面的进步在向上游影响,因而支持全新类型的应用。那些应用趋于成熟,逐渐耗尽底层资源,因而促使基础设施层面随后出现一轮创新。出现更好、更快、更便宜的构建模块,这势必带来了为最终用户提供以前无法预知的体验的应用。从穿孔卡、经典游戏《Pong》、PowerPoint到Pinterest,这种潮起潮落成为了技术传统的主基调。
90年代末和2000年代初蓬勃发展起来的商业互联网能问世,得益于x86指令集(英特尔)、标准化操作系统(微软)、关系数据库(Oracle)、以太网(思科)以及网络数据存储系统(EMC)。亚马逊、eBay、雅虎、甚至早期的谷歌和Facebook都建立在我们称为基础设施1.0(Infrastructure1.0)的骨干系统上。
然而随着互联网不断成熟,用户数量从1995年的1600万增加到2015年年底的逾30亿,诸多应用对规模和性能的需求发生了变化。对于走大规模(web-scale)道路的巨头们来说,依赖在客户端/服务器时代开发、为这个时代开发的技术来运营公司业务再也行不通了,而且极不经济实惠。
相反,这些公司从自身下工夫。出色的技术专长结合来自全球学术界、谷歌、Facebook和亚马逊这类巨头的并行计算研究,造就了一种全新类型的基础设施,具有可横向扩展、可编程、常常开源、商品化等优点。Linux、KVM、Xen、Docker、Kubernetes、Mesos、MySQL、MongoDB、Kafka、Hadoop和Spark,这一类技术造就了云时代。我的同事苏尼尔•达里瓦尔(SunilDhaliwal)将这个转变称之为基础设施2.0(Infrastructure 2.0)。
最终,这一代度身定制的技术旨在将互联网扩展到数十亿最终用户的规模,并高效地存储从那些用户获取的信息。这样一来,基础设施2.0的创新促进了数据急剧加快增多。加上并行计算和算法方面几乎无止境的进步,这为如今的实用机器学习时代奠定了基础。
基础设施3.0:迈向智能系统
基础设施2.0最终关注的是这个问题:“我们如何连接世界?”如今这一代技术改述了这个问题,关心的是“我们如何解读世界?”
这种区别(即连接vs认知)使得ML/AI与前几代的软件截然不同。为认知编写代码在计算方面的挑战在于,它颠覆了经典的编程范式。在传统应用中,逻辑手动编码以执行特定的任务,而在ML/AI中,训练算法从大批数据中推断出逻辑。然后实现这个逻辑,对世界做出决定和预测。
结果是因此开发出来的应用“很智能”,但是数据密集型、计算开销庞大。这些特性使得ML/AI不太适合过去70多年盛行的多用途、一般化的冯·诺依曼计算范式。相反,ML/AI代表一种基本的新架构,势必需要重新思考基础设施、工具和开发实践。
然而迄今为止,ML/AI方面的研究和创新主要侧重于新的算法、模型训练方法和优化上。颇具讽刺意味的是,ML/AI系统中只有一小部分代码专门用于学习或预测。确切地说,复杂性主要体现在数据准备、特征工程以及大规模执行这些任务所需的分布式系统基础设施的操作运行上。
机器学习系统的隐性技术债务
成功地建立和部署ML/AI需要一套复杂的、精心协调的工作流程,这个工作流程涉及多个独立离散的系统。首先,数据需要加以摄取、清理和标记。然后要确定适当的属性(名为特性),而预测离不开这些属性。最后,开发人员必须训练模型,并验证、维护和不断优化模型。从头到尾,这个过程可能需要好几个月,即便对最精通技术的企业组织来说也是如此。
ML/AI想充分发挥潜力,就要从今天的一门学术学科变成一种工程学科。这实际上意味着,要有新的抽象机制、接口、系统和工具让开发人员易于开发和部署智能应用。
这些必要的演变不是抽象机制或渐进式过程改进方面的细小变化。相反,它们是系统设计和开发工作流程方面的颠覆性、根本性的变化。
相应地,在整个架构的每一层,我们开始看到出现了针对ML/AI范式优化的新平台和新工具。机会多多:
拥有许多计算核心和高带宽内存(HBM)的专用硬件非常靠近处理器晶片。这些芯片针对高度并行的数值计算进行了优化,这种数值计算又是执行神经网络固有的快速、低精度的浮点运算所必不可少的。
实现方法节省硬件的系统软件,这种实现方法可编译计算(一直到晶体管层面)。
可同时用于训练和推理的分布式计算框架可以跨多个节点,高效地横向扩展模型操作。
数据和元数据管理系统,支持可靠的、统一的、可重复的管道,这些管道用于创建和管理训练和预测数据。
延迟极低的服务型基础设施让机器能够基于实时数据和上下文,迅速执行智能操作。
模型解释、质量保证(QA)、调试和可观测性工具可以大规模地监控、反思、调整和优化模型和应用程序。
封装整个ML/AI工作流程,为最终用户摈弃复杂性的端到端平台。典型的平台包括像优步的Michelangelo和Facebook的FBLearner这些自家开发的内部系统,以及商业平台。
就像过去十年见证了云原生架构的崛起,在今后几年我们预计也会看到一个庞大的基础设施和工具生态系统围绕ML/AI形成起来。
初步的基础设施3.0架构(图片来源:Amplify Partners)
总的来说,这个时期(基础设施3.0)的创新将旨在发掘ML/AI的潜力,并为智能系统提供基石(构建模块)。与前几代一样,到时会出现新的项目、平台和公司,它们叫板目前的在位者。明天的基础设施巨头有望是这场一触即发的ML/AI革命的“军火商”。
云头条:未经授权谢绝转载
相关阅读:
验证码已无效:AI 彻底击败图灵测试(CAPTCHA)的安全机制(附论文)
Facebook AI 将“早安”翻译成“攻击他们”,导致无辜男子被捕!
革命性计算架构突破:性能提高 200 倍;内存上可运行 AI 应用
Gartner 2018 年十大战略性技术趋势:AI 成为基础、从云到边缘等
AI 产品市场,浑水摸鱼者居多;BI 用得好好时,别用 AI
Gartner:到2020年几乎全部新型软件产品皆将引入AI技术
《Gartner:2017年十大技术趋势》报告:AI将成为技术主战场