weidlxDeepRec:热门微博推荐框架性能提升实战

在线学习平台底层推理计算部分采用bridge模式,支持多个backend,包括DeepRec、TensorFlow、Torch、TensorRT等,同时支持基于CPU与GPU的模型训练与在线推理。

weidl在线学习平台

2.2.1实时性

实时性包括模型学习到用户行为的速度,模型参数的更新应用到线上模型服务的速度。推荐系统的更新速度越快,越能够反应用户最近的用户习惯,越能够给用户进行越有时效性的推荐;模型更容易发现最新流行的数据pattern,越能够让模型反应找到最新的流行趋势。工程上主要通过以下几个方面,实现推荐系统的实时性。

2.2.2大规模深度复杂模型

精排模型从snr模型迭代到mm模型

粗排双塔模型迭代到colddnn模型

3

3.1OneDNN库加速算子运算

3.1.1Select算子优化

3.1.2Transpose算子优化

同样,可以使用向量化的unpack和shuffle指令对transpose算子进行优化,即通过小Block的方式对矩阵进行转置,最终经线上测试表明,性能提升同样十分显著。

3.2关键路径优先的调度引擎

DeepRec通过对执行引擎以及底层线程池的重新设计,达到在不同的场景下,包括trianing和inference,能做到更佳执行性能。保证不同线程之间的均衡性,尽量减少线程之间的steal,避免加锁等问题。

Executor的设计需要考虑对内存的访问及其并行实现之间的联系,进行多层次任务调度,减少缓存缺失和远程内存访问,充分发挥多核、多节点CPU的并行特性,提升系统的运行性能。在线程池层面,设计Cost-aware线程池,结合内存感知以及算子类型等信息,进行针对性优化;在计算图层面,对张量内存的位置进行调度,有利于线程池的调度;在算子生成层面,进行有利于线程池任务调度的算子任务划分。

DeepRec提供的基于关键路径优化的执行引擎,通过动态采集SessionRun情况,统计与计算多组指标,并构建CostModel,计算出一个较优的调度策略。该功能中包含了基于关键路径的调度策略,根据CostModelpatching执行细碎算子的调度策略以及线程池Cost-aware调度策略等。

在稀疏模型图中,可能会存在大量细碎算子,会带来大量调度开销。有些可以通过算子融合来做优化,算子融合一般通过graphpattern匹配或者手动指定子图来确定需要融合的对象,难以覆盖全部算子。故而在executor层面,通过trace运行时数据来动态进行批量调度执行,这样可以减少非必要的细碎算子调度开销。

在线程调度层面,目前的线程池调度策略比较简单,如果当前执行线程是inter线程,优先将task调度到当前线程执行,若不是,则调度到一个random线程上。线程的balance完全由steal机制来保证。在我们的观察中,发现inter线程之间存在大量的steal,这会导致很多锁以及重复的线程调度等开销。CostModelexecutor通过采集运行时数据,来确定更佳的线程来执行任务,减少大量的steal行为。

在复杂模型上,使用DeepRec的CostModel调度,能够生成更佳的调度策略,减少调度开销。在测试的snr模型上平均耗时稳定优化2ms。

3.3动态感知的内存/显存分配器

在张量内存管理方面,通常存在两点问题,一个是内存碎片过多,另一个是没有考虑模型结构存在多分支的情况下算子并行带来的内存增长。其内存管理十分粗放,大体上都是运行时依据内存请求动态进行内存释放和分配,同时进行一些内存池管理。由于无法感知上层应用的分配请求特点,这种内存管理存在着内存碎片过多的特点。例如在不清楚后续内存请求的情况下,由于前期的多次内存分配和释放,会导致后来的大内存请求由于内存碎片的问题而需要一块新的内存或者OOM。

深度学习模型的内存分配由于其应用特点存在着明显的规律性,训练时都是以一个个mini-batch的形式训练,每个mini-batch的分配特征大体上保持一致,训练时前向过程一直分配内存,较少释放,而反向过程中会释放前向计算中的临时张量,释放大量内存,所以内存会周期性呈现先增长后降低的特征。基于此学习到执行过程中内存分配pattern,从而减少内存的动态分配以及对内存块做到最佳的复用。同时自适应内存分配器也是graph-aware的,这样使得不同子图之间存在较小的相互干扰,提高分配效率。自适应内存分配器基本架构如下图所示:

