2014年12月12-14日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中科院计算所与CSDN共同协办,以推进大数据科研、应用与产业发展为主旨的 2014中国大数据技术大会 (Big Data Technology Conference 2014,BDTC 2014)暨第二届CCF大数据学术会议在北京新云南皇冠假日酒店盛大开幕。
在14日“大数据应用”论坛的下午,Dropbox研发经理邵铮、腾讯广点通高级研究员靳志辉、沃尔玛实验室核心数据科学家Zhu Tao、蚂蚁金服大安全安全智能部总监/资深数据专家和CCF大数据专家委员会委员陈继东、宜信大数据创新中心研发总监郑华以及高德软件有限公司数据架构师周琦等6位一线技术专家深入分享了他们最新的大数据实战经验。
值得注意的是,上午的应用分享,除了来自互联网行业的演讲嘉宾,还有电信运营商的讲师,而下午的演讲几乎都和国内外云计算/互联网业务密切相关,这说明互联网行业的大数据探索更为出彩,日志分析、机器学习、内存计算等新技术的应用仿佛信手拈来,加上针对大规模模型的算法突破,实现应用的创新;同时也说明大数据应用的行业发展并不均衡,距离百花齐放还有很大的距离。我们甚至可以推论,实现大数据应用的最佳实践,应当先拥抱云计算和互联网。
1、邵铮:大数据在Dropbox大规模系统监控中的应用
云存储巨头Dropbox研发经理邵铮从大数据提升公司内部效率的角度开始了下午的分享。Dropbox坐拥3亿多用户,每天平均上传的文件数目达到10亿个,大规模、高可用、高稳定、低成本的后台支持系统必不可少。如果有一个智能的超级机器人(Robot)来帮助工程师完成运维系统监控大量的重复工作,就再好不过了。
Dropbox研发经理邵铮
邵铮首先分析了现有现有系统监控产品的情况:开源的Ganglia、OpntTSDB、InfluxDB、Graphite/Gratfang、Zipkin和Elasticsearch等,都具有一些出色的特性对系统运维很有好处,如采用RRD/Berkeley方式的Ganglia可以远不停止的写数据,Zipkin做分布式的日志收集有利于调试软件,但每个工具只能解决一个小问题;专有的软件如Splunk和Scalyr更进一步,在整合前一类软件的功能方面有很好的体验,但它们是把日志拿进来而不是记录一些指标数据。
典型的大规模系统监控架构,是收集机器日志数据存储到HBase中,用Presto做Query,再通过Dashboard或者Alert两个渠道实现智能预警,能搞定几百台机器,但要实现Dropbox需要的Robot,邵铮表示,还需要解决Scalability和Integrated Solution两个问题。
对于前一个问题,邵铮提出了四点想法:
做数据归结(Aggregation)的时候,不只读数据的时候做,写数据的时候也要做; 数据写到数据库的时候,做一个从一秒钟到一分钟再到一小时到一天需要做时间轴上的规整,并且把不同数据放到不同的存储介质上提高资源使用率; 把日志数据和指标数据分开,这两个数据是有些区别的; 一定在监控系统上加上配额管理,因为当公司越来越大,总会有两个团队在使用系统的时候,写入很多的数据会导致其他部门受到影响。
邵铮解释说,当数据进入HBase之前先做一些处理,有了Write-Side Aggregation就会非常快,可以做多个渠道多层次的归结,包括机器/机柜/数据中心的不同级别,只需要做一次运算就可以都做出来。Read-side Aggregation则会带来灵活性,比如某个应用导致CPU的使用率忽然提高,我们读数据的时候可以很快把这个参数找出来。Dropbox在数据从HBase传输到Dashboard/Alert的过程当中采用Read side Aggregation。
第二个方向,用Time Based rollup和Tireed Storage。Dropbox所有的数据存储24个小时,Read side直接收集数据,只存储分钟级的数据,一周之后以小时为单位存储数据,数据大为减少。Tireed Storage,把不同数据放在Memory、SSD、HDD不同的存储介质上。所有系统当中的警报都是基于内存数据的,这同时还能做一个隔离。读的时候都是针对Memory、SSD的,应用的效果不错。
邵铮展示了Dropbox改进以后的系统结构,很简单的一个改变,就是在HBase加了一个RocksDB。RocksDB本身是单机版的,针对内存和SSD开发,比Hbase小很多,在内存或者SSD做大规模的写操作时可以参考。
第三,日志数据和指标数据要分开。日志数据和指标数据都是需要的,一旦系统出现问题日志数据会突然疯长,对监控系统造成很大压力。把这两个数据分开做到两个不同的系统中,从Logcollection到Elasticsearch(要用Elasticsearch是因为调试系统会做一个操作)。具体在实现的时候做一些很简单的采样,这个采样会丢失一些数据,但Dashboard不需要所有的数据集。
最后一个方向,把不同的小组使用监控系统的配额完全分开,当他们使用这个数据配额的时候会丢数据,但只是适用这个小组不影响其他小组,保证了遵规守法的系统。
对于如何把一个监控系统做成一个Integrated solution,让不熟悉系统的人也能很好地使用,邵铮认为有三个关键点,即需要在API、数据含义、如何把日志数据和指标数据结合方面加以改进:
让用户在API自己做一些操作,然后数据再回来,再从Alert做警报,这样把系统负责性进一步的降低,让很小团队可以支持一个很大的公司、很大一个团队对监控系统的要求。收集数据的时候加上单位,厘清数据关系实现stopwatch和Distributed Tracing,都有助于把监控系统做好。通过工作流的方式把日志数据和指标数据合在一起,可以显示最常用的状态。邵铮透露以后要做成Default Dashboard Workflow,可以看到不同时刻这个系统发生过什么事情,并且这是可以配置的,不同小组可以选用不同的工具,类似针对底层基础架构的一个云服务。
2、靳志辉:大规模主题模型建模及其在腾讯业务中的应用
腾讯广点通高级研究员靳志辉(Rickjin)所在的广点通部门,承接的流量一天接近150亿,他希望用技术帮助腾讯更好地处理这些流量,具体而言就是通过大规模主题模型学习系统 Peacock找出用户在网络数据深层的密码。
“我们觉得互联网需要挖掘长尾的语义,主题模型能够突破传统处理的一些限制挖掘数据里面深层的隐含的语义。”靳志辉说。
腾讯广点通高级研究员靳志辉
历经4年的迭代,Peacock针对大规模LDA主题模型的研发成效初显。LDA主题模型是一个经典模型,训练步骤说来很简单:随机初始化每个词的 topic,然后重新采样每个 topic, 更新计数,重复采样,直到模型收敛。但靳志辉介绍,LDA主题模型号称是整个机器学习界最大的水坑,要做到100万Topic级别的大规模主要存在三个难点:
如何提升采样的速度。从一条路径换到另外一条路径的时候,传统的算法要算每一条路径的概率值从中挑一个,100万个topic你要做一百万次,显然速度太慢,所以需要一个更好更快的算法; 如何支持大数据、大模型。互联网都是以十亿文档、百万词汇论,模型左边是百万级,右边是百万级,中间广点通团队定位是做到一百万。 如何调参优化模型的质量。α和β以及主题中间的倍数如何考虑,都是模型质量相关的问题,简单的输出的问题,做到百万级的大规模也是困难的。
然而,搜索相关性MAP和广告点击率模型 AUC,都决定着广点通需要大模型。广点通整个Peacock对这三个问题的解答如下:
用了一个新的算法叫做SparseLDA,把LDA实现全部改成SparseLDA,比标准算法快30倍。SparseLDA又包包含三个要点:按照路径类型计算概率分布,先按照路径类型概率分布采样,在类型内部采样路径。 矩阵分块并行计算,支持中间的隐层达到100万个(行业最著名是谷歌Rephil系统当前支持到50万的topic)。这包括模型并行和数据并行,Peacock一个更好的设计就是把模型、数据切片完以后按照网格对角线的方式走,根据数据和模型的依赖关系,实现N*N的并行工作不相互干扰。 每一个迭代中对α和β做一些优化。参考国外的论文,每轮迭代中,通过MLE估计优化α。先给一个0.01的低值,探索路径好不好,下次更新模型,不断尝试,舍弃相对较差的路径,好的路径概率质量越来越高,差的路径概率越来越低,这个有自我模型质量提升的概率。每个迭代中对α做一个优化,做一个最大数值的估计,然后整个模型质量非常大的提升。
目前,Peacock 已经应用在腾讯的文本语义分析、广告相关性计算与 CTR 预估、QQ 群分类与广告定向、QQ 群推荐等业务中。
3、Zhu Tao:电子商务中的“纳米技术”
所谓“纳米技术”,是沃尔玛实验室核心数据科学家 Zhu Tao对大数据的理解。沃尔玛啤酒加尿布的故事可谓尽人皆知,但背后的沃尔玛实验室则鲜为人知——它负责数据科学和电子商务的一些创新性的研究,通过技术实现提升电子商务的服务。Zhu Tao认为,大数据在电子商务中的定义是指在每一个用户下面管理商务。正如纳米技术关注尺度很小很小材料,沃尔玛电商大数据主要希望观察到每一个用户,每一个产品如何从沃尔玛流向每一个用户的,进而实现更加智慧更加优秀的用户体验。
沃尔玛实验室核心数据科学家 Zhu Tao
沃尔玛实验室研发了一项打包推荐的技术,实现电商与客户的共赢,主要从每一个订单、上下文和产品的协调性、成本等四个角度来分析,考虑产品和产品之间、用户和用户之间的相对关系。当然,对于沃尔玛而言,线下订单和行为轨迹也是很重要的数据,所以它的大数据还包括把实体店里面的数据应用起来,增加用户从线上到线下,从线下到线上的体验。
用一个X表示决策变量,0/1表示是否推荐某个产品,最后的期望用一个积分的形式表达,再把高级的项筛掉,很容易做一个近似二次的打包推荐优化模型。然而要对每一个用户都解决打包推荐的问题,就变成了一个大规模的NP难的问题,N通常在百万级。
对此,Zhu Tao的团队先建立不同产品和产品之间的关系,通过这个关系形成一个顺序,再构造一个candidate set,把打包推荐的原问题验证成小很多的等价模型来解。线上实验的结果,新模型让点击数增长了大约7%~9%。
从纳米级别操作实践的,涵盖线上线下数据,Zhu Tao希望做一个推荐系统可以整合所有的数据来源,然后产生一个Top K产品的推荐。用的方法也是时下流行的矩阵分解的方法,把Matrix Factorization分解成两个低维的矩阵分析,其最主要的挑战是要找一个最好的低维的矩阵分解,结果能最好地近似原来矩阵每一个的值。然而沃尔玛没有平分的数据,只有这个用户买了还是没买,看了还是没看的数据,且用户数量远远超过了产品的数量。和广点通peacock不同,打包推荐如果用随机的开始,可能每次结完之后得到的解不一样,随机性会伴随一开始到最后,很难控制你推荐的质量。
此外,以前矩阵分解还没有办法整合各个渠道的信息。因而沃尔玛选择多元矩阵分解的方式。不同来源矩阵像右边拼接一起,最终做成一个M乘M的共同发生矩阵:包括共同买的、买并且看了的、共同看了的、看了和买了的共同发生矩阵,后来又往上加其他类型,先是交易和游览的数据,现在再加是地理位置数据。
简单线上的测试显示,相比只用线上交易数据做推荐,考虑线上和线下数据还有地理位置的数据,增长空间还是比较大的。
4、陈继东:大数据分析在网络安全与欺诈风险管理中的应用
接下来是金融大数据的时段。先是蚂蚁金服大安全安全智能部总监/ 资深数据专家、CCF 大数据专家委员会委员陈继东上台,分享了蚂蚁金服在构建大数据风控体系领域的经验,实现从传统的账户密码验证方法向基于海量用户行为分析和预测的账户风险识别方法的变革,以及如何把这种大数据风控能力做成云服务输出。
蚂蚁金服大安全安全智能部总监/ 资深数据专家,CCF 大数据专家委员会委员陈继东
蚂蚁金服的数据处理平台计算平台发展很快,目前互联网金融T+1离线分析用支持100PB的Hadoop处理,此外还有一些准实时的交易和分析。最近两年数据量膨胀更加的厉害,对风控系统要求实时性非常高,需要每一笔交易在100毫秒以内形成环路做风险的决策。
由于交易量很大,且绝大部分的交易都是正常的,如果直接用一些模型或一些规则来做风控,成本会很高。为把绝大部分低风险可信的交易直接过滤掉,蚂蚁金服建立一套可信体系,通过一个人的当前设备/IP或者当前行为,与历史数据对比,判断他是不是可信的,经过这两层过滤之后,再进到庞大的规模和体系进行风险评分,最后对高风险,中风险,低风险进行评分。通过可信有时候直接通过,有时候要输入密码,有时候通过一个短信验证,有时候让输入九宫格,有时候交易是失败。
判断账户的风险是通过数据基本上通过三个维度:用户身份的信息、用户行为的信息和用户关系网络。陈继东表示,有些情况下行为可以模拟,身份信息可以模拟,但是跟你交易对方的关系,跟你同设备甚至跟你有其他关系帐户之间的关系这个很难模拟的。所以,蚂蚁金服建立一个关系网络,采用分布式的架构,在上面存储、查询和分析,找到解决方案。有了关系网络之后可以做更多相关的识别。
交易风险模型的开发和很多CTI预估、广告、推荐方法类似,整个模型开发过程先是从行为数据采集各种各样的数据、环境抽取白样本、黑样本,最大工作是怎么选择变量,怎么对变量做一些选择特定分析,最后找出有效特征进入这个模型。逻辑回归效果不是很好,蚂蚁金服采用决策树。需要注意,这一类的模型跟广告模型的最大区别是上线之后恶化的非常厉害,因为作案的人的手段也会发生变化,选择的特征很快会失去原有的效果,所以需要有模型的监控,不断灌输新的数据,让模型重新训练,才能一个好的稳定性。在模型算法上,蚂蚁金服底层采用阿里云的ODPS xlib算法库。
陈继东认为,保证交易模型稳定性需要更多的采用Velocity实时变量,即过去几分钟之内对变量做一些累计,比如说次数、帐户数、时间间隔,这需要具备非常高效、高性能、分布式对海量处理能力实时计算能力。
陈继东在总结中表示,很多风控系统不单由模型组成,而是模型和规则进行组合综合的系统,需要有一个支持大规模数据分析的模型平台,也需要支持上千规则灵活部署的规则平台。模型解决稳定性准确度的问题,规则是解决灵活性问题,你每天出现新的案件这个怎么补,其实通过规则更灵活。
5、郑华:宜信大数据金融实践分享
另一位金融领域的嘉宾来自全球最大P2P公司宜信。宜信大数据创新中心研发总监郑华介绍,宜信大数据处理平台的使用场景和现状与蚂蚁金服颇不相同,是希望把金融合作伙伴纳入这个平台,提供风控能力在内的金融服务,支持他们把自己的数据、用户和流量变现。
宜信大数据实时风控平台结合了用户申请数据、用户授权数据、第三方数据、互联网海量数据等不同数据源,基于这些数据分析客户的信用状况和欺诈风险、实时估计授信额度和检测欺诈风险等。郑华分享了宜信大数据实时风控平台中的一些核心技术,包括知识图谱,风控模型和反欺诈技术等。
宜信大数据创新中心研发总监郑华
知识图谱的作用是将爬虫从互联网获取的个人和企业的数据结构化,结合其他数据源,自动分析进件的风险点,最后通过搜索引擎技术提供企业和个人的风险数据查询,为人工或者机器决策提供信息。
怎么从文档抽出一个实体出来包括实体的关系?知识图谱第一步一定要知识体系结构,还有涉及到一些领域、层次、类别、属性、关系。宜信整个定义从上向下的方式做的,举例如下:
mid1, /type/object/type, mid2
mid2, /type/object/type, '/type/type'
mid2, /type/object/id, '/people/person'
mid1, /people/person/work_at, mid3
mid3, /type/object/type, mid4
mid4, /type/object/type, ‘/type/type’
mid4, /type/object/id, '/org/company'
宜信对每一种不同的数据源采取不同的处理方法,结构化的数据不需要处理,半结构化数据采取模板抽取的方式,非结构化做的比较少,最主要是用一些规则,把电话号码、手机号,把单位信息识别出来。用知识图谱方式把它结构化好形成一个知识,这样有两个好处:第一个统计信息查询,比如某个人要贷款,可以从他找到他的公司,又会找到公司其他人进行关联,决定是否审批和利息率;第二个结构化信息查询,借款人有没有被法院执行过,也可以通过知识图谱方式查询出来。
针对整个系统,郑华总结了三点:
没有一个单一算法可能解决很多的问题,要通过工程将各种算法组合成强大的系统; 单纯靠机器和单纯靠人都是不够的,要充分发挥专家的先验知识和机器的计算能力; 整个系统监控报警非常重要,需要监控系统性能弱化并不停地更新、进化。
6、周琦:大数据在道路交通信息系统中的应用
最后一位演讲嘉宾是来自高德软件交通事业部的周琦,他从高德有哪些数据、高德如何实时处理数据、运营分析数据、挖掘数据,以及最近发布交通报告如何制作等几个方面给大家做了一个的介绍。
高德软件交通事业部的周琦
高德交通日均采集数十亿定位请求,系统处理月均100亿公里驾驶里程覆盖。周琦表示,将大数据智能化融入高德地图,提供更精准的到达时间预测和实时躲避拥堵功能,可以为你节省旅行时间;UGC事件系统&事件结合导航,可以抢先躲避拥堵。对于大数据在交通方面的应用,他表示,可以利用大数据进行出行轨迹选择、旅行时间计算、数据挖掘、多样化展现等。
周琦重点介绍的高德实时交通处理系统架构,从最前端是回传的各类数据,位置、定位数据,服务端日志数据等,高德之前采用分布式消息队列,这里为什么写到分布式消息队列,而不是采用选型?高德两套系统都在运行,它们采集数据略有差别,进行往阿里集团融合过程中,高德把这两套系统采用阿里的基础设施,分布式的消息订阅发布系统替换。有了分布式消息队列高德分为各种数据,有落地的实时库,实时库采取Hadoop的集群,把GPS点进行实时的打包,Hadoop集群不进行索引写入的量仍然是耗费成本比较大,所以高德进行一系列的打包处理保存在HBase当中。还有一些离线数据基本上并行存储在HDFS中。最终一些监控和处理的结果我们通过Redis和Mysql集群进行发布。还有一部分实行实时处理的,打开高德软件应该看到交通信息的图层,看到哪条路是黄的、红的、绿的,代表这个路途是通行、拥堵、缓行,有红绿灯路口的主要道路上,他们交通变化就是分钟级的,可能五分钟前它还拥堵,五分钟之后它就畅通了,实时监控每秒到10万级别的GPS数目,评估每一条道路的交通情况,判断是拥堵还是缓行最终实时发布,帮助用户规划最方便的交通方案,规避拥堵路段以及事故路段。
更多精彩内容,请关注直播专题 2014中国大数据技术大会(BDTC) ,新浪微博 @CSDN云计算 ,订阅CSDN大数据微信号。