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、国家中小学智慧教育平台 这是一个专门为中小学生精心打造的在线教育平台,具有广泛的适用性,涵盖了从小学低年级到高中阶段的https://baijiahao.baidu.com/s?id=1805012759468151759&wfr=spider&for=pc
2.基于python的在线学习与推荐系统+LW在线学习推荐系统本在线学习与推荐系统也是紧跟科学技术的发展,运用当今一流的软件技术实现软件系统的开发,让家具销售库存管理信息完全通过管理系统实现科学化,规范化,程序化管理。从而帮助信息管理者节省事务处理的时间,降低数据处理的错误率,对于基础数据的管理水平可以起到促进作用,也从一定程度上对随意的业务管理工作进行了避免,同时,https://blog.csdn.net/weixin_41895817/article/details/136821751
3.基于知识图谱的在线学习资源推荐系统的研究与实现最后通过对比实验,验证了本文所提出模型的有效性。(3)构建基于知识图谱的在线学习资源推荐系统。以本文提出的融合连通子图的协同过滤模型为基础,设计并实现了基于知识图谱的学习资源推荐系统,为用户提供个性化的学习资源推荐,从而解决用户的信息迷航与选课困难问题。https://cdmd.cnki.com.cn/Article/CDMD-10290-1022623811.htm
4.30个适合大学生创新创业的项目大学生们经常需要额外的学习资源和辅导。一个在线学习平台可以提供各种学科的视频教程、习题解答和辅导。同时,学生也可以在平台上分享自己的学习心得和经验。 4. 绿色出行共享平台 环保意识越来越重要,而大学生通常是城市出行的主力军。一个绿色出行共享平台可以集成各类公共交通工具和共享单车,提供一站式的出行解决方案https://www.keloop.cn/information/art101840.html
5.面试AI算法岗,你被要求复现顶会了嘛?51CTO博客第五阶段 推荐系统与在线学习 推荐系统一直是机器学习领域的核心,所以在本阶段重点来学习推荐系统领域主流的算法以及在线学习的技术、包括如何使用增强学习来做推荐系统。 在线学习算法很深具有很漂亮的理论基础,在本阶段你都会一一体会到! 【核心知识点】- 基于内容和协同过滤的推荐算法- 矩阵分解,带条件的矩阵分解-https://blog.51cto.com/u_15279692/3405717
6.文章列表基于集成网络的离线到在线强化学习 强化学习有两种基础的训练范式:在线强化学习和离线强化学习。在线强化学习需要让智能体和环境进行交互,利用收集到的数据同步京东零售推荐系统可解释能力详解 本文将介绍可解释能力在京东零售推荐系统中的应用实践。主要内容包括以下几大部分:推荐系统可解释定义、系统架构、排序可解释https://archive.it168.com/user/%E9%99%B6%E7%84%B6
7.静5青年讲座回顾:麦络博士介绍低模型延迟的大规模深度学习推荐系统讲座的开始,麦络博士首先简单介绍了深度学习推荐系统(DLRS)的发展以及面临的挑战。DLRS 需要时刻进行大规模的模型参数更新,降低模型参数更新的延迟对于提升 DLRS 的效率至关重要。当前,深度学习推荐系统在各种互联网服务上被广泛应用,系统时刻作用于数十亿的在线用户,任何微小的表现提升都能带来显著的收益。多项 SOLs(服https://cfcs.pku.edu.cn/news/240785.htm
8.《深度学习推荐系统》(王喆)简介书评在线阅读当当网图书频道在线销售正版《深度学习推荐系统》,作者:王喆,出版社:电子工业出版社。最新《深度学习推荐系统》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《深度学习推荐系统》,就上当当网。http://product.dangdang.com/28522361.html
9.深度学习推荐系统(豆瓣)深度学习在推荐系统领域掀起了一场技术革命,本书从深度学习推荐模型、Embedding技术、推荐系统工程实现、模型评估体系、业界前沿实践等几个方面介绍了这场技术革命中的主流技术要点。 《深度学习推荐系统》既适合推荐系统、计算广告和搜索领域的从业者阅读,也适合人工智能相关专业的本 科生、研究生、博士生阅读,帮助他们建https://book.douban.com/subject/35013197/
10.构建基于深度学习的电影推荐系统经管之家是国内活跃的在线教育咨询平台! 经管之家新媒体交易平台 提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】 构建基于深度学习的电影推荐系统 随着网络技术的不断发展和电子商务规模的不断扩大,商品的数量和种类迅速增https://bbs.pinggu.org/jg/kaoyankaobo_kaoyan_9371741_1.html
11.《深度学习推荐系统(全彩)(博文视点出品)(ChatGPT背后核心技术京东JD.COM图书频道为您提供《深度学习推荐系统(全彩)(博文视点出品)(ChatGPT背后核心技术)》在线选购,本书作者:,出版社:电子工业出版社。买图书,到京东。网购图书,享受最低优惠折扣!https://item.jd.com/12630209.html
12.资源帖丨字节跳动技术Leader们推荐的学习资源《深度学习推荐系统》 作者:王喆 William认为,这本书可以帮助读者了解业界推荐系统的基础知识体系,梳理推荐算法的发展脉络。 《推荐系统实践》 作者:项亮 推荐系统入门必备,非常适合初学者。 计算机视觉 图像算法方向的Leader吴辛隆说,团队同学主要靠学习CV论文来提升自己的技术能力。除了历年顶会的论文之外,他也推荐了业https://maimai.cn/article/detail?fid=1589935106&efid=ROE93ZNmM8sYE6S4rjpy5w
13.在线学习App排行榜OPPO手机在线学习app推荐OPPO手机在线学习App排行榜由点点数据提供。本次排行榜包含了:腾讯视频、高教在线、去哪儿旅行(旅行比价助手)、安居客(海量好房源)、淘宝、美团外卖、优酷*找二手房新房租房,买房产查房价卖房租售商铺写字楼的专业房产应用 *业界强大的二手房新房租房推荐系统,用大数据猜你喜欢的房子 *新房上线VR售楼处,足不出https://www.diandian.com/phb/1335/5-1.html