自适应内存分配器基本原则是使用尽量少内存,同时提高内存的复用率。整体来讲,自适应内存分配器解决了在稀疏场景中内存分配上存在的一些问题,主要包括,第一,减少了在稀疏场景中,大量内存分配问题,包括小内存和大内存。譬如小内存分配出现在特征的处理过程中,包括一些特征的拼接,或者在做一些交叉特征,这里会存在大量的小内存的分配。同样在模型训练也存在很多大的内存,包括attention、RNN、或者全连接层,会有一些大内存的分配。减少大内存的分配,进而也减少了minorpagefault数量。第二,对于tensor能做到更好的复用,减少了总体的内存占用量。

4

DeepRec在业务中取得的收益

4.1服务性能提升

对于双塔和colddnn模型,图计算部分耗时降低20%,粗排阶段整体耗时降低10%,单机吞吐量提升20%,模型训练模块性能提升20%,提升了训练速度并有效的改善了样本积压问题。

4.2性能提升所带来的其他收益

推荐引擎模块整体耗时减少与吞吐量的提升,减少了推荐在训练与在线推理上所使用的机器资源,极大的降低了公司成本。

在线推理服务性能提升,使推荐引擎各个模块可以计算更多的候选物料,粗排阶段可以计算更多的候选物料,提升物料库总量与扩大召回条数,精排也由1000条扩到2000条,每个阶段候选物料数的增加,都会对整体指标有显著的提升。

