作者 | 鲁冬雪
从大数据发展的历史长河来看,谷歌的“三驾马车”—— 《GFS》、《MapReduce》和《BigTable》,加上亚马逊的一篇关于 Dynamo 系统的论文奠定了大数据时代发展的基础。从“大数据之父”道格·卡丁创造了 Hadoop 到现在许多厂商开始单独造轮子、做开源,大数据的发展首先是获得了大规模数据的处理能力,然后再解决了数据的分析与挖掘问题,到如今又开始解决“如何实时查询数据”的问题,从近 20 年的发展中基本可以看出,这些演进的背后都是由企业需求和业务发展驱动的。
英特尔院士、大数据技术全球 CTO 戴金权曾提出,未来大数据的发展主要有三大方向:大数据平台云原生化;湖仓一体;大数据与人工智能重塑数据价值,本文将对三大方向逐一展开解读。
众所周知,大数据系统是一个复杂性很高的系统,传统的大数据系统运维成本很高,比如处理资源分配、进行容错等这些工作其实并不能对终端业务产生直接价值。然而,如今的大多企业都面临着日益增长的数据量、各种类型数据的实时化和智能化处理的需求,企业亟需降低运维成本,并希望能够通过对数据的挖掘产生支撑业务侧的洞见与预测!
于是,云原生大数据平台因为其高弹性扩展、多租户资源管理、海量存储、异构数据类型处理及低成本计算分析的特点,受到了企业的欢迎,这也是大数据系统的必然发展趋势,将大数据运行在云上,以云服务的形式提供给用户,能大大提高企业服务化能力,用户可以直接在云上进行价值挖掘。而且,当厂商通过云服务提供大数据技术后,很多新能力也变得很透明,企业无需经过摸索和集成,就可以将自己的服务无缝提供给用户。
但另外一方面,云原生大数据也有非常多的技术挑战。许多大数据系统最初并不是为云原生架构而设计的,比如开发者在做数据的 Shuffle 时,思考的是如何利用本地 IO 能力来提高效率。
企业为了能够让业务更好地运行在云的体系架构之上,当前一般采用的都是架构层的解决方案,融合了高性能计算(HPC)强大算力和云服务安全性、易用性的云原生超级计算似乎是当前最佳的有效方案。但事实上,软件层的升级多少还是会受硬件层的影响。所以,不如换个方向,思考一下如何利用硬件能力来提高数据处理效率。
厂商在硬件层提升性能的方式往往是,通过使用服务器来响应对高性能计算 (HPC) 集群的需求,通过对 CPU 升级来处理更大规模的高性能计算 (HPC) 应用。像英特尔® 至强® 可扩展处理器提供业界领先、经工作负载优化的性能,具有内置人工智能加速功能,可提供无缝性能基础,就是许多企业的选择。
应对业务侧日益增长的需求和不断演变的数据服务模式,企业可利用英特尔® 至强® 可扩展处理器上集成的英特尔® 高级矢量扩展 512(英特尔® AVX-512)来继续进行工作负载优化创新。英特尔® 高级矢量扩展 512(英特尔® AVX-512)是一组指令集,可以加速工作负载和用例的性能,如科学模拟、金融分析、人工智能 (AI) / 深度学习、3D 建模和分析、图像和音频 / 视频处理、密码学和数据压缩等。英特尔® AVX-512 可以处理苛刻的计算任务,借助两个 512 位融合乘加 (FMA) 单元,应用程序在 512 位矢量内的每个时钟周期每秒可打包 32 次双精度和 64 次单精度浮点运算,以及八个 64 位和十六个 32 位整数,大大地提高了数据处理效率。
随着人工智能等技术的兴起,数据规模越来越大,存储的数据类型也越来越丰富,与文字相比,体积更大空间的图片、声音和视频存储需求爆发。面对这些海量数据治理需求,数据仓库、数据湖架构被企业广泛应用。
当前许多人认为,面向领域主题的、集成的、稳定的、能够反映历史数据变化的数据仓库,已经满足不了 人工智能、机器学习技术的数据需求,开始逐渐走下坡路,数据治理架构正在逐渐从数据仓库跨越到数据湖。他们认为,数据湖是多结构数据的系统或存储库,以原始格式和模式存储,通常作为对象“blob”或文件存储,可以更好地解决企业数据需求,甚至有人认为数据湖就是下一代数据仓库。
事实上,大多数企业目前至少有一个或者多个数据仓库服务于各种下游应用程序,而且把所有的原始数据都放到数据湖,可能会提升数据的使用难度,对于企业数据治理来说也不是一个小的挑战;此外,从实时性方面,数据湖也做不到真正的实时。
然而,企业数据的使用场景如今已然发生巨大变化,需求从离线场景转变到实时数据分析场景。数据规模发展到一定程度后,离线数据的缺点就会愈发凸显,企业对于实时数据治理有了更高的要求,希望从业务端获取到数据后,能够立即被清洗处理,从而满足基于数据的挖掘、预测和分析。
所以“湖仓一体”作为一种新兴架构,结合了数据仓库与数据湖的优点,在类似数据湖的低成本存储上,实现了与数据仓库中类似的数据结构和数据管理功能,在扩展性、事务性以及灵活度上都体现出了独有的优势,是解决目前企业数据治理需求的更优解。
火山引擎与英特尔在云原生大数据领域深入合作,从用户云业务需求出发提升数据价值。从湖仓一体方面,英特尔技术团队和火山引擎技术团队联合对 ClickHouse 软件进行优化,通过对硬件指令等其他的优化,使 ClickHouse 核心代码的性能有了 1.5 倍以上的提升,ClickHouse(Repartition-Block shuffle)性能加速 4.2 倍。
总体而言,湖仓一体是一种更开放的新型架构,有人做了一个比喻,“这种操作方式类似于在湖边搭建了很多小房子,有的负责数据分析,有的运转机器学习,有的来检索音视频等,至于那些数据源流,都可以从数据湖里轻松获取。”
Gartner 也发布了湖仓一体的未来应用场景预测,“湖仓一体架构需要支持三类实时场景,第一类是实时持续智能;第二类是实时按需智能;第三类是离线按需智能。这三类场景将可以通过快照视图、实时视图以及实时批视图提供给数据消费者,这同样是未来湖仓一体架构需要持续演进的方向。”
如今各行各业都在探索怎样让 AI 在实际应用中提高工作效率或者体验,但有数据表明,85% 以上的人工智能项目都是以失败而告终的,并没有真正地得到交付。归其原因是,实验室中正在跑的人工智能模型、算法和真正落地到生产环境或业务场景中的东西要求是不一样的。这意味着,企业想真正地将算法、AI 模型运用到生产系统中,需要经过非常复杂的 AB 测试,但将 AI 模型算法和真实的业务数据流水线相结合是一个非常大的挑战。
回想一下,在构建一些 AI 架构时,大家通常的做法是利用一个大数据处理平台,然后对数据进行处理,处理完后再将数据拷贝到另外一个 AI 集群或是深度学习的集群中进行训练。显而易见,数据拷贝的过程会产生一定的时间成本和移植成本,解决了这个问题,可以大大提高企业研发效率,快速实现降本增效。
将大数据分析与 AI 平台融为一体的模式成为了企业解决以上问题的方案,其也正在成为一种行业的新趋势。构建一个端到端的大数据 AI 的流水线,将大数据 +AI 的流程从数据的获得、读取、数据的处理到特征的处理、建模、训练、部署、推理等流水线都统一起来,是实现 AI 真正落地的关键点。
为了支撑大数据的处理,英特尔在“AI+ 大数据”方面做的第一件事情就是构建统一的大数据 AI 平台、集群——英特尔 BigDL ,其是用于 Spark 的分布式深度学习库,可以直接在现有 Spark 或 Apache Hadoop 集群之上运行,并可以将深度学习应用程序编写为 Scala 或 Python 程序。
作为底层计算平台,英特尔 BigDL 针对分布式的英特尔® 至强® 处理器 CPU 集群进行了大数据 AI 平台的构建,包括在硬件上的众多优化,包括 CPU 本身对 AI 的支持。虽然英特尔® 至强® 处理器是一个通用处理器,但它提供了非常多的硬件指令及针对 AI 优化和加速的硬件支持,包括在低精度 INT8 上的 AVX512_VNNI , 以提升 DL 性能。其主要具有以下特点:
万事达卡在企业的数据仓库建构在分布式大数据平台之上,便是直接用英特尔 BigDL 来构建 AI 应用,将大数据的数据处理与人工智能的处理直接统一起来,帮助平台支撑超过 20 亿的用户。平台上的几千亿的交易数据训练了非常多的 AI 模型,其中最大的模型在一个任务运行在 500 台以上的英特尔服务器上进行大规模分布式训练,差不多在 5 小时之内训练出一个大规模的 AI 模型,提高各种 AI 能力,实现了超大规模用户量的支撑。
经过近 20 年的发展,大数据的技术栈逐渐成熟,“大数据”如今几乎已经是程序员技术栈的标配,基本上大多数应用环境都会牵扯到数据治理、数据处理。
近年来,云计算、人工智能等技术的发展,还有底层芯片和内存端的变化以及视频等应用的普及,都给大数据技术带来了新的要求。不管是应用基于数据还是要用数据改善应用,怎样能够把整个技术平台和软件平台做得更加易用,这对于厂商来说是亟待解决的难题。此外,人工智能、大数据技术的应用场景都非常广泛,但在具体应用开发的技术实现上还有很多缺陷,如何实现技术突破和技术创新,这是所有人都面临的难点。
我们可以预测到的是,未来的大数据技术会沿着异构计算、云化,AI 融合、内存计算等方向持续更迭,目前我们看到的这些难点应该都会被逐一解决,但当我们在进行算法、架构优化时,也要记得硬件是实现所有技术演进升级的基本盘。当在软件层找不到解决方案的时候,也可以尝试把目光放到硬件层。