高性能图计算:尖端科技下一个前沿阅读题「前沿交叉科学」
今天给大家普及一下高性能图计算:尖端科技下一个前沿阅读题「前沿交叉科学」相关知识,最近很多在问高性能图计算:尖端科技下一个前沿阅读题「前沿交叉科学」,希望能帮助到您。
图是认识世界的一种新方式。
图计算,正在成为下一个科技前沿。
这里的图是「graph」,而不是图片「image」,它自于数学中的图论(graph theory)。图计算是研究人类世界的事物和事物之间的关系,对其进行描述、刻画、分析和计算的一门技术。
Gartner 在《2021 年十大数据和分析技术趋势》报告中预测,到 2025 年图技术将应用于 80% 的数据和分析创新。图计算技术在金融、制造、能源等领域有着巨大的应用价值和前景,甚至在前沿的脑科学研究中,也能看到它的身影。
目前,图计算已经成为国内外科技巨头们竞争的「新风口」。中国工程院院士、清华大学计算机科学与技术系教授郑纬民强调:「现在布局高性能图计算恰逢其时,就相当于抓住了未来大数据、人工智能和高性能计算产业发展的牛鼻子,其影响不可估量。」
陈文光教授做客 Founder Park by 极客公园「Rebuild」栏目 | 来源:直播截图
5 月 30 日,在极客公园「Rebuild」视频直播中,清华大学计算机系教授、蚂蚁集团图计算技术负责人 陈文光,和我们聊了聊图计算。在他看来,图计算不仅仅只是一个技术,更是一种理解世界新的方式。
01 图是认识世界的一种新方式Founder Park: 图计算里面的「图」指的是什么?是我们日常生活中的图片吗?
陈文光:从英文上看,更容易分清楚一些。图片在英文中是「image」,图形叫「graphics」。图计算对应的英文是指「Graph Processing」,这里的图其实来自于数学中的图论(graph theory)。
在图论中,「图」是由节点和边组成的,你可以想象这个节点代表实体,然后边代表它们之间的关系。举个例子,比如说我们把微博用户关系抽象成一个图,账号抽象成图上的点,关注关系则是图上的边。这个边其实还是有方向的,我们叫有向图。有些图的边,是没有方向的,称之为无向图。
还有比如说路网,它用图怎么表示呢?把地点特别是交叉口作为节点,然后把路本身当做一条边。这时边还可以有属性,比如说距离和宽窄等。
一些图数据示例 | 来源:互联网
可以看到图数据可以很好地描述事物之间的联系,包括描述联系的方向和属性。而且特别要注意的是,这种图可能非常大。比如说社交网络账号之间构成的图,它可能是有几亿节点,几百亿边的巨大规模。
Founder Park: 你之前曾提到「图是认识世界的一种新的方式」,那么之前我们认识世界的方式是什么?图作为一种认识世界的方式,先进在哪里?
陈文光:在大学数据结构的课上,大家开始学的链表或者是线性表,基本上是个一维结构。然后又学到了树(tree),树的应用非常广。比如说广播树,我们今天的直播,一个视频流要给成千上万的人去发,并不是一个一个去发,而是先发一些点,再通过他们再发另外一些,这样一路发下去。树是非常有用的数据结构,但它有一个限制,就是它上面不能有环,如果有环的话就不能叫树,而图可以有环。
从数据结构的演进上看,图是对事物之间关系的一种原生的(native)表达,它用来表示关联的时候,它的描述能力要比链表、树这些数据结构要强得多。所以说当用图来认识世界,特别是用来认识关联的时候,它是一种更加直接和先进的方式。
传统的数据库叫关系数据库,但其实它的数据组织形式并不是关系原生的,而是以表的形式进行组织,就是一张一张的表,然后靠表上的键连起来的。所以其实关系数据库应该叫表数据库,而图数据库反而应该叫关系数据库。
Founder Park: 图计算是什么?它和图数据库的有什么关系?
陈文光:图计算可以从广义和狭义来区分它。
狭义的图计算说的是,在确定不变的图上面来做各种各样的计算。比如说路网图,它基本上比较稳定,路很久才修一条。我们可以在路网图上进行某种计算操作,比如说从水立方到故宫找一条路最短路径,这是图计算典型可以解决的问题。
而广义的图计算能干的事会更多一些,它是指基于图数据来做各种各样的处理。比如说这张图是在变化的。在路网图上,如果只把路的宽度作为边的属性,那它可能就是很长时间不变的,但如果我们以边上路的拥堵程度作为属性的话,那这个图是在变的。还比说流图计算,数据源源不断地以流的方式到来,该怎么处理。这些都是属于广义的图计算范畴。
广义的图计算,可以理解是包括了图数据库。
02 图计算的发展需要技术和需求双轮驱动Founder Park: 你之前在采访中提到,你遇到《编译原理》(Compilers)的合著者莫尼卡·拉姆 (Monica Lam),她对你有很大触动和启发,好奇这具体指的是什么?
陈文光:我是 03 年在清华大学开始工作的,一开始的学术方向是做编译器里的编译优化。我们在国际顶会 PLDI(Programming Language Design and Implementation)发表了一篇论文。论文能被录用,说明大家还是认可这项工作的,但是它最后的效果是什么?在当时 CPU 测试基准测试上获得的性能提升只有 1% 左右。
这个技术是有用的,但总体上影响没那么大。所以后来我就转了一个方向,去做程序分析。
之后我碰到了莫尼卡·拉姆,她当时讲了一句话对我影响很大的话:「好的软件不是靠程序分析、查错查出来的,而是由正确的人构建出来的」。也就是说,好软件要由对的人从头把它构建出来,而程序分析实际上是在做辅助性优化,并没有解决整个系统中最重要的问题,这项工作有用,但是并没有那么有用。
受到这个思想的影响,我走上了从头构建一个先进软件系统的道路,2010 年,我开始做图计算相关的学术研究共奏。
Founder Park: 之前在清华做图计算相关的科研,为什么会想要去创业?
陈文光:在图计算上,我们取得了一些积极成果。到了 16 年,我们研究了一个分布式内存的图计算系统,它比当时开源软件中常用的图计算框架 GraphX 大概要快 100 倍,内存的需求大概只是它的 1/10。这奠定了一个好的基础。
当时我就想图计算如何能更好地做下去。我发现至少到 2016 年为止我们自己开发的系统软件还是非常少的,所以我一直在想原因是什么?
我在清华培养的博士生大概也有十多位了,他们在写软件方面都非常优秀。我发现他们毕业之后,主要还是进入工业界了。但他们很多工作可能都是在现有的一个大的软件上去做一些增量式的改进。
所以我当时就想,我们已经有一个很好的软件基础,它领先于现有产品一到两个数量级。如果能够成立一家公司,把优秀毕业学生能聚拢在一起,持续地去完善软件,然后再把它进行推广使用。
这是在探索回答我一直以来的疑惑:我们把自己的系统软件做出来了,但怎么能用起来?所以当时就成立了费马科技。
Founder Park: 费马科技当时你们做的不错,为什么选择加入蚂蚁?
陈文光:图计算要想真正发现起来,第一步要解决:做出来;第二步:有人用;第三步:大规模使用。而当时困扰我的问题,怎么实现从有人用到大规模使用。
到 2020 年的时候,我们发现了自身的局限性。费马团队总体上技术上是很强,但是管理和市场销售,特别是后者我们相对比较弱的。
虽然也取得了一些成绩,有一些标杆的客户,比如像京东金融,国家电网、民生银行等。但整体商业化路径是不清晰的,没有办法很好地大规模推广。
我当时觉得,图计算要想实现更好地发展,还是需要技术加场景的双轮驱动。而我们当时在学校,还更多的是以技术驱动的角度往前推。
蚂蚁作为一家金融科技公司,有着全球领先的图计算的场景需求,而蚂蚁当时自身,在图计算上也有很好的研究基础。所以,我们决定加入蚂蚁。
03 图计算,方兴未艾Founder Park: 图计算现在处于一个什么样的发展阶段?
陈文光:如果我用一个词来简单地来形容的话,应该叫方兴未艾。
图数据库受欢迎程度远高于其他数据库技术,增长 11 倍 | 来源:互联网
图计算在各个行业,像金融、证券、公共卫生在这些领域都有一些典型的案例。大家可能都很关注它,比如在数据库流行度排行榜网站 DB-Engines 上,图数据库的关注度,在过去十年内是比其他的数据库都要高。另一方面,也出现了一些功能比较成熟的产品出现。
我认为图计算整体上,还处于比较早期的阶段,它的整个产品形态目前也没有 100% 的定下来。如果拿关系数据库来做对比的话,图计算从技术的深度和应用广度来看,都还有比较大的差距。
Founder Park: 图计算都有哪些具体的行业应用?
陈文光:我首先从金融风控的例子介绍一下。
比如说在企业担保的场景。要给一个企业贷款,那么这个企业说我找 A 企业担保,然后 A 企业他又找了 B 企业担保,然后 B 又找 C 担保过,最后发现他们形成了一个环。那么这个担保等于是无效的,因为你一层一层地下来,它回到了最初的这个出问题的公司。
这可以都把它抽象成在图上找环的问题。
找环这个问题,传统的方法不是不能做。比如说有些银行用 MapReduce 大数据处理的方法,但在企业担保场景里,它大概只能找到长度为 6 的环,更长的就找不到了。
那么像套现分析的这类场景,不仅是需要找环,而速度还要非常快。用户去刷一个信用卡,肯定不希望后台算上两个小时才说有风险。
在金融的场景中,「实时」是比较难的。蚂蚁在 2020 年的双 11,它的最高的交易数每秒 58 万笔,在如此高的吞吐率下去检测异常,进而保障交易能够按时完成,这个场景挑战是非常大的。在蚂蚁很多的风控场景中,我们希望在 20 毫秒内完成图计算环节。
图计算的应用不仅在金融上,在复杂电网的故障分析,电商产品的智能推荐,疫情期间的密接、次密接以及时空伴随者发现都有重要的应用。此外,大家日常生活中在蚂蚁森林偷能量,它也是用图数据库来管理的。
Founder Park: 目前图计算应用比较多的行业,有什么样的特点?
陈文光:首先行业的数字化要有一定基础,能够产生大量的数据。其次对复杂关系分析是有需求的,数据之间不是孤立的。比如说目前有一些物联网产生的数据,每个传感器按时间把一些数据上传,那这些可能就用时序数据库来处理就行。
总体来看,随着全行业的数字化水平的深入,对于复杂关联分析的需求进一步增加,图计算会有一个更好的发展。
Founder Park: 图计算融合到 AI,能够解决 AI 什么样的问题?图计算和 AI 的结合,目前发展怎么样了?
陈文光:AI 和图计算融合产生的图神经网络,是目前正在快速发展且重要的领域。
人和人之间或者各种实体之间的关系数据,它怎么和神经网络进行结合?图神经网络,利用了表示学习,通过图的结构先把每一个节点或者边都用向量来表示特征,然后再进一步地使用神经网络来处理。这就扩展了神经网络使用的范围,把实体之间的关系也引入到 AI 的处理中。
目前图神经网络已经有了很多的应用。我们把图神经网络系统应用在芝麻信用中,提高了信用评分的准确率,这产生了不错的效果。
Founder Park: 我知道你们在尝试用图计算来进行神经元仿真,这是想要去解决什么样的问题?为什么觉得图计算在解决脑科学领域相关问题,是有机会的呢?
陈文光:从科学发现的范式上来讲,第一范式是实验科学,第二范式是理论科学,第三范式其实是以仿真模拟为基础的方法。
大脑作为一个研究对象,受限于伦理和法律,想直接去研究是非常困难的,在实验方法和手段上都很缺乏。而仿真是理解大脑这种复杂系统运行的一个基本方法。
我们可以通过仿真,来去模拟大脑背后的机制,可能最后结果是错的,但如果是对的,就验证了一个猜想。从这个角度来说,它给研究脑科学和神经科学,提供了一种减少实验开销以及扩大研究范围的方法。
Founder Park: 目前你们进展怎么样了?
陈文光:这个方向其实国内外都非常的关注。欧洲有一个叫蓝脑计划 (Blue Brain Project),它用超级计算机来模拟人脑。但实际上我们的观察到最困难的点,是神经科学和计算机科学的交叉和融合。
所以我们目前在做一个事情,和实验神经科学家合作,以鼠脑的听觉为一个基础,去探究以下两个问题。第一个是要知道单个神经元应该模拟成什么样是合适的?粒度太太粗,会导致最后模拟的行为都是不对的,粒度太细又会使得模拟的规模受限。第二个是神经元之间是怎么连接的?这其实非常复杂,因为现在脑科学发现神经元的连接是不断地产生和消失的。
我们希望能够先找到这两个问题的合理解释,然后再来做大脑的模拟,目前整个项目还在推进中。
04 图计算的未来和产学研的思考Founder Park: 目前图计算往前发展,遇到的核心挑战是什么?
陈文光:我觉得最大的挑战是人才和市场发展能不能形成正反馈。把一个产品做好,它可以服务很多人,大家觉得它真的用,市场扩大,人才就会被吸引进来,把产品进一步做好,然后再去服务更大的市场。
一个正向的迭代是非常重要的。现在做图计算,既有大公司,也有一些中型创业公司。那么到底谁能够在这个领域里能够持续地去吸引人,扩大自己的市场服务的对象,我觉得这可能是进一步要去解决的最核心问题。
Founder Park: 图计算目前在全球的竞争情况是怎么样的?蚂蚁大概处于一个什么样的位置?
陈文光:图计算的竞争还是非常激烈的,大概有这样几种,一种是像 Oracle 、SAP 这样的传统数据库巨头,他们其实不太会专门做一个单独的图计算产品,而是会把图计算和他们的关系数据库产品合在一起,在关系数据库上来做扩展。
另一类是独立的产品公司。比如说,Neo4j 是成立最早的图计算和图数据库的公司,它的开源版本在全球影响力是非常大的。TigerGraph 也是一个目前相对来讲,商业化比较成熟的图数据库公司。此外,国内的创邻科技其实也做得不错。
蚂蚁是这样的,在服务内部业务上面我们做得还是不错的。整体上我们在图计算系统的完整度还有深度上面都还有一定的优势,但在产品的通用化上,就是如何服务外部的客户方面还有较大的提升空间。
Founder Park: 在你推动图计算的发展上,其实带有非常强的「产学研」结合的色彩。你会怎么看目前产学研遇到的一些问题?
陈文光:我只能说从我个人的一些经历和观察,稍微分享一点观点。
很多老师的学术研究,已经比十年前的水平要高很多了。我们能看到,不少的年轻老师可以在计算机国际顶级会议上发表论文,甚至还能连续发表多篇。
这初步解决了做出来的问题,后面我觉得要解决的是能够用起来的问题。解决这个问题有几条路线。一条路线是去做创业公司,但这是一个比较直接但异常艰难的路线。
另外一条就是知识产权的转让,把研究成果变成专利,然后交给企业去使用。这个方向如果我们看最近 10 年的数据会比之前更好,但是可能没有好到大家期待的水平。
这里面的主要原因我觉得是两个方面:一是我们大学的老师,很多时候不知道企业中真实遇到的问题核心是什么,当想要去做研究的时候,也没有相关的数据资源来做支持。从企业的角度来讲,他很希望老师帮他解决一个眼前的问题,而学术上更关心的根本性的问题,往往也不太容易提炼出来。即使想大学合作,到底去合作什么,定义这个问题本身也很难,想合规地提供数据也非常的难。
所以这就会造成一定程度上的学术研究和企业需求之间的脱节。
Founder Park: 在解决办法上有什么思考?
陈文光:目前能够看到像华为、阿里以及蚂蚁在内,越来越能够用更加开放的心态来与学术界开展合作。
我可以举些例子,前些天,蚂蚁开放了一些自己的专利,此外也主导一个图数据库的国际基准测试程序,我们国内的几家图数据库厂商,还有国外的像 intel 这几家核心的公司都参与了。
这个工作的核心是给出一个测试标准,它是把内部的业务和数据的特点抽象成数据模型和典型查询。数据生成器生成的图数据在统计上和内部一些真实的数据是等价的,但它避免了数据隐私的问题。
这个事情预期在推动产学研上会有比较好的效果。企业界提炼自己的需求,把它变成一个可度量的问题,然后鼓励学术界在这种反映了企业界真实情况的数据和场景下面来开展研究。
Founder Park: 在推动科研的高水平创新上,你有什么思考?
陈文光:最近可以看到学校在征集从 0 到 1 的原创问题。我觉得这个其实是咱们国家科技发展里面非常重要的一步。我们不是每个人都要去提一个问题然后自己解决,才叫成果,其实提出好的问题,是非常重要的。
如果问题和目标的定义都是别人,我们只是在后面去做优化,其实很难实现真正的高水平创新。
我觉得我们到了需要去更好地定义问题的时候了。