数据智能

效率提升百倍以上,费马科技用图计算破解大数据关联分析难题

系统能力远超Spark与Hadoop

2018年08月09日
调研 | 刘馥亮 撰写 | 唐靖茹
  • 数据智能
  • 大数据
  • 供应链金融
 
信息技术革新,数据爆发式增长,使大数据时代的主题从数据获取逐渐转向数据挖掘。

由于图结构数据可以很好地表现数据之间的关联性,许多大数据,如社交网络、产业供应链等,均以大规模图或网络形式呈现。

“图计算”以“图论”为基础,是一种针对“图”结构数据的计算模式。运用图计算,不仅能完整描述事物之间的关系,还能通过技术手段对非显性关系进行推导,并抽象出各类关系模型。

洪春涛从清华大学计算机系博士毕业后进入微软亚洲研究院,一直从事分布式计算相关工作,2016年时看准了图计算领域的机会,联合多位清华博士创立了费马科技,主攻高性能分布式图计算,提供图计算平台、图数据库以及图计算解决方案,对于处理计算量大、精度要求高的任务尤其擅长,其中一个重要落地场景即为金融行业风控。

借贷风险评估是金融风控领域的常见需求。利用广度优先搜索算法,可以支撑更大的计算量,将更多维的人际网络纳入反欺诈模型,挖掘关联风险。

通过不断迭代新增数据并优化模型,贷前风控将变得更加高效准确,并且可以通过实时数据进行贷后监控。出现逾期失联时,基于图网络关系,利用最短路径算法,还可以分析出逾期用户的地址信息等,实现失联修复。费马科技目前已服务民生银行、京东金融,利用算法大大提升其计算效率,节约软硬件成本。

图计算作为通用技术应用广泛,除金融领域外还有更多空间值得挖掘。例如,优化搜索排序主要运用PageRank算法,能够实现万亿级别全网页排序,并且可以更加精确。目前费马科技已服务搜狗的网页搜索功能,系统性能显著高于原有Hadoop系统。洪春涛表示,费马科技将继续拓展图计算在更多行业的应用。

近期,爱分析专访费马科技创始人兼CEO洪春涛,就图计算领域技术应用及公司业务发展情况进行了交流,部分精彩内容与读者分享。

图计算使大规模、高精度计算成为可能

爱分析:PageRank的应用原理是怎样的?

洪春涛:PageRank是很标准的做法。网页的排序就是对比两个网页哪个更重要一些,或者我去查一个关键字,出来两个网页都有这个关键字,那么应该把谁排在前面。

这首先是跟网页属性有关,比如说这个网页是从BBC网站拉过来的,那个网页可能是从清华大学某个个人网页上拉过来的,一般来说会把BBC的排到前面去。对于所有的网页,怎么给出这么一个排序,常用的都是PageRank算法,或者变种。

这就是基于网页之间的图,网页本身是个节点,网页上面有很多链接,所有链接就通过一条边指向另外一个网页。这样就构成了一张很大的网,通过分析这张网,如果某个网页被很多人指向,这个网页十有八九就应该排得更高一些。

爱分析:费马科技是帮助搜狗搜索引擎进行排序优化吗?

洪春涛:我们就是从系统上去帮搜狗做这件事情。

因为网页是很多的,所有的中文网页大概是万亿级别。万亿级别的网页里去做PageRank是很难做的。搜狗原来是用Hadoop去做,他发现Hadoop做不动万亿级别的网页,根本就做不了,所以他就不做网页级别,缩一级,就做到目录级别,或者再缩一级做到网站级别。现在大概是缩到原始数据的1%左右,这么个规模,就能用Hadoop了。

所以他原来是对这个问题做了一个近似,我们给他做的是真正可以实现全网页排序,因为系统上我可以做得比Hadoop好很多,万亿级别的网页我可以直接算,相当于算法上会更精确一些。

爱分析:如何理解离线计算?

