加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

2019大数据产业峰会|百度陈凯:基于异构计算的数据科学加速方案

发布时间:2019-06-07 02:53:15 所属栏目:运营 来源:中国IDC圈
导读:副标题#e# 为了深入落实国家大数据战略,推动大数据产业交流与合作,展示我国大数据产业最新发展成果,2019年6月4日至5日,由中国信息通信研究院、中国通信标准化协会主办、大数据技术标准推进委员会承办的2019大数据产业峰会在北京国际会议中心隆重举办。

前面我们描述了算力和算法当前的现状,总结一下因为算法实际上是面对终端用户的,可以看一下整个这套体系里目前存在的问题,比如以Scikit-learn为例,接口抽象性非常好、简单易用,易用可读性相对比较好,代码可维护性非常强。但是相应的不足主要是计算性能不独,性能优化给了一些建议,相对比较复杂,有时候往往需要重新写代码。另外一点是在今天数据越来越大,成本也是我们不可忽视的环节,Scikit-learn总体的研发跑的慢,跑的多,资源成本高一些。基于异构计算整个加速分如下三层:1、加速,算法和算力协同工作,算法支持更高效的算力。2、降本,怎么样更好的利用整个资源。3、吸取Scikit-learn在推广方面的优势,异用性,通过原先的接口降低用户整体的迁移成本,提供更易用的接口。

接下来讨论一下整体描述方案。1、加速部分的工作;算法协同算力提升数据科学性能要应用高性能的异构算力。异构算力更快更省,在性能成本两方面的优势,在上层算法上适配,支持各种不同的模型,包括常用的数据分析的类似于现在用的比较多的,另外是图分析,传统的像单元里最短路径或者是图上的算法,以及应用比较多的图嵌入、图传播这样的算法。机器学习也是我们大力支持的,最后一块是深度学习,深度学习大家知道现在有非常多的库,像Paddle已经是非常好的了,但是这只是在这一个环节,但是如果需要数据分析时怎么处理,有比较多的数据的互拷贝和格式的转换。但是CPU里面数据拷贝是无关紧要的,当涉及到外设,像FPGA也是一种外设,需要把数据拷贝到外设上,拷贝过程比较费时,所以在下层有个统一的数据格式来减少数据拷贝,让大家使用同样格式的数据降低数据拷贝的时延。另外我们也为简单,有资源管理层接口屏蔽资源差异。

前面描述的主要是加速的工作,让算法适配算力,与此同时为了让各个算法之间做到无缝,是需要每个步骤都执行比较快,同时每个过程之间转换的开销相当于最优,前面是解决这个问题。

接下来要解决省资源的政策,优化成本的工作。前面提到了基于异构计算,本质上来讲更省成本,因为异构及乱本质上来讲跑的会更快,资源本身成本更优,同时做异构计算过程中也会有一些资源上的浪费,这个过程是解决资源浪费的问题,以今天比较常见的GPU为例来进行说明,我们知道GPU作为一个外设,它本质上跟打印机比较类似,在某个时间窗口独享资源,比如这时候有多个进程同时复用一张显卡这时候往往是比较慢的,我们可以看到一个时间轴上,分别执行路径,在一个时间点上执行路径,在这个过程中只占用了50%的资源,我们知道对于GPU里会有数千个核心,意味着也有数千个核心浪费了,我们这个地方通过一个资源更优化的管控来做到资源的最优化利用,降低整个资源成本。右图是实施的方法,这个过程中可以看到,在同一个时间片,刚才描述的是时间轴,右图是时间片上的过程,一个时间片上三个用户同时提交三个作业,三个作业可以在同一个时间片里面很好的复用一个计算单元,计算单元在这里比较好的复用,通过这种方式在异构计算的基础上进一步降低整个计算成本。

在提供这样的接口降低成本的同时也需要兼顾用户的改造,我们是兼容用户的接口,降低用户迁移成本,还是前面描述的通过Scikit-learnXOM解决异构,过程中只需要改变库就可以应用刚才所描述的加速方案。

与此同时我们通过AutoML提供更易用的接口,更有利于异构计算的推广。首先通过AutoML提供更易用的接口,用户在上面提供任务,通过建议器和评估器给用户一些路径,让用户尽量少的尝试。这样少的尝试都通过AutoML底层服务完成,最后希望给用户非常好的结果。通过异构计算又加快了整个AutoML迭代的过程。除此之外异构计算加速AutoML也有其他的点,包括特征工程的优化,像前面所描述的,加速整个数据预处理的过程。加快整个评估优化,通过CUML加速整个结果的优化。与此同时做到全流程自动化,让用户可以更好的,甚至是他自己定义的算法放进去支持AutoML。

前面我们描述了在加速机器学习上省成本和接口上的相关工作,接下来描述一下应用案例。付院长也分析过大数据场景,这里也是这样的场景,目标是位置分类,针对卫星地图给某个位置定义一个标签。大家可能会问,地图里面本身就有这些数据,比如POI或者AI,过程更精细有KOI的数据,为什么不直接用呢?有很多大型的机构往往比较大,有很多学生,比如清华大学里面会含有医院这样的实体,与此同时还有中小学这样一些实体都是放在清华大学里面的,我们希望通过这样的分类更好的把这些实体完全区分开来,这是我们的背景。

接下来把它映射到解决方案中去,跟图形截取类似,首先第一步搜索这样的数据,第二是对这些数据做一些处理的过程,接下来对数据做了一些处理,提取一些特征,接下来做特征相关的融合,最后基于特征做这样的分类,大概是这样的过程。这个过程中发现,图嵌入的会比较慢,往往数小时才能完成这样的工作,我们基于前面所描述的系统对这部分工作进行加速。大家知道图嵌入本质上讲是把高维析出的空间嵌入到低维空间里去,比如128维的空间,不是特别好的直观看到的数据进一步嵌入二维平面上去,如图对应的点就是一个实体,在这个平面上点越近表示图嵌入效果越好,大家看到这是一些大学实体,最终向量聚焦于这一块,我们对它做了相对比较好的分类。

把刚才的图映射到卫星地图上看,我们发现对于清华大学的附中做比较好的区分,清华大学附中从清华大学剥离出来,把这一块作为中小学的实体,满足这样功能的同时,整体训练过程平均加速13倍,与此同时整个成本降至12%,有非常好的加速效果。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读