THE END
1.科学网—[转载]群视角下的多智能体强化学习方法综述图1 论文整体架构 1 多智能体强化学习概述 1.1 多智能体强化学习基础 多智能体强化学习通常可直接采用马尔可夫博弈(Markov game)模型来建模,如图2所示,可表示成八元组<N,S,A,T,R,O,Z,γ><?,?,?,?,?,?,?,?>,其中:N?表示智能体的数量,S?是所有状态的集合,St∈S∈https://blog.sciencenet.cn/home.php?mod=space&uid=3472670&do=blog&id=1422698
2.教学资源库建设现代礼仪课程教学资源库在整体的框架架构方面,以学习者为中心,按“学习阶段”划分课程资源,并对各个学习阶段的课程内容设置和教学资源相应按等级划分。根据礼仪学习者的具体情况,将其分为初学者、进阶者和研究者三个不同层次,使资源库的学习者能够根据自身的情况和学习阶段选择学习资源。如初级阶段(初学者),以“知礼https://www.unjs.com/w/413210.html
3.2020届计算机科学方向毕业设计(论文)阶段性汇报本次汇报主要内容为这段时间的进度展示:平台框架的论文叙述部分,通过系统图展示;交互流程的论文叙述部分,通过流程图展示;模型泄漏程度及定价问题的定义,通过公式展示;以及第一、第二种计算模型泄漏程度的方式,通过例子介绍。 谢杰 基于格的range proof的关键构件 https://zhiyuan.sjtu.edu.cn/html/zhiyuan/announcement_view.php?id=3709
4.SSM+在线学习系统毕业设计附源码131843在线学习系统用例图在线学习系统主要功能模块包括首页、站点管理(轮播图、公告栏)用户管理(管理员、学生、教师)、内容管理(课程资讯、资讯分类、在线测试)、更多管理(老师信息、学生作业、预约信息、精品课程、上交作业),采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工https://blog.csdn.net/weixin_61498557/article/details/126786698
5.在线教学平台学习者参与方式研究前沿领域有个别研究者将ICAP框架应用到了在线教育领域中,如Haney等人(2016)通过对学生的点击行为和成绩数据的描述性分析发现,与具体学习行为相对应的学生参与方式会影响学生的整体成绩。国内也少有学者讨论和应用ICAP框架(盛群力,等,2017)。 综上所述,现有学生参与研究存在测量方法不理想、缺乏理论基础等问题,且国内较少有学者https://www.eduwest.com/html/2021/qianyanlingyu_0908/610.html
6.在线思维导图在课堂教学中的应用,让线上教学更精彩!训练思维能力,促进教学形成整体的观念 建立系统完整的知识框架思维导图体系,对学习的课程进行有效的资源整合,使整个教学过程和流程设计更加系统、科学、有效。 互动引导方式,促进学生学习的主观能动性 在线教学过程中,通过使用在线思维导图,师生之间可以自由交流和沟通,能够让学生有更大的发挥自我的空间,根据自己的实际情https://boardmix.cn/article/ktjxsiweidaotuyy/
7.王喆推荐系统模型篇(task9)强化学习推荐模型DRN强化学习推荐模型 DRN(Deep Reinforcement Learning Network,深度强化学习网络)是微软在 2018 年提出的,它被应用在了新闻推荐的场景上,下图 1 是 DRN 的框架图。同时也是一个经典的强化学习推荐系统技术框图。 图1 深度强化学习推荐系统框架 (1)在新闻的推荐系统场景下,DRN 模型的第一步是初始化推荐系统,主要初始https://blog.51cto.com/u_15717393/5619095
8.线上教学方案15篇4、教师充分利用网络平台推送优质教学资源、在线布置作业,学生作答提交后,教师手动批改,巩固强化学习效果,保证教学质量不打折。 四、检查反馈 1、分管校领导进入分管年级部网络平台进行巡视,教研室、教务处、年级组负责线上教学情况的`监督和检查。 2、班主任须作好线上教学的宣传工作,及时将课程表、作息时间表发班级https://www.oh100.com/a/202212/5827840.html
9.CVPR2021有的放矢,用图像分割与像素投票找到预定义的地标点在定义了真实地标分割图和真实方向投票图后,我们可以监督所提出的 VS-Net 预测这两个图。经过训练,VS-Net 可以预测查询图像的分割图和投票图,我们可以据此建立精确的二维到三维的对应关系,以实现稳健的视觉定位。 基于原型的在线学习三元监督投票分割网络: https://www.sensetime.com/cn/technology-new-detail/41164696?categoryId=48
10.面向“可感知能学习善治理自适应”的智慧国土空间规划本文在对国土空间规划编制和信息平台深入研究和实践的基础上,尝试构建智慧国土空间规划的理论框架(包括内涵、方法、目标、路径等),涉及国土空间规划的编制、审批、实施、监测、评估、预警等关键环节,以期为新时期空间规划的智能编制与精准实施提供技术支撑。 https://www.thepaper.cn/newsDetail_forward_3272486
11.面向在线教育的自适应学习框架构建及系统设计研究维度构建自适应学习框架;其次,研究将框架的各个维度融合应用于系统开发的各个环节,设计“跟它学”自适应学习系统;最后,研究采用问卷调查与用户访谈相结合的方式了解调查对象对自适应学习系统的整体评价,并依据调查结果,提出系统优化策略,以促使系统功能更加丰富与完善,愈加满足学习者多样化、个性化学习需求,提高在线学习的https://cdmd.cnki.com.cn/Article/CDMD-10200-1021631035.htm
12.学校线上线下教学切换方案(精选17篇)在教学总体时间相对缩短的情况下,教师在课堂上应重点加强精讲环节,优化教学设计,适当整合教学内容。对高三、九年级毕业班教学,要着重夯实学科基础,对学生已经掌握的内容避免重复讲解,要依据考点复习。在知识梳理时,可采用知识框架和思维导图工具,整体呈现章节知识结构,让学生整体性建构章节知识的内在联系。https://www.ruiwen.com/fangan/6618874.html
13.SpringBoot+Vue3项目实战,打造企业级在线办公系统了解项目案例业务需求,观看完整的项目演示。掌握学习本课程的方法,获取课程授权码,以及如何利用在线教程学习和答疑。 第2章 构建后端项目,运行分布式项目(万丈高楼平地起) 本章学习用SpringBoot搭建前后端分离架构的后端Java项目,整合SpringMVC和MyBatis框架,并且向后端项目添加一些企业级项目的基础功能,最后将5个分布式项https://coding.imooc.com/class/530.html
14.教育大数据行业发展现状及前景战略规划建议报告3、“教育大数据与学习分析标准工作组”在研项目 (1)《教育大数据标准框架》 (2)《学校基础数据规范》 (3)《学习者画像》 (4)《教师画像》 (5)《教育行为数据框架、模型与元数据》 (6)《课堂教学行为编码规范》 (7)《教育大数据接口服务规范》 https://maimai.cn/article/detail?fid=1846094883&efid=fVq5WNoRddfGQrd6lI_77A