洪春涛:如果要做一个比较复杂的计算,很难实现实时数据进来,就做一个很复杂的计算,因为这个计算过程本身会很长。比如每秒钟进来一百个新的数据,开始重新计算,假设这个计算时间要一百秒,然后很快又进来一个新的数据,前面一个还没算完。所以这种复杂的分析往往不能实时地去做。

爱分析:核心是因为计算量太大吗?

洪春涛:主要取决于业务,看业务需要多复杂的计算。

有些业务可以做很简单的计算,比如说把数据存在图数据库里面,比如要查这个人的所有邻居,这属于很简单的查询,那么可以放到图数据库里面实时做。

但是如果要对所有人做一个很复杂的算法,这个算法需要涉及到他,以及他所有的邻居,以及所有邻居的邻居,做这么一个计算的话,那就很复杂。无法实时把所有人都重新算一遍的,所以就需要做离线。

那么像这种计算,一般来说是用一个历史数据,比如前一天的数据。到晚上的时候可能到了低峰,这时候把前一天的数据重新整理一下,算一下,新的结果出来,推到前台的数据库里。

举个例子,比如要算一个人的风险值,这个经常在风控里面会用。也就是贷款给这个人,或者说授权给他某一个权利的时候,要看这个风险有多大,那么会需要去看他的各种资料,包括年龄、收入各方面。同时有可能需要看他的关系,比如说他有多少联系人,他用过多少个手机,他的联系人信用怎么样,他用的手机被多少人用过,这些都会对他有影响。

像这种,有一种办法是可以实时去算,如果算得比较简单,比如就想查一下他有多少个手机号,这其实可以算。另外一种指标,比如说他五度以内认识的所有人里有多少是在黑名单里,这可能会非常复杂,有可能实时就算不出来。

如果算不出来,一个简单的方法是前一天先把所有人都算好了,把那数据存在那儿,等到第二天的时候有人来申请贷款,这时候就查一下数据库,看他前一天有没有算到,如果已经算到了,就可以直接把这个值拿出去了。

爱分析:建立数据库是为了查询快捷吗?

洪春涛:有时候不需要做那么复杂的查询,就可以放到数据库里边实时地查。

比如要查账号被盗,首先要判断他是不是真的被盗了,然后就通过他的行为,比如他最后一次买东西是通过哪个手机买的,或者送到哪个地址,这些信息去查。这些其实只需要用比较简单的查询就能查出来。

稍微复杂一点点,比如怀疑这几个人有某种串联行为,就看他们是不是用同一个手机或者用户地址,相当于找这几个人的公共关系,他们之间是怎么连起来的。这不会涉及整张图,只会涉及这几个人之间的关系。

这种查询就属于比较小的查询,希望能够快速得到一个结果,而不是第一天提交一个,第二天才来看结果,是希望立刻就看到,所以就需要有这么一个系统,就做这么一个图。这个图数据库是这个作用,实时地有新的交易记录进来,就把它装进去,要查的时候,实时地就从数据库里面把这个数据拿出来。

增加模型输入,服务贷前信用评估

爱分析:是因为贷前反欺诈要算的图更复杂,所以无法用数据库实时计算吗?

洪春涛::实际上,反欺诈这一块很多人是直接用数据库做。

如果它模型比较简单,比如就想找一个人的一度邻居涉及到的所有关联,这个用很简单的查询就做了,所以现在大部分的小贷都在用类似的方法做。

爱分析:从贷前风控的流程来说,费马服务的主要是哪些环节?

洪春涛:基本上是靠后的。

就是基本确定这个人是真人,以及多大程度上是一个骗贷的人之后,会有一个机器学习的算法,一个模型,把这个人的各种信息输进去,然后出来一个分数,比如这个分数高于90%就可以贷给他。

原来他们有一个基于自己的数据训练出来的模型,原来基本上就看这个人有没有绑身份证,他的电话、地址这些个人信息,我们做的就是对这个模型增加几维的输入。

比如他二度以内的邻居有几个黑的,三度以内有几个。比如他有多少个电话,这些电话里面有几个可能是涉黑的,类似这种给它加进去。相当于对这个模型增加了一些输入,这样他就可以更准确地去做判断。

