从开源BigDL和Analytics Zoo,看懂英特尔的AI底气
出处 | AI前线
说起英特尔,为人们所津津乐道的是其突出的“硬”表现,实际上,英特尔的“软”实力在全球也是排名前列。要让硬件充分发挥出性能潜力,必然需要进行软件上的优化,这方面的工作可谓关键且极具挑战。近日,InfoQ 记者有幸采访了英特尔公司架构图形与软件集团副总裁和数据分析技术总监马子雅,她所带领的 IAGS/SSP 部门负责的正是针对英特尔硬件的软件优化工作,致力于为合作伙伴和用户提供大数据分析和 AI 的最优体验。
在采访中,马子雅为我们解读了英特尔软硬件结合的全栈式人工智能解决方案,并重点分享了过去两年英特尔对外开源的重要项目 BigDL 和 Analytics Zoo 的最新变化和进展。马子雅表示,Spark 在英特尔的硬件上能够得到最好的优化,而 BigDL 和 Analytics Zoo 自开源以来得到了广泛关注,采用情况好于预期。
加速人工智能落地,必须“软硬兼施”
近年来,互联网数据飞速增长,据英特尔统计:目前全球有超过一半的数据是在过去两年内产生的,而这其中只有不到 2% 是真正经过分析并产生价值的。英特尔近日在全球多地召开的发布会上推出了一系列以数据为中心的产品组合,包括第二代至强可扩展处理器、傲腾数据中心内存和存储解决方案、Agilex FPGA、以太网 800 适配器。正是为了应对数据激增的变化,英特尔为数据传输、存储、计算和处理提供了一套完整的解决方案。而在这套解决方案里,硬件并非全部。
马子雅早前曾在采访中表示,英特尔致力于为客户提供最好的服务,而非单纯的硬件或软件。对于这一点,马子雅再次强调,英特尔是一家人工智能技术解决方案供应商,致力于为客户提供完整的全栈式人工智能解决方案。
在芯片层面,英特尔提供广泛的技术方案,包括通用型芯片到专用型芯片等,涵盖由边缘到数据中心的广泛领域。CPU、GPU、加速器、FPGA、内存 / 存储、互连以及安全硬件等都在英特尔的业务范畴之内。
除此之外,英特尔还提供经过全面优化的软件,用以加速并简化 AI 技术的开发与部署,具体涵盖库、框架以及工具与解决方案等层面。
- 在解决方案层面,英特尔能够开发、应用并共享完整的 AI 解决方案,从而加快客户从数据到洞察结论的推进过程。此外,英特尔还通过 ai.intel.com 网站发布案例研究成果、参考解决方案以及参考架构,以便客户能够在界定探索范围以及自行构建类似的 AI 解决方案时作为指导。
- 在平台层面,英特尔提供多种一站式、全堆栈且用户友好的系统方案,可由客户快速部署并加以使用。例如,英特尔 Deep Learning 云 / 系统(原名为 Nervana Platform with Nervana Cloud 以及 Nervana appliance)就是一套“一站式”系统,旨在缩短深度学习客户的开发周期。
- 在工具层面,英特尔提供大量生产力工具,用以加速数据科学家与开发人员的 AI 开发进程。包括:英特尔深度学习 Studio、英特尔深度学习开发套件、英特尔 OpenVINO 工具包、英特尔 Movidius 软件开发套件(SDK)等。
- 在框架层面,英特尔立足硬件对最流行的各类开源框架进行优化,同时推动其加速发展。客户能够根据自身情况任意选择最符合需求的单一或多种框架。
- 在库层面,英特尔持续对各类库 / 基元(例如英特尔 MKL/MKL-DNN、clDNN、DAAL 以及英特尔 Python 发行版等)进行优化。另外还推出了 nGraph 编译器,旨在使各类框架能够在任意目标硬件之上实现最佳性能。
马子雅目前所在的 IAGS/SSP 部门,其主要职责就是为在英特尔平台上运行各类大数据分析与 AI 解决方案的客户提供最佳体验,让硬件性能更优。其中一项核心任务就是与整个生态系统合作,立足英特尔的硬件对大数据分析 /AI 堆栈进行优化,从而提供更出色的性能、安全性与可扩展性。
以业界广泛使用的大数据框架 Apache Spark 为例,英特尔一直是 Spark 开源社区的活跃贡献者。在围绕 Spark 的大数据分析技术,比如实时流式分析、高级图分析、机器学习等方面,英特尔高级首席工程师、大数据技术全球 CTO 戴金权所领导的团队始终处在业界领先地位。他们为很多大型互联网公司提供了大数据分析的技术支持。比如 2012 年,戴金权团队帮助优酷使用 Spark 做分布式的大数据分析,使得其图分析的效率提高了 13 倍以上。他们还帮助腾讯在 Spark 上构建大规模稀疏机器学习模型,将模型规模的量级提高了十倍以上,模型的训练速度提高了四倍以上。
为了让更多的大数据用户、数据工程师、数据科学家、数据分析师能够更好地在已有大数据平台上使用人工智能技术,2016 年底,英特尔开源了基于 Spark 的分布式深度学习框架 BigDL,此后不久又在 Spark、TensorFlow、Keras 和 BigDL 之上构建了大数据分析 +AI 平台 Analytics Zoo。通过这两个开源项目,英特尔正在推动先进的 AI 技术能更好地让广大用户使用。
开源框架和平台:BigDL 与 Analytics Zoo
初衷:填补大数据分析与 AI 结合的空白点
近年来,许多公司都开始尝试在他们的分析流程中添加 AI 功能,但真正应用到生产环境却进展缓慢。实际上,深度学习模型的训练和推理只是整个流程的一部分,要构建和应用深度学习模型,还需要数据导入、数据清洗、特征提取、对整个集群资源的管理和各个应用之间的资源共享等,这些工作事实上占据了机器学习或者深度学习这样一个工业级生产应用开发大部分的时间和资源。而这样一套基础设施部署之后,再推倒重来是不现实的。
Apache Spark 与 Apache Hadoop 等大数据平台如今已成为业内数据存储处理和分析的事实标准,英特尔的客户中有大量 Spark、Hadoop 用户,很多企业都已经在生产环境建立了一定规模的大数据集群。虽然市面上已经有主流的深度学习框架,但英特尔在这里看到了将大数据分析与人工智能结合起来的一个空白点,这也是两年前英特尔推出 BigDL 的初衷。
BigDL 是一套基于 Spark 分析流水线、以有机方式构建而成的分布式深度学习框架,可以直接在现有的 Hadoop 和 Spark 集群上运行,不需要对集群做任何修改。BigDL 能够实现主流深度学习框架 TensorFlow、Caffe 以及 Torch 等同样的功能,作为 Spark 标准组件也能够和 Spark 大数据生态系统里面的不同组件非常好地整合在一起。用户可以借助 BigDL 将 Spark/Hadoop 作为统一的分析平台,从数据摄取、清洁与预处理,到数据管理、机器学习、深度学习以及部署与可视化,一站式完成所有工作。
后续在与诸多客户合作部署 BigDL 的过程中,仍有一部分客户反映希望能继续使用自己更熟悉的其它深度学习框架,例如 TensorFlow,并希望使用 TensorFlow 进行训练。因此,英特尔又在 BigDL 开源半年后推出了 Analytics Zoo,以帮助客户省去在大数据管道上手工“拼接”众多独立组件(如 TensorFlow、Apache Spark、Apache HDFS 等)的繁琐操作。
Analytics Zoo 作为一个更高级别的数据分析 +AI 平台,能够帮助用户利用 Spark 的各种流水线、内置模型、特征操作等,构建基于大数据的深度学习端到端应用。某种意义上它是 Spark 和 BigDL 的扩充,可以将 Spark、TensorFlow、Keras 和 BigDL 无缝合并到一个集成管道中,方便地扩展到企业已有的大型 Apache Hadoop/Spark 集群,进行分布式训练或推理。
Analytics Zoo 最大的优势是能够在现有基于 Spark 与英特尔至强服务器的基础设施之上无缝运行各类主流深度学习框架和模型(包括 TensorFlow、Keras、caffe 以及 BigDL 等),客户可以选择使用适合自身需求的深度学习框架做模型训练,无需购买或者设置不同的硬件基础设施。
Analytics Zoo 还囊括有大量经过预训练的深度学习模型(例如图像分析模型、文本处理模型、文本匹配模型、异常检测模型以及用于序列预测的序列到序列模型等);其拥有高级 API,能够简化应用程序开发流程;它还能够以非常简单的方式建立端到端分析 /AI 流水线并实现生产化,整个流水线能够在 Spark/Hadoop 集群之上实现扩展,从而进行分布式训练与推理,降低训练用基础设施的独立成本,同时节约训练基础设施与分析基础设施之间的集成开发成本。
马子雅还提到,目前 Spark 在英特尔的服务器硬件上优化是最好的,这也是 BigDL 和 Analytics Zoo 最大的优势之一。
持续改进:降低开发门槛,提高训练与推理性能
自开源以来,BigDL 项目一直在持续改进,目前已经发布到 0.8.0 版本。
- 为了增强功能,研发团队为 BigDL 实现了 200 层神经网络。除了深度学习构建模块之外,还在其中添加了对深度学习模型的支持能力(比如可以将 TensorFlow、Keras、Caffe 模型加载到 Spark 与 BigDL 当中进行分布式推理)。BigDL 也增加了对 OpenCV(计算机视觉库)的支持,用于图像转换与扩充;支持 Spark 2.3 和 2.4;支持 DataFrames;支持 Spark-on-Kubernetes;以及支持 Python 3.6 等。
- 为了降低数据科学家的开发门槛,BigDL 加入了对 Scala 与 Python 的支持,同时通过 Jupyter Notebook 集成实现对数据分析结果的探索、共享与讨论,并集成 Tensorboard 以实现 BigDL 程序行为的可视化呈现。
- 为了提高训练与推理性能,BigDL 集成了 MKL-DNN 作为 CNN 模型的替代执行引擎。MKL-DNN 能够提供更强大的训练 / 推理性能,而且内存占用量也有所降低。在某些 CNN 模型中,MKL-DNN 使吞吐量提高了 2 倍。
Analytics Zoo 如今也已经演进到了 0.4.0 版本,为了优化 Analytics Zoo 在英特尔服务器上的性能表现,开发团队添加了 OpenVINO 支持能力,以加快深度学习模型的推理速度;并增加了对 OPtane DC 持久内存的支持,以改善训练性能。
接下来,Analytics Zoo 和 BigDL 还会在功能多样性和多平台性能上做更多的优化。英特尔正在着手为其添加更为强大的推理支持能力(如基于 Flink 与 Spark streaming 的流式推理等)、更多模型与特征(例如 Transformer、BERT 以及序列推荐等),外加更多针对不同硬件平台的优化方案(例如 VNNI 等等)。
此外,马子雅表示,Analytics Zoo 也会在将来集成并启用 AutoML(自动机器学习)功能,以进一步推动人工智能民主化,使更多的企业和个人从中受益。
落地:实际采用情况超出预期
如今的深度学习和 AI 领域,优秀的算法和框架数不胜数,但英特尔的 BigDL 和 Analytics Zoo 选择了一个颇具独特性的切入点,那就专为已有大数据集群的场景设计。如果企业已经构建了一定规模的大数据集群,要在这个集群之上做机器学习 / 深度学习模型的训练,BigDL 可能是唯一的解决方案。马子雅表示,也正因为如此,BigDL 和 Analytics Zoo 的应用和推广情况比最初预计的还要好,“比我们想象的快得多”。
推出以来,Analytics Zoo 已经被阿里巴巴、百度、腾讯、京东、亚马逊以及微软等 CSP 采用,得到了浪潮、戴尔以及以及宝信等 OEM 厂商和 ISV 企业的青睐。马子雅向我们透露,在过去六七个月的时间里,英特尔已经直接帮助约 35 家企业客户部署落地 Analytics Zoo(例如 Mastercard、Office Depot、CERN、世界银行、西班牙电信、美的、韵达等等),几乎是一个月 5~6 家的速度。这还没有将阿里、百度、亚马逊、戴尔、浪潮等合作伙伴平台上使用 Analytics Zoo 的用户算在其中。
目前,来自零售业、金融服务行业、医疗保健业、制造业及电信业等领域的企业客户都已经开始在英特尔至强服务器上实施 Analytics Zoo 与基于 BigDL 的分析 /AI 流水线。例如,英特尔协助美的基于 Analytics Zoo 构建了一套端到端的产品缺陷检测方案,准确率优于人工检查方法,并避免了检查工作给生产线带来侵入性影响。Analytics Zoo 将 Spark、TensorFlow 以及 BigDL 程序整合至同一流水线当中,整个流水线能够在 Spark 集群之上以透明方式实现扩展,从而进行分布式训练与推理。最终使美的的图像预处理时长缩短至原先的四分之一(由 200 毫秒降低至 50 毫秒),并将延迟影响降低至原本的十六分之一(由 2000 毫秒缩短至 124 毫秒)。
深度学习三大痛点,英特尔的解决之道
很多人认为深度学习的主要痛点是性能,只要有足够强大的性能,即可以解决深度学习存在的各种问题。但在马子雅看来,性能并非深度学习的主要痛点,用户的真正痛点主要有三个方面。
第一大痛点就是如何将数据与 ML/DL 算法结合在一起。长期以来,业界一直存在一个争论,即要想获得更强大的 ML/DL 解决方案,我们是否应该更重视数据或者算法层面的改进。考虑到大家已经拥有合理的算法,那么下一步的核心自然在于数据。ImagNet 是其中的典型例子,近年来图像分析的重大突破,正是由 ImageNet 这类大规模公开数据集推动的。英特尔推出 BigDL 和 Analytics Zoo,也是为了更好地解决数据与机器学习 / 深度学习算法整合的问题。
第二大痛点与 AI/ML 的生产落地有关。尽管当前市场对于 AI 技术抱有很大兴趣,但实施水平仍然相当低下。因此,需要考虑如何帮助客户真正有效地将路径查找或概念验证 AI 项目投入生产环境,从而根据需求构建起完整的 AI/ 分析流水线——包括高质量数据源整理、数据预处理与清洁、适当特征数据的选择与构建、适当模型的选择、模型超参数的优化、机器学习模型的后期处理、可视化以及部署等。这类解决方案要求数据工程师、数据科学家以及 IT 工程师共同参与并高效协作。
第三大痛点在于 AI 技能组合的供需之间存在巨大的鸿沟。由于这种差距的客观存在,任何一家企业或者个人都无法轻松地使用 AI 技术。在过去几年,有越来越多的学术课程与行业研讨活动正在试图缩小这种差距。但截至目前,我们可能还需要一段时间才能迎来真正能够立刻投入生产的技能成熟的员工队伍。
谈谈人工智能行业和未来趋势
AI 不再停留在实验室里
马子雅认为,目前越来越多的人工智能不再停留在实验室或研发阶段,在金融、在线零售、无人驾驶、医疗、供应链优化、智能家居、智能制造等多个领域的实际业务场景中,AI 都已经有典型的落地案例。现在,人工智能领域已经从最初的火爆慢慢过渡到冷静期,企业更关注的是人工智能是否能够为实际业务场景带来价值。这是一个非常好的趋势。
AI 技术正在扮演着非常重要的角色,并在推动业务差异化方面发挥关键作用。越来越多企业开始把人工智能解决方案实际投入到生产中,虽然很多企业目前还属于正在部署或者刚刚部署人工智能的状态,但对人工智能第一阶段落地的投入通常都已经具备一定规模,并且在提高资源使用效率、改善实际业务成果上初具成效。因此,对于未来人工智能实际的部署落地,马子雅持非常正面的态度。
中国企业在 AI 部署上胆子更大
英特尔在美国与中国都拥有众多客户与合作伙伴,马子雅与我们分享了中美企业在寻求 AI 解决方案上存在的一些差异。
在马子雅看来,在 AI 技术的研究与探索方面,近年来中国在快速发展。通过过去几年中国在论文发布数量与开源项目参与度方面的迅猛提升,就已经能够看到这一明显趋势。
另一方面,对于 AI 技术方案的部署,中国的生产与部署十分广泛。例如,在中国,我们能够想到的几乎所有行业都在尝试部署 AI 方案。中国的企业无论规模大小,都在积极尝试利用 AI 技术改善其业务成果。
而在美国,大多数企业客户更愿意在“非常成熟”时才部署 AI 解决方案,且相关产品最好是由 ISV、OEM 或者 CSP 负责提供并支持。另外,国内人工智能解决方案的规模,尤其是投入生产的规模,相对来说比美国的很多用户要更大一些。
重点关注三大 AI 新兴趋势
马子雅表示,未来英特尔将重点关注以下三大新兴趋势:
首先,AI 技术将继续在企业与云环境中快速增长。在云上,CSP 领域的 AI 创新速度非常快,ISV 则正在努力追赶。以最新趋势来看,HPC(高性能计算)与 AI 技术正在融合。未来五年之内,HPC AI 营收将由 23 亿美元增长至 47 亿美元。由于数据分析人员开始使用规模较大的数据集,相他们可能会通过分析提出越来越困难的问题,其中的工作负载将越来越多地表现为高性能计算问题。 另一方面,传统 HPC 研究人员也希望借助大数据与 AI 技术加快自己的研究。为了满足这一需求,英特尔正致力于在 HPC 之上实现 AI 与大数据分析功能,同时充分利用已有的 HPC 基础设施(包括高性能存储、结构与计算等)。
第二,分析与 AI 技术正在融入大数据平台。为了实现生产应用,AI 方案需要配备端到端分析流水线,其中 80% 的资源被用于数据摄取、清洁与预处理、管理以及可视化等等;只有 20% 专注于训练与推理。英特尔将利用自身在大数据与分析领域的领导地位,提供统一的生产级平台,将数据科学生态系统引入大数据平台。同时不断改进特定数据科学项目的单节点性能,例如 pandas、scikit-learn、DAAL 以及 Spark SQL 等,提高大数据平台上 Python 项目的横向扩展效率,并将关键计算密集型算法转交由加速器负责处理。
第三,未来新的用户场景更需要端到端解决方案的支持,且可能涉及从边缘 / 客户端到数据中心的整个体系。据 IDC 预测,未来 45% 的数据将在边缘进行管理和分析。边缘端的智能 / 推理方案将使实时决策成为可能,从而显著节约网络带宽与数据中心存储 / 计算带来的成本。
采访嘉宾介绍
马子雅, 现任英特尔公司架构图形与软件集团副总裁和数据分析技术总监,负责优化英特尔架构平台上的大数据解决方案,领导 Apache 社区的开源工作,并为英特尔客户带来最佳大数据分析体验。马子雅的团队与内部产品团队,开源社区,业界和学术界广泛合作,推动英特尔在大数据分析领域的 贡献。在 2018 年 全球 女性经济论坛上,马子雅被授予数据和分析领域近十年杰出女性(Women of the Decade in Data and Analytics)。她还是“大数据女性”论坛 (Women in Big Data forum) 的共同创始人。