【CSDN现场报道】2014年12月12-14日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中科院计算所与CSDN共同协办,以推进大数据科研、应用与产业发展为主旨的 2014中国大数据技术大会 (Big Data Technology Conference 2014,BDTC 2014)暨第二届CCF大数据学术会议在北京新云南皇冠假日酒店盛大开幕。
2014中国大数据技术大会首日的全体会议上,华为EU研究中心首席研发架构师Sabri SKHIRI带来的主是题“Lambda Architecture 2.0 Convergence between Real-Time Analytics, Context-awareness and Online Learning ”,期间他指出了当下大数据框架的两大缺点。首先,类MapReduce的模型做机器学习并不简单,这主要因为下面几个原因:基于键的运算符限制了灵活性;迭代是复杂的,同时计算上的开销非常大;批处理会扫描所有数据;不可以支撑在线学习算法。其次,没有逐渐增加数据片的渐进式学习。
华为EU研究中心首席研发架构师 Sabri SKHIRI
以下为演讲实录
Sbari SKHIRI:
我叫Sbari SKHIRI,来自于比利时。在今天我想跟大家介绍的主题是针对实时分析的CEP以及PME。这是我这个演讲的报告,首先做一个简要的报告,然后简要介绍一下Lambda结构和Lambda2.0的架构,然后举一些实例最后做一个总结。
我经常参加一些会议,在会议中做关于机器学习的演讲。我也是开源项目的一个协调者,能够参加开源项目是非常好的,能够跟开发者有第一线的接触,有非常亲密的联系,大家可以看看。
下面我们来看一下,在大数据时代来临之前到底有怎样的变化,我们其实也可以看到有一些智能性的发展,包括机器学习。机器学习在大数据时代之前已经被提出。我们在图像当中列出了不同的使用,包括Hadoop等等,但是在通讯领域,很多企业的规模都很大,他们可以为用户提供更加可靠的数据,在我们挖掘要求方面,还有我们现有的能力当中就出现了一个问题,所以我们华为也希望可以满足通讯运营商他们在这方面的需求来缩短差距。
我们来具体看一下实时分析。我们看一下在通讯领域,我们进入到大数据时代主要原因就是运营商希望可以进一步提升用户体验,增加质量,可以更好去优化运营效率,他们也希望可以更好地去挖掘数据价值,把数据变现,创造一个稳定的生态系统,包括数据的产生者、数据使用者和运行者,所以他们希望全方位更好利用新数据。
我们有一些新的商业使用案例,比如说实时的广告,我们可以给用户进行精准定位的广告推送,还有可以更好进行一些动态的网络管理,还有可以更好地去主动性管理用户体验等等,所有的这些都有几大需求。首先,需要我们可以去开发一些情景,一些背景,还有实现实时;也就是说我们需要能够了解到此时此刻的现状。而我们从建构的角度到底意味着什么呢?这就意味着我们的方向有所转变。我们看左边这个图,纵轴上面是数据价值,横轴上面主要显示了时间,我们数据就包括事件相关的,我们还要进行数据存储、信息发送和最后采取行动,我们也会在这个过程当中获得数据,还需要有一定的时间做出决策。随着时间延长我们数据价值就会越来越少,要求我们进行数据收集和探测还要做相应分析和决定。我们也需要采取一些方式,在数据基础之上去产生知识和生成内容。
像刚才在左边这幅图当中所显示的那样,我们真正利用数据就需要做出改变,首先我们去探测并且了解到有趣的背景和上下文,在此基础之上,我们可以根据这一个上下文,根据这个背景直接做出决定。我们所要实现了解上下文之后做出直接的反映,这样帮助我们更好提高效率。
要实现这一点,我们应该怎么做呢?这就要求我们需要有新的能力,可以让我们去探测到文本,探测到情景,而且我们还要进行批次处理,还有帮助我们建立起效率模型。我觉得这其实非常有意思的,因为这可以要求我们建立起更加高效的计算模式,而且我们还要把计算模式拓展开来,稍后会给大家做一个详细介绍。
首先看一下怎样去进行情景的探测。我们当然就是要寻找到事件的模型,我们要找到事件与事件之间的关系,包括我们可以按照时间来作为一个联系的基础或者用其它的指标来寻求事件之间的联系。所以简要来说,我们背景,我们上下文可以在不同的案例当中适用,比如在市场营销当中,如果用户在网站上面搜索,你就可以直接给他做出精准定位的推广,这就是我们所说有关联的事件,在这种有效的情景当中我们希望可以做出相应的决定。比如说给他提供一些在线手机购买的链接和广告,这是在谷歌所使用的案例,我想大家可以看到在这里你也应该会比较熟悉了,就是我们在搜索谷歌地图的时候,它就会有一些相应的推送,它是基于事件和用户市场的推广和营销。
那在右边,右边这一个案例是IT系统,这个系统是融合性、整合性的,而且它也可以让我们去进行一些匹配,比如说如果有两套IT系统,一个系统是市场系统,那么一个是运营系统,这些系统之间可以实现互动,可以实现融合,帮助你更好挖掘数据之间的价值。
这就意味着实现在第一张幻灯片的目标,这就要求实现以下的任务,包括刚才说事件流的处理,我们要有非常完整事件处理,也就是CEP,还要实现模型匹配引擎。到底什么是模型匹配搜索呢?我想大家可能都觉得这一块稍微有点晦涩,其实它就是说我们要去首先找到事件流的处理,我会把我跟我同事的事件流进行一些比较,进行处理之后我要实现比较完整事件的处理,所以我会给大家展示一下在这三者之间的区别。如果我们可以在大的背景之下去识别一些具体的事件,那我们就可以更好去进行一些整合性的可预测的模型建构,这非常酷,因为我们可以更好去建立起模型,而且我们也找到一些更加精准的推荐,比如说可以帮助人们实现实时推荐,即使说你只是在搜索一个产品,你并不是马上购买这个产品,但是我们通过这一次的推送,通过这一次的探索会把信息收集起来,会让我们下一次进行更加精准的推送。
所以它就意味着我们不需要再重新进行计算,而是我们可以把计算的能力融合起来,可以更好来使用模型,而这个模型将会不断增加用户黏性,越来越精确,而且它的可预测性也越来越高。
下面我们再来看一下,刚才所提到的技术之间是存在差别的,现在来看一下流处理。流处理,在IBM、雅虎,他们都有跟流处理相关的技术,他们目标就是可以对流信息进行处理,他们使用了DFG,DFG也就是数据的一种拓扑处理,典型来说他们没有临时支持,你没有办法直接在这一个事件,在处理当中表示数据源与数据源之间的关系,但是你必须要进行不同的元素之间的时间关系。所以我们再来看一下第二个,也就是CEP,就是完整的事件处理。
完整的事件处理是基于刚才提到的流处理技术,我们要有一个主流的语言,这个语言可以进行表达,比如说SQL。而在这个基础之上我们可以进行一些KPI的计算,比如说计算出一个员工他在过去十分钟当中的绩效,从而进行KPI的定义,我可以进行一部分的修正,比如进入的人不到十个人,我可以来进行计算,这就是我们说的CEP。
再就是模型匹配引擎,模型匹配引擎需要把不同具体的事件进行连接,从而去找到事件与事件之间的模式,比如说五分钟之后,从A到了B,然后你又从B到了D,我们在四者之间有些是有联系,有些没有联系,所以这就要求我们找到他们之间的联系和匹配。而我们的第一个事件,而在时间当中所发生的事件需要我们进行一个匹配,所以这就是让我们真正去定义并且决定事件与事件之间的关系,我们在这一个领域有各种研究项目,比如说有来自于美国一个大学的项目,还有其它的项目,比如说达拉斯大学进行网络管理和预期的项目,华为有PME的项目。正是因为这些技术是我们需要的,才能够定义事件与事件的关系。
这里给大家展示华为所取得的成果,在这里已经建立了起,来了一个基于学术的研究成果所开发起来的语言,这个语言基于百度基础来使用的 ,我们在这个过程当中,我们发现这一个语言它其实既可以实现CEP,也就是我们所说的它可以去表现事件与事件之间的关系,而且它还可以进一步拓展所能够采用的语言。我们可以实现代数的转换,而且我们也发现在这两者之间我们可以把两种语言直接在同一个平台上面进行整合。而在这一个整合当中我们还可以进行运行优化,帮我们更好提高执行率。
我们把这两个代数的模型进行融合之后,我们就可以更好的去减少数据处理的限制。而且我们还可以产生一些静态的,我们可以在静态机器上面进行处理,这就是我们所建立起来的架构。首先它的灵活性更快,更好,因为它有不同的语言进行融合,而且我们可以实现的是每核每秒80ev的速度,这就是PME的优势。
我们什么时候来使用流处理,你会问到这个问题,我们要使用流处理,比如说我们要了解在工作领域了解缺陷区域,比如说无论对于过滤和运用都需要找到盲点和缺陷点,无论对于市场营销还是动态管理要求我们找到需要进行改变的一些情景,你就需要可以PME来进行文本的表达。
现在已经有了工具和框架,接下来的核心就是要生成内容,需要文本它是可以非常精准体现这个场景。我们要完成这一点就需要进行批次数据挖掘,这是非常重要的。我们要看一下,在这方面有哪些按纽可以使用,我们要建立起一个相应的结构,我们也有一些非常简单的用户实例,到底怎么来进行使用,给大家举一些例子。另外我想补充一句,如果我们进行架构的建立,可以看到红色部分,红色部分就是我们要采取一些决策而且要进行批次的处理。看看我们到底怎样来进行扩展,让我们的功能可以拓展到更上一层。
今天下午也提到了架构,那我们来看看Lambda的是怎样的呢?在这里你可以看到2010年的时候,Nathan Marz发布了Lambda架构的描述,他的想法 希望可以去处理或者获得一些数据信息,比如说想要计算KPI,你可以在推特或者微博上面把这个信息进行测算,计算你的KPI,而且你可以实现实时处理。随着实现了ID之后实时数据之后,我们也需要去想怎么样更好计算出来KPI,我们获得数据,然后再进行数据的预先计算和处理,然后我们就会创造出来一套的数据组集,这个数据组集就是KPI的组合,随后就会发现在前端,我们的前期的事件,那这个事件它是有属于它的数据子集,客户希望有最新的值,那你可以把这些值进行融合挑选出来最新的值,这就是我们所说的架构。
这个架构是用现行结构来组成的,我们也花费时间来建构的,我们架构怎样的,我们需要怎样的预测模型呢?我们深入研究一下。
第一步,除了刚才所提到的流处理层之外,我们还有其它的层级,比如PME等等,这些就是帮助我们去寻求一些有意思的情景,然后不会在这里等待客户端的指令,而是就是根据情景就来产生文本,这是第一步。
第二步,我们可以有一个机器学习体系,而这个机器学习系统,我们可以基于它建立起一个预测模型,如果真的能够做成的话,那将会非常棒。因为我们可以再进一步定义新的可靠的预测模型,我们不光是根据用户在这段时间的搜索的结果,因为像这种搜索的结果可能不能够完全保存下来,比如说你要换发型,你肯定会思前想后,你要了解到不同的人他们有怎样不同的建议,而且换了发型之后会大概怎么样,这些都是通过数据处理帮助你的。
好,这是一个例子。现在我们来看一下这个迈克杰克逊有新的专辑出来,我们通过它搜寻席琳迪翁上个月发行的专辑,在这种情况下,我们必须要实现一个回应,在实时的时候这一层可能会问你这个问题,我们应该给这个人提供什么样的选择,我们可以给他提供相关的建议,比如说有的时候,在某种情况下在哪个商店,他的专辑是打7.5折然后在线是怎么来卖等等,所以这个就是我们能做的,就是提供实时信息告诉他相关打折信息。
最后,我们要能够进行纠错,我们能够对这个模型进行纠正,那简直是太酷的一件事情了,我们可以在线购买一些打折扣的音乐专辑,有的时候在过去会出现一些错误,我想说在这里推出回馈的循环,也就是说我们可以所有的一些反馈,我们可以能够提出一些相关反馈说建议,有些时候建议是错误的,然后我们来引入到一些相关反馈进行一定的纠错,所以说我们有一定的能力来接受我们的客户反馈。我想说,这对于机器学习有一定的问题,有了机器学习我们可以把模型不断的更新,因为我们可以采取不同的步骤把相关内容进行更新就可以了,因为你不能说基于去年的一些相关数据给这些客户提供,给消费者提供相关信息,告诉他这个专辑正在打折等等,我们需要实时不断数据的更新了。所以我们需要来进行累积的学习,持续不断的学习,能够获取到现实所有的这些信息,包括获取到所有的一些我们购买方的一些相关信息。这样的话,我们就需要有一个机器学习后端来处理这个方面的问题。大约在三年前,在美国,我们开展了这个方面的工作,我们的工作是不是能够衡量一下高性能,这个速度是不是足够快,我们效率是更高的,而且是应该能够实现累积的学习。所以从过去我们所得到的这个结论,我们实际上所得出的结论也是今天早晨所达成的结论,所谈到最后总结的结论是一样的,
MapReduce有一个问题,作为一种模型来讲,我们要实现积极的学习并不是非常容易的,我们需要来对它进行更新,对于机器的学习或者累积学习对于MapReduce来讲可能是比较困难。另外在其它的一些相关的文献当中已经谈到了,我们应该要解决这些相关的问题,后来想我们做两个方面的工作,第一,我们可以设计一个新的架构,把机器学习进行进一步的优化,然后从操作的角度或者从机器学习的角度,对机器学习平台优化实现它的性能进一步的提高。实际上主要都是针对机器学习进行的一个平台的优化,我们做了这个方面的工作。
第二,我们也是对于机器学习的一个结构进行重新分配,我们也是对于这种计算,对于计算的设计也是基于不同的自模型的基础之上来进行计算相关设计。我们是设计了25个机器学习的计算,这样的话,他就能够在线累积学习,能够在线进行相关的反馈对系统进行不断的调整。
我就不再详细讲了,我之后还在这里,你可以进一步来问我,但是我们来看一下数据的分区,我们建了一个数据分区之后就会建立局部的模型。我想说,一开始的数据不是非常精确,你必须等待后面的一些收敛,收敛之后这个数据就会越来越准确了。现在我们来看一下这张幻灯片,这里面是我们做了一个实验,我们也是进行了不同机站的对比,然后对它进行进一步的扩展,从这里面我们可以看到我们速度还都是不错的,在这里我想进一步强调的一点就是,有的时候我们客户经常来问我们这样的问题,他觉得这是非常有意思非常有趣,你需要Spark或者Hadoop速度要快,第一,对实时来讲这是非常有用,因为你需要将一些相关的反馈来吸取进行累积不断的学习。
另外,你也可以来看一下市场模拟,你想模拟市场竞争方面的一些相关情况,对于计算来讲,我们 需要来做一些相关计算。如果你能进行模拟,应该是非常不错的,主要是基于一些,不仅仅基于人口相关样本而是针对整个市场进行模拟,有了这个市场模拟之后你就知道怎么样进行投入了,这也是为什么我们有了一个高性能的机器学习对我们来说是非常有用的。
我们来看一下这是一个对于实时营销来讲我们可以提供哪种的解决方案。从网络这个角度来讲,我们可以有不同的IP的一些来源,我们也可以让决策层做出决策,另外要求不同的模型、层,然后根据相关的情况来提出建议,怎么样采取行动。
现在对于这个案例我就不再讲了,我有点超时了,但是这张幻灯片内容都是在这儿,想看的话之后可以再看一下。
好的,最后做一下总结以及我们未来要开展的工作。基本上,我们所面临的局势,我们有一些新的案例,我们需要实现一种技术的转移,一方面我们应该有模式匹配的这种引擎,另外一方面我们也应该有叫做累积高性能机器学习的平台这样进一步实现转变。另外对未来的工作来讲我们需要实时分析,我们来了解消费者行为,对消费者行为进行学习,而后我们需要对这个数据来进行分析,来了解到这个数据所呈现的所代表这个内容是什么,怎么样数据来解决具体问题。另外非常有意思的一点,我们应该利用这些数据对于未来的某种情况来进行预测,比如说你是有不同的事件发生,那么用了这种相关数据之后我们预测未来可能发生有问题或者可能发生的事件或者模式等等,这些事件到目前为止没有发生,但是我们可以用这个数据预测一下未来的形式,因为他之前发生过类似的情况,这是有意思的一点。
另外非常酷的研究领域,上下文的情景学习。我们需要对情景进行一定的学习,在这种情景下如果出现了问题我们需要回应,当然这个内容是非常复杂的,而且充满了挑战,谢谢大家!
更多精彩内容,请关注直播专题 2014中国大数据技术大会(BDTC) ,新浪微博 @CSDN云计算 ,订阅CSDN大数据微信号。