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.深度学习平台(SINGA)4.高性能:SINGA采用C++作为核心开发语言,并结合Python、C、CUDA等语言,以实现高效的跨平台运行能力。它利用GPU加速器优化深度学习运算,提升训练速度,同时其内存优化机制也有助于提高训练效率。 5.模型动物园:在Github和Google Colab上的SINGA仓库中提供了各种特定领域的深度学习模型,如医疗保健和科学等领域的模型,方便https://blog.csdn.net/weixin_43156294/article/details/144281329
2.深度学习—智慧树网深度学习(Deep learning,DL)是人工智能、机器学习研究中的一个非常有潜力的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人类大脑的机制来解释数据,例如图像、声音和文本。由于深度学习模型能够在大规模训练数据上取得更好的效果,因此在人工智能、机器学习领域中有着良好的应用前景。深度学习已经成功攻克了http://coursehome.zhihuishu.com/courseHome/1000013900/127200/
3.飞桨PaddlePaddle深度学习一般分为训练和推理两个部分,训练是神经网络“学习”的过程,主要关注如何搜索和求解模型参数,发现训练数据中的规律,生成模型。有了训练好的模型,就要在线上环境中应用模型,实现对未知数据做出推理,这个过程在AI领域叫做推理部署。用户可以选择如下四种部署应用方式之一: https://www.paddlepaddle.org.cn/tutorials/projectdetail/1550309
4.微博深度学习平台架构和实践微博深度学习平台架构和实践 随着人工神经网络算法的成熟、GPU计算能力的提升,深度学习在众多领域都取得了重大突破。本文介绍了微博引入深度学习和搭建深度学习平台的经验,特别是机器学习工作流、控制中心、深度学习模型训练集群、模型在线预测服务等核心部分的设计、架构经验。https://www.51cto.com/article/553994.html
5.金电联行Ark(方舟)平台深度学习模型训练软件免费在线试用金电联行-Ark(方舟)平台深度学习模型训练软件页面为您介绍金电联行-Ark(方舟)平台功能介绍以及产品定价、行业案例、文章点评等相关信息,便于您更快速的了解金电联行-Ark(方舟)平台深度学习模型训练软件。https://www.36dianping.com/space/5875360113
6.LintCode深度学习 算法 一次遍历 大数据 lambda函数 Library Access modifiers python System Settings optimal Linux | File System, 文件系统 暴力解法 Pandas 小顶堆 Data standardization AI | Data Processing, 数据处理 AI | Machine Learning, 机器学习 AI | Deep Learning, 深度学习 System swift Thread Mode 最短SQLhttps://www.lintcode.com/tag/
7.2020年最值得收藏的60个AI开源工具语言&开发李冬梅SiamMask 是一款实时在线目标跟踪与目标分割统一框架。技术简单、通用、快速高效。它可以对目标实时跟踪。此款库还包含预训练模型。 项目地址:https://github.com/foolwood/SiamMask DeepCamera 世界首个自动机器学习深度学习边缘 AI 平台 ARM GPU 上的深度学习视频处理监控,用于人脸识别以及更多方法。将数码相机变成人工https://www.infoq.cn/article/2uabiqaxicqifhqikeqw
8.度小满自动机器学习平台实践标注平台主要为 AI 算法的训练提供标注数据,自从深度学习诞生以来,模型已经具有了很高的复杂度,AI 算法效果的瓶颈从模型设计上转移到了数据质量和数量上,所以数据的高效生产是在 AI 算法落地中至关重要的环节。 ATLAS 的数据标注平台主要有两方面的能力特性:多场景覆盖和智能标注。 http://528045.com/article/4dad678f6d.html
9.关于发布可解释可通用的下一代人工智能方法重大研究计划2022通过规则与学习结合的方式,建立高精度、可解释、可通用且不依赖大量标注数据的人工智能新方法。开发下一代人工智能方法需要的数据库和模型训练平台,完善下一代人工智能方法驱动的基础设施。 (三)面向科学领域的下一代人工智能方法的应用 发展新物理模型和算法,建设开源科学数据库、知识库、物理模型库和算法库,推动人工https://www.ncsti.gov.cn/kcfw/xmsb/202205/t20220518_79110.html
10.cubestudio开源云原生一站式机器学习/深度学习/大模型AI平台cube studio开源云原生一站式机器学习/深度学习/大模型AI平台,支持sso登录,多租户,大数据平台对接,notebook在线开发,拖拉拽任务流pipeline编排,多机多卡分布式训练,超参搜索,推理服务VGPU,边缘计算,serverless,标注平台,自动化标注,数据集管理,大模型微调,vlhttps://github.com/HutCat/cube-studio
11.基于深度学习的个性化在线学习资源推荐研究基于深度学习的个性化在线学习资源推荐研究,在线学习,学习资源,个性化推荐,深度学习,深度神经网络,随着新兴计算机技术快速崛起和在线学习平台数量的增多,学习资源形式也越来越多样化,同时也造成教育资源规模呈指数式增长,导致学习https://wap.cnki.net/lunwen-1019952816.html
12.在线深度学习平台在线深度学习训练平台华为云为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:在线深度学习平台。https://www.huaweicloud.com/theme/1082406-4-Z-undefined
13.LLM:预训练+指令微调+对齐+融合多模态+链接外部系统为了进一步提高LLM在未见任务上的指令泛化能力,即Zero-Shot能力,需要在自然语言众包指令数据上微调预训练模型,参考论文FLAN 。微调数据集来自于通用的NLP基准集,通过指令模板改造输入输出的格式得到CoT和非CoT任务的指令数据集,见下图。微调后可以显著提高在各种模型类(PaLM、T5、U-PaLM)、各种学习样例设置(Zero-Shot、https://www.shangyexinzhi.com/article/10160427.html
14.深度学习计算机视觉实战畅想中心数据平台在线试读 下载 注:如果您的电脑尚未安装PC客户端,请先 安装客户端 后再下载阅读!手机扫描阅读此书 支持(Android/Iphone) 简介 目录 评论 简介 本书内容可分为四个部分。第一部分包括第1-2章,主要讲解深度学习和计算机视觉基础;第二部分包括第3-6章,主要讲解图像处理知识;第三部分包括第7-11章,主要讲解计算机https://www.cxstar.com/Book/Detail?ruid=2a4ec7b2000111XXXX&packageruid=25f8e7ac012727XXXX
15.学堂在线学堂在线是清华大学于2013年10月发起建立的慕课平台,是教育部在线教育研究中心的研究交流和成果应用平台,是国家2016年首批双创示范基地项目,是中国高等教育学会产教融合研究分会副秘书长单位,也是联合国教科文组织(UNESCO)国际工程教育中心(ICEE)的在线教育平台。目https://www.xuetangx.com/?channel=i.area.navigation_bar
16.三维一体教育平台—三人行,必有我师学校教育、家庭协助、社会关注,最大限度共享教育资源;在线考试,试题上传,海量试题搜索;试题库拥有丰富的试题;是一个全国各种学历考试,资格认证考试的全真在线模拟考试网站,提供自动阅卷评分以及试题解析等多功能服务,是各类考生考前辅导学习的练兵必备工具https://www.ch3dedu.com/wiki/search.jsp?ct=FB15144199320FA8CE71ECBE824E261E
17.科学网—[转载]群视角下的多智能体强化学习方法综述该类问题的相关研究是将单智能体的深度强化学习算法应用在多智能体系统中,分析是否能在动态环境中涌现出新的行为。Zheng等人[10]设计了面向满足超多智能体群体智能分析的MAgent平台。Tampuu等人[15]在乒乓球竞争环境中,使用独立的DQN算法,查看两个智能体能否学会比赛动作。事实证明,原来独立的算法也可以在零和游戏的https://blog.sciencenet.cn/home.php?mod=space&uid=3472670&do=blog&id=1422698
18.算法服务平台算法模型服务平台是一个面向企业用户的数字化服务平台,旨在为用户提供高效、先进的算法模型。它以数据为核心,利用机器学习、深度学习等前沿技术,为用户提供行业定制化的算法模型解决方案。 应用场景 用户情感分析 使用情感分析模型,对文本进行情感分析,用于市场调研,客户服务和社交媒体监测。 https://wakedata.com/wakeAI.html
19.新国人,中小学生在线学习平台新国人专注K12教育20年,积累了丰富的教学经验和名师专家资源、视频课程资源,结合教育大数据分析、人工智能核心技术,精心打造新国人在线学习平台,为全国中小学生提供学习问题诊断,制定个性化教育解决方案服务.http://www.xinguoren.cn/