中国信息化百人会学术委员、中国工程院院士李国杰认为,目前大数据技术还不成熟,面对海量、异构、动态变化的数据,传统的数据处理和分析技术难以应对,现有的数据处理系统实现大数据应用的效率较低,成本和能耗较大,而且难以扩展,这些挑战大多来自数据本身的复杂性、计算的复杂性和信息系统的复杂性。李国杰认为,发展大数据不要一味追求“数据规模大”,不要“技术驱动”,要“应用为先”,不能抛弃“小数据”方法,同时要高度关注构建大数据平台的成本。
以下内容节选自李国杰院士《对大数据的再认识》一文:
一、从复杂性的角度看大数据研究和应用面临的挑战
大数据技术和人类探索复杂性的努力有密切关系。20世纪70年代,新三论(耗散结构论、协同论、突变论)的兴起对几百年来贯穿科学技术研究的还原论发起了挑战。1984年盖尔曼等3位诺贝尔奖得主成立以研究复杂性为主的圣菲研究所,提出超越还原论的口号,在科技界掀起了一场复杂性科学运动。虽然雷声很大,但30年来并未取得预期的效果,其原因之一可能是当时还没有出现解决复杂性的技术。
集成电路、计算机与通信技术的发展大大增强了人类研究和处理复杂问题的能力。大数据技术将复杂性科学的新思想发扬光大,可能使复杂性科学得以落地。复杂性科学是大数据技术的科学基础,大数据方法可以看作复杂性科学的技术实现。大数据方法为还原论与整体论的辩证统一提供了技术实现途径。大数据研究要从复杂性研究中吸取营养,从事数据科学研究的学者不但要了解20世纪的“新三论”,可能还要学习与超循环、混沌、分形和元胞自动机等理论有关的知识,扩大自己的视野,加深对大数据机理的理解。
大数据技术还不成熟,面对海量、异构、动态变化的数据,传统的数据处理和分析技术难以应对,现有的数据处理系统实现大数据应用的效率较低,成本和能耗较大,而且难以扩展。这些挑战大多来自数据本身的复杂性、计算的复杂性和信息系统的复杂性。
1、数据复杂性引起的挑战
图文检索、主题发现、语义分析、情感分析等数据分析工作十分困难,其原因是大数据涉及复杂的类型、复杂的结构和复杂的模式,数据本身具有很高的复杂性。目前,人们对大数据背后的物理意义缺乏理解,对数据之间的关联规律认识不足,对大数据的复杂性和计算复杂性的内在联系也缺乏深刻理解,领域知识的缺乏制约了人们对大数据模型的发现和高效计算方法的设计。形式化或定量化地描述大数据复杂性的本质特征及度量指标,需要深入研究数据复杂性的内在机理。人脑的复杂性主要体现在千万亿级的树突和轴突的链接,大数据的复杂性主要也体现在数据之间的相互关联。理解数据之间关联的奥秘可能是揭示微观到宏观“涌现”规律的突破口。大数据复杂性规律的研究有助于理解大数据复杂模式的本质特征和生成机理,从而简化大数据的表征,获取更好的知识抽象。为此,需要建立多模态关联关系下的数据分布理论和模型,理清数据复杂度和计算复杂度之间的内在联系,奠定大数据计算的理论基础。
2、计算复杂性引起的挑战
大数据计算不能像处理小样本数据集那样做全局数据的统计分析和迭代计算,在分析大数据时,需要重新审视和研究它的可计算性、计算复杂性和求解算法。大数据样本量巨大,内在关联密切而复杂,价值密度分布极不均衡,这些特征对建立大数据计算范式提出了挑战。对于PB级的数据,即使只有线性复杂性的计算也难以实现,而且,由于数据分布的稀疏性,可能做了许多无效计算。
传统的计算复杂度是指某个问题求解时需要的时间空间与问题规模的函数关系,所谓具有多项式复杂性的算法是指当问题的规模增大时,计算时间和空间的增长速度在可容忍的范围内。传统科学计算关注的重点是,针对给定规模的问题,如何“算得快”。而在大数据应用中,尤其是流式计算中,往往对数据处理和分析的时间、空间有明确限制,比如网络服务如果回应时间超过几秒甚至几毫秒,就会丢失许多用户。大数据应用本质上是在给定的时间、空间限制下,如何“算得多”。从“算得快”到“算得多”,考虑计算复杂性的思维逻辑有很大的转变。所谓“算得多”并不是计算的数据量越大越好,需要探索从足够多的数据,到刚刚好的数据,再到有价值的数据的按需约简方法。
基于大数据求解困难问题的一条思路是放弃通用解,针对特殊的限制条件求具体问题的解。人类的认知问题一般都是NP难问题,但只要数据充分多,在限制条件下可以找到十分满意的解,近几年自动驾驶汽车取得重大进展就是很好的案例。为了降低计算量,需要研究基于自举和采样的局部计算和近似方法,提出不依赖于全量数据的新型算法理论,研究适应大数据的非确定性算法等理论。
3、系统复杂性引起的挑战
大数据对计算机系统的运行效率和能耗提出了苛刻要求,大数据处理系统的效能评价与优化问题具有挑战性,不但要求理清大数据的计算复杂性与系统效率、能耗间的关系,还要综合度量系统的吞吐率、并行处理能力、作业计算精度、作业单位能耗等多种效能因素。针对大数据的价值稀疏性和访问弱局部性的特点,需要研究大数据的分布式存储和处理架构。
大数据应用涉及几乎所有的领域,大数据的优势是能在长尾应用中发现稀疏而珍贵的价值,但一种优化的计算机系统结构很难适应各种不同的需求,碎片化的应用大大增加了信息系统的复杂性,像昆虫种类一样多(500多万种)的大数据和物联网应用如何形成手机一样的巨大市场,这就是所谓“昆虫纲悖论”。为了化解计算机系统的复杂性,需要研究异构计算系统和可塑计算技术。
大数据应用中,计算机系统的负载发生了本质性变化,计算机系统结构需要革命性的重构。信息系统需要从数据围着处理器转改变为处理能力围着数据转,关注的重点不是数据加工,而是数据的搬运;系统结构设计的出发点要从重视单任务的完成时间转变到提高系统吞吐率和并行处理能力,并发执行的规模要提高到10亿级以上。构建以数据为中心的计算系统的基本思路是从根本上消除不必要的数据流动,必要的数据搬运也应由“大象搬木头”转变为“蚂蚁搬大米”。
二、发展大数据应避免的误区
1、不要一味追求“数据规模大”
大数据主要难点不是数据量大,而是数据类型多样、要求及时回应和原始数据真假难辨。现有数据库软件解决不了非结构化数据,要重视数据融合、数据格式的标准化和数据的互操作。采集的数据往往质量不高是大数据的特点之一,但尽可能提高原始数据的质量仍然值得重视。脑科学研究的最大问题就是采集的数据可信度差,基于可信度很差的数据难以分析出有价值的结果。
一味追求数据规模大不仅会造成浪费,而且效果未必很好。多个来源的小数据的集成融合可能挖掘出单一来源大数据得不到的大价值。应多在数据的融合技术上下功夫,重视数据的开放与共享。所谓数据规模大与应用领域有密切关系,有些领域几个PB的数据未必算大,有些领域可能几十TB已经是很大的规模。
发展大数据不能无止境地追求“更大、更多、更快”,要走低成本、低能耗、惠及大众、公正法治的良性发展道路,要像现在治理环境污染一样,及早关注大数据可能带来的“污染”和侵犯隐私等各种弊端。
2、不要“技术驱动”,要“应用为先”
新的信息技术层出不穷,信息领域不断冒出新概念、新名词,估计继“大数据”以后,“认知计算”、“可穿戴设备”、“机器人”等新技术又会进入炒作高峰。我们习惯于跟随国外的热潮,往往不自觉地跟着技术潮流走,最容易走上“技术驱动”的道路。实际上发展信息技术的目的是为人服务,检验一切技术的唯一标准是应用。我国发展大数据产业一定要坚持“应用为先”的发展战略,坚持应用牵引的技术路线。技术有限,应用无限。各地发展云计算和大数据,一定要通过政策和各种措施调动应用部门和创新企业的积极性,通过跨界的组合创新开拓新的应用,从应用中找出路。
3、不能抛弃“小数据”方法
流行的“大数据”定义是:无法通过目前主流软件工具在合理时间内采集、存储、处理的数据集。这是用不能胜任的技术定义问题,可能导致认识的误区。按照这种定义,人们可能只会重视目前解决不了的问题,如同走路的人想踩着自己身前的影子。其实,目前各行各业碰到的数据处理多数还是“小数据”问题。我们应重视实际碰到的问题,不管是大数据还是小数据。
统计学家们花了200多年,总结出认知数据过程中的种种陷阱,这些陷阱不会随着数据量的增大而自动填平。大数据中有大量的小数据问题,大数据采集同样会犯小数据采集一样的统计偏差。Google公司的流感预测这两年失灵,就是由于搜索推荐等人为的干预造成统计误差。
大数据界流行一种看法:大数据不需要分析因果关系、不需要采样、不需要精确数据。这种观念不能绝对化,实际工作中要逻辑演绎和归纳相结合、白盒与黑盒研究相结合、大数据方法与小数据方法相结合。
4、要高度关注构建大数据平台的成本
目前全国各地都在建设大数据中心,吕梁山下都建立了容量达2 PB以上的数据处理中心,许多城市公安部门要求存储3个月以上的高清监控录像。这些系统的成本都非常高。数据挖掘的价值是用成本换来的,不能不计成本,盲目建设大数据系统。什么数据需要保存,要保存多少时间,应当根据可能的价值和所需的成本来决定。大数据系统技术还在研究之中,美国的E级超级计算机系统要求能耗降低1000倍,计划到2024年才能研制出来,用现在的技术构建的巨型系统能耗极高。
我们不要攀比大数据系统的规模,而是要比实际应用效果,比完成同样的事消耗更少的资源和能量。先抓老百姓最需要的大数据应用,因地制宜发展大数据。发展大数据与实现信息化的策略一样:目标要远大、起步要精准、发展要快速。