爱分析:原来的风控不会涉及手机通讯录黑名单的判别吗?

洪春涛:会有,他们可以做一度,有的可以做到两度,但是很难做更全局的计算。

我们是做全局计算,是一种迭代算法,相当于把整个图的信息都通过迭代融合到每个人身上,和做网页排序是类似的思路。就是每个人已经有一个分数,这个分数包括它周围所有的环节。

爱分析:费马的技术在计算效率上有怎样的提升?

洪春涛:京东金融原来用基于Spark的GraphX,有一些就算不动,算不动自然就不会去试更复杂的东西。因为那会慢很多,至少是慢一百倍以上。

他们有一个算法试用了大概一百多台机器,用GraphX算六个小时;我们进去以后,相当于用了五台机器,只算一个小时。

风控场景应用多样,各类行业更待拓展

爱分析:风控方面除了反欺诈还有其他应用吗?

洪春涛:还蛮多的,风控是很大的一块,与京东金融合作的另一个应用是失联修复。

比如我借了京东的白条,我原来留了个我的电话,可能我换手机了,或者我故意换了一个手机,那么京东就找不到我了。这时候京东怎么通过自己的数据来找到我?

失联修复有很多种不同的做法,基于网络的做法,我们用的是京东商城自己的购物数据。比如说我经常买东西送到公司来,然后我的同事可能偶尔也买东西送到这个地址,这就通过这个地址产生了一个关联,他就可以通过这种联系来找到我。

爱分析:贷前风控和失联修复全部都是基于京东自己的数据吗?

洪春涛:是的。

爱分析:是否有必要增加一些外部数据?

洪春涛:我们现在没有这个打算。首先数据的合规很敏感,自己爬的话能爬到的信息其实很有限,只能爬到一些公开的东西,但是真正有用的那些是不公开的。比如这个联系人有几个收货地址,他用过哪几个手机,这些东西都非常有用,但是爬这种信息是非法的。

爱分析:给京东金融部署一套系统需要多长时间?

洪春涛:京东金融那边蛮快。

初期包括算法设计是我们一块做,所以会慢一些。后来慢慢地他们习惯自己去设计,或者自己去找图算法来改进他们的业务。这时候他们就只需要提某个具体算法需求,之后就快了,我们基本上花一两天时间把这个算法写出来给他们就好了,前后都不用参与。

爱分析:服务银行和京东金融的需求会有差异吗?

洪春涛:还是不太一样。

从业务流程上来说,服务银行的项目是贷后的预警系统,就是判断这个人会不会逾期。如果会逾期的话,就可以做一些决策,可能找人先去催一下。京东这边实际上有多个场景,包括贷前的授信,包括贷后的失联修复。

从业务的具体切入方式上,也不太一样。京东那边的技术人员更多一些,他们的介入会多一些,我们只需要提供一些比较核心的技术就可以。银行一般都倾向于让你给他提供一个比较全的系统,就是它插进去就能用。所以前端、后端都得我们自己做。

爱分析:贷后预警环节,如何通过图判断违约可能性?

洪春涛:图上面有很多交易,有工商关系等,本身也有一张黑名单。比如某个人跟信用不良的人打交道很多,或者突然给了他一大笔钱,那么这个人就很有风险了。

爱分析:今明两年内,费马科技是否会专注于服务金融行业?

洪春涛:金融行业是比较大的一块,别的方面我们也会拓展。

金融是我们能看到的,很典型的应用场景,但是事实上,图数据的应用本身是非常general的,其实有很多数据都可以抽象成图。比如很典型的,电网,或者以后的物联网,其实也是一个网络,要在上面做一些关联分析都需要图计算。

有一个很典型的是像企查查的应用,要去查这个企业跟另外一家企业之间有什么关系。现在的做法,最简单就是人去看,人去操作。这样就很低效,因为你不知道哪个方向最终能把他们两个关联到一块,但是这个用机器来做就很快了。