范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

攻坚搜广推算力瓶颈,解读GPU优化最佳实践

  作者 |  ZeR0
  编辑 |  漠影
  推荐系统正变得越来越懂你。从刷短视频刷到停不下来,到新闻页面满屏都是你关心的资讯,再到各种社交平台和购物平台化身精准"种草"机,直切你的兴趣偏好……一条条你可能感兴趣的优质内容,正被推荐系统源源不断地过滤筛选,然后通过互联网送到你的眼前。
  基于深度学习的推荐系统堪比"读心术",它能够在短时间内带给用户大量的愉悦感和满足感,提高内容创作者、商家的转化率,并带给平台越来越强的用户黏性和更大的商业回报。
  作为各大主流平台留客增收的一大"顶梁柱",推荐系统的规模正越变越大,难题也随之而来——传统CPU计算资源吃紧,CPU资源利用率的提升已经逼近极限 。
  当底层硬件基础设施的瓶颈,愈发掣肘推荐系统训练和部署的速度,国内某拥有上亿规模用户的互联网头部企业机器学习团队决定将支撑搜广推场景的算力资源从CPU大规模升级至NVIDIA GPU。基于这一思路,其已上线业务的训练性价比实现了2~6倍 的提升。
  具体是怎么做到的?近日,NVIDIA加速计算专家团队技术负责人Gems Guo接受芯东西专访,解读了背后的技术秘籍。
  01 .
  推荐模型参数大爆炸,CPU计算扛不动了
  对于用户规模上亿的互联网综合平台,每天都要支撑几十亿的检索流量,需要更强大的推荐/广告/搜索模型,来更懂每一位用户的兴趣偏好。
  在这一过程中,深度学习算法扮演了关键角色。从2016年谷歌发表了基于Embedding + MLP的网络结构的Wide & Deep模型和YouTube深度学习推荐模型起,深度学习就开始接过搜广推场景的推荐算法大旗,通过累计分析用户行为,映射成兴趣体系,日积月累形成用户的长期兴趣画像,进而提供更贴心的优质服务。
  Wide & Deep模型论文链接:
  https://arxiv.org/abs/1606.07792
  推荐算法利用了人性普遍存在的社会相似性,即默认你感兴趣的具备趋同性。例如,如果你下单了A商家的化妆品,那你大概率也会考虑B商家的化妆品,如果你和另一位用户喜好相似,那么他爱看爱买的东西,你很可能也会有兴趣。学习的优质数据越多,训练出的算法也变得更加准确。
  互联网飞速发展带动数据量的爆炸式增长,要训练的数据越来越多,深度学习推荐模型的参数规模不断变大。两年前,Instagram训练的推荐模型参数规模已经高达10TB。
  如果用传统方法训练和调优这些庞大的模型,动辄花费几个月的时间。
  为此,算法工程师们通过在深度学习框架上采用分布式训练,将数据或模型拆分到多个处理器上分别做运算,再将结果合并得出最终的完整模型,从而大大压缩模型训练时间。
  起初互联网团队们通过优化TensorFlow PS-Worker分布式训练框架,将CPU使用率提高到90%以上。但随着模型更加复杂,对训练框架进行更深入的优化变得举步维艰。扩展更多的CPU资源成本较高,且CPU异步训练导致收敛性和稳定性变差,可能会影响算法效果和稳定性,致使计算、存储、网络面临全新挑战。
  为了扫除影响效率的阻碍,机器学习团队决定对算力基础设施进行一场"釜底抽薪"的升级。
  02 .
  搞定大规模稀疏特征,怎么做到?
  NVIDIA GPU在计算密集型任务方面具有得天独厚的优势,推荐模型中矩阵计算占比提升,使NVIDIA GPU成为更好的加速选择,能够实现远高于CPU的训练速度。
  而要释放GPU的高吞吐量,优化嵌入层是关键。
  嵌入(Embeddings) 是深度学习推荐系统中影响模型精度的关键模块,通常位于输入层之后、"特征交互"和全连接层之前。它将每个感兴趣的对象(用户、产品、类别等)表示为数字向量。
  嵌入层的特点是大而稀疏,拥有庞大的参数量,但查找和更新所需要的计算量很小。比如谷歌Wide & Deep模型的全连接层只有几百万个参数,而其嵌入层可以有数十亿个参数。这与其他深度学习模型形成了鲜明对比,以经典自然语言处理模型BERT为例,BERT的嵌入层只有数百万个参数,其密集的前馈网络和注意力机制层则由数亿个参数组成。
  比如某业务场景的推荐模型是一种深度兴趣进化网络(DIEN)模型,嵌入层参数规模高达数百亿,每个样本中有数千个特征字段。由于输入特征的范围事先未知且不固定,团队使用哈希表在输入嵌入层之前唯一地标识每个输入特征。
  在训练嵌入层的过程中,嵌入表的查找和更新和GPU通信非常耗时,会面临大小 和访问速度 两大挑战。
  在推荐/广告/搜索场景,用户和内容高频变化,致使训练出的模型生命周期短,具有大规模稀疏特征。随着在线平台的用户数、产品数上涨,嵌入表的大小也不断增加,数百GB到TB级不胜枚举,需占用大量存储资源,同时也会造成很大的通信开销。
  CPU主存储器具有高容量,但带宽有限,高端型号通常在几十GB/s的范围内。GPU则内存容量有限,但带宽很高,像NVIDIA A100 GPU的缓存也就80GB,却能提供高达2TB/s的内存带宽。
  GPU内存不够支撑大规模的嵌入表,怎么办?
  一个可行办法是将整个嵌入表保留在主存上,但这会导致极低的吞吐量,使系统无法及时重新训练。另一个办法是将嵌入分散在多个GPU和多个节点上,这又会受通信瓶颈的限制。
  为此,技术团队决定将HugeCTR TensorFlow插件 集成到了基于A100 GPU的训练系统中。
  使用完全一样的模型结构、优化器和数据加载器,在单个A100 GPU上,HugeCTR TensorFlow插件实现了比原始TensorFlow嵌入11.5倍 的加速。在弱缩放情况下,8x A100 GPUs上的迭代时间仅略增至1x A100 GPU的1.17倍 。
  ▲NVIDIA DGX A100 80GB上的HugeCTR TensorFlow嵌入插件性能
  "一台配备8x A100 GPUs的单机训练任务可以替代几千核CPU的分布式训练任务。成本也大大降低。这是初步的优化结果,未来仍有很大的优化空间。"团队负责人说。
  在他看来,A100+HugeCTR的软硬一体化设计给搜广推场景的模型训练效率带来了质的飞跃。基于此,该项目在纯GPU显存模式下能轻松支撑100GB模型;如果加上异构的参数存储,支持TB级模型也有余力。
  最终在训练系统方面,以前需要几千核CPU训练的任务,现在用1台NVIDIA HGX A100服务器就能完成;在推理方面,借助NVIDIA A30服务器及多种优化模型,系统可以支撑算力复杂度10倍的模型上线。
  03 .
  详解开源利器Merlin HugeCTR,
  让推荐系统的训练推理快起来!
  HugeCTR,是NVIDIA为优化大规模推荐系统量身定制的一个端到端训练框架,也是GPU加速的推荐系统框架NVIDIA Merlin的核心组件。
  HugeCTR能够充分利用GPU资源,加快包括数据预处理、训练、推理的推荐系统开发所有阶段。在此前的权威AI基准测试MLPerf中,HugeCTR将DLRM推荐模型的性能拔高到其他框架的大约8倍 。
  ▲MLPerf测试结果对比
  针对嵌入表过大、显存不足、通信瓶颈三大训练挑战,HugeCTR用6招制敌:
  (1)GPU加速哈希表: HugeCTR实现了自己的嵌入层,其中包括GPU加速哈希表、以节省内存的方式实现的高效稀疏优化器、各种嵌入层分布式策略等。哈希表实现基于GPU数据科学与分析套件RAPIDS cuDF,能实现比CPU实现高达35倍的加速。
  (2)模型并行性: 考虑到可扩展性,HugeCTR默认支持嵌入层的模型并行性。嵌入表分布在多个可用的GPU和节点上,解决显存有限的问题,同时提高查表效率。全连接层采用数据并行。
  ▲HugeCTR中的嵌入层并行性
  (3)先进网络技术: HugeCTR利用NVIDIA集合通信库(NCCL)作为其内部GPU通信原语,并结合NVLink、RDMA等NVIDIA先进互连技术,来优化节点内、节点间、多GPU之间的高速通信。
  (4)混合精度训练: HugeCTR能够发挥NVIDIA Tensor Cores的计算优势,用FP16半精度计算代替FP32单精度做加速矩阵乘法,在不牺牲模型准确性的前提下,提高训练速度,减少占用的存储资源。
  (5)CUDA Kernel融合: HugeCTR将池化与全连接操作合并到一个CUDA Kernel进行,通过减少与存储单元频繁交互,缓解内存带宽压力。
  (6)CUDA Graph: HugeCTR在计算过程中会启动多个CUDA Kernel,CUDA Graph通过异步方式,能够隐去不同CUDA Kernel启动之间出现的不必要开销,降低整体延迟。
  ▲HugeCTR以及两款 Tensorflow libraries是NVIDIA Merlin的训练"主心骨"
  推荐系统的推理则对高效部署、低延迟提出更高要求,针对这些挑战,HugeCTR通过使用参数服务器(HPS)和嵌入多个模型实例之间共享的缓存,在多个GPU上提供并发模型推理执行。
  HugeCTR首创了带GPU缓存的参数服务器,通过使用集群中的存储资源来扩展GPU内存,实现嵌入表分级存储,这样就能综合利用不同存储介质的特性,并对CUDA Kernel、显存等进行优化,从而提高整体访问效率,最终实现推理加速。
  NVIDIA还提供有HugeCTR to ONNX转换器,这是一个Python包,可将HugeCTR模型自动转换成AI模型的开源格式ONNX。借助这个工具,用户便能够使用不同框架来训练推荐模型。
  Merlin 对于 Tensorflow的用户还提供了开箱即用的 library – Sparse Operation Kit 给TF1 用户,Distributed Embedding给TF2用户,来帮助用户用简单几行代码实现在多个GPU间通过模型并行的方式使用嵌入表,这些功能进一步提高易用性和通用性,对于TensorFlow上运行的大多数推荐模型,仅更改少数代码即可实现计算加速。
  因此,即便研发能力不像案例中这么强大的中小企业,也能利用Merlin的 TF libraries实现更低成本的基于GPU训练大规模推荐模型。
  NVIDIA加速计算专家团队技术负责人Gems Guo告诉芯东西,在该项目中积累的经验,将融入Merlin HugeCTR的后续迭代中。
  不同企业面临的实际业务需求不同,对推荐系统基础设施的设计会存在差异化。团队负责人认为,NVIDIA提供的端到端推荐系统解决方案,从性能及搭建基础模型的能力上,足以满足大多数企业的基本需求。
  GitHub链接:
  https://github.com/NVIDIA-Merlin/HugeCTR
  04 .
  结语:充分挖掘GPU优势
  大降推荐系统训练成本
  随着推荐算法日益成熟,互联网企业已经逐渐淘汰低效的大众营销策略,转而向每一位用户提供精准推荐和个性化服务,为他们高效筛选出感兴趣的信息。
  大量企业实践证明,有效的推荐系统能够转化成显著的营收增长,带给企业巨大的商业价值。如今,推荐系统已经成为许多互联网巨头核心业务背后的一大关键优势。
  迈向更复杂的推荐系统,硬件资源利用率已是掣肘算法迭代优化的主要因素,在互联网平台的推荐系统实践中,我们看到借助Merlin HugeCTR,1台A100 GPU训练系统比几千核的分布式CPU训练系统更能打,切实做到了大降训练成本。

再看亮剑李家坡之战,一次高难度的山地攻坚战哈喽,这里是小逗说剧,日常分享影视,期待您的关注,与您一起讨论精彩影视内容!让我们回到亮剑的第3,4集,山崎大队偏离路线,闯入我八路军根据地,发现我军战地医院以及兵工厂位置,并进行乾隆仅剩6位皇子,还将两儿子过继大臣,是老年昏庸还是另有深意乾隆皇帝可谓是中国人最熟悉的清朝皇帝,甚至是最熟悉的中国古代的皇帝之一。还珠格格中他处处留情,有了明珠格格夏紫薇,这似乎说明乾隆皇帝的子嗣很多。但事实上,与常人相比,他的子嗣确实不廉让之间浙南百年老宅纪事搞了近三十年不温不火的旅游,河阳这座浙南婺派建筑集群古村落,最终也没有赶上旅游致富的列车。村子在管委会的操作下,变化是显著,一切都在往好的方向发展,只是这个故乡,逐渐的变得熟悉而又新华全媒丨广西昭平古镇老街再现烟火气走在黄姚古镇,脚下的青石板路已被磨得发亮,路两旁,未经过多修饰的青石砖房静静伫立。立冬过后,虽非旅游旺季,街巷间依旧不时有游客驻足拍摄,不必刻意取景,便可留下一幅颇有质感的古镇剪影向秋天告别作者高巍霜降是秋天里的最后一个节气,意味着这个季节的结束。这天我来到翠石园,想着在此来向秋天做个告别。近几年,每年秋天我都会来翠石园,借此感受京都秋日的五彩缤纷,也算是与秋天的告别神农架神秘野人之谜1915年,神农架边缘地带的防线有个叫王老湿的人,他以打猎为生,一一次王老湿进山打猎,中午吃过干粮,抱着猎枪在一棵大树下休息,不一会儿就迷迷糊糊的睡着了。朦胧中,他听到一声怪叫,睁一味健脾消积,又破坚散结的中药材,你知道吗?今天,给大家说一味健脾消积,又破坚散结的中药材鸡内金鸡内金,就是鸡胃里的一层薄膜,洗净晒干后,可入药治病。由于其颜色金黄,药用价值高,故得名鸡内金。鸡内金有什么作用呢?1健胃消食家脾胃是后天之本,增强体质的两个养生方法一个人身体状况怎么样,往往是由体质决定的。体质分为先天和后天。先天的我们没有办法改变,后天的体质,通过科学的饮食和良好的生活习惯,是可以改变的。改善体质最主要的是调理脾胃,黄帝内经米切尔157,乐福三分爆发!库里153被迫下场,勇士奇兵力挽狂澜北京时间11月12日勇士主场对阵骑士,全场比赛结束勇士以4852落后于骑士。勇士在本赛季的状态非常糟糕,上场比赛勇士才险胜国王,所以对阵上东部豪强骑士勇士想赢球不是一件轻松的事情,作家夏洐捧杨绛,我捧杨绛的父亲杨荫杭提起杨绛大家都知道,她被自己的丈夫钱钟书评为最贤的妻,最才的女!著名作家夏洐也说过你们捧钱钟书,我捧杨绛。但我想说你捧杨绛,我捧杨荫杭。为什么这么说,因为杨绛先生的成就离不开他父亲朱元璋下令受贿60两斩立决,那明朝60两银子,相当于现在多少钱细数中国历史上这么多皇帝,要说对贪官污吏最为痛恨的,当属朱元璋了。这和他本人的成长经历也是不无关系,他是典型的草根皇帝。元末那会,民不聊生,朱元璋家里也是家徒四壁。1343年,朱元
冬季如何保护前列腺炎?冬天的温度很低,前列腺很容易受到寒风的影响而诱发前列腺炎。因此,在冬天的季节里,男性朋友们一定要做好前列腺炎的预防工作,这样才能够减少前列腺炎的发生概率。01hr为什么冬季更容易引人老了,不要在以下这3件事情上面折腾,以防儿女不孝导语人老了,到了生命中的多事之秋,随着年龄的增长,老年人的体力和精力都开始走下坡路。在这样的情形之下,老年人一定要保持乐观的心态,坚持有规律的生活,方能延缓衰老的进程,愉悦地安享晚这些地方长黄褐斑代表什么?长斑的位置,与我们身体五脏六腑的反射,是有一定关联的。比如,黄褐斑长在太阳穴这个位置,还有额头的两侧,是我们胆经的反射区,胆出现了问题,也会连累肝,大多提示肝胆功能失调,除了色斑,被针对了吗?NBA的裁判究竟是啥水平!最近两场比赛,湖人均以微弱分差告负。小哈达威击掌特洛伊布朗,伍德架肘詹姆斯,恩比德握手威少,NBA的裁判为何关键时刻频频失声!北京时间1。13日湖人主场双加时不敌独行侠的比赛,常规经常做美甲,对身体有什么危害?揭秘点击头像关注六层楼医生,学习更多健康知识和两性交往知识哦图片黄仔撰稿六魔镜责编铃兰原创文章,未经许可,请勿转载商务合作敬请联系business6team163。comHello,大1819世纪,伊朗的游牧部落社会是怎样的?有什么特征?作为亚欧大陆的重要通道,伊朗自古以来就是众多游牧民族迁徙交汇的必经之地。突厥人蒙古人土库曼人曾先后统治伊朗。这些游牧部落在统治伊朗的同时,既保留了部落自治传统,又逐渐被伊朗的文官文山西省人民代表大会常务委员会任命名单山西省人民代表大会常务委员会任命名单(2023年1月17日山西省第十四届人民代表大会常务委员会第一次会议通过)决定任命李秋柱为山西省政府秘书长王利波为山西省发展和改革委员会主任马骏要截中国订单,俄方管的有点宽了,中国的生意,中国想给谁给谁俄罗斯向中亚国家开霸王条款,要求放弃对华出口天然气的权利,由俄罗斯接手。不得不说,俄方这个提议心眼不少,但中亚国家心里也明镜似的。这个要求,不论是中亚还是中国,都不可能答应。俄总统日本印象一勤天下无难事一勤天下无难事俗话说一个懒妈妈能培养出勤快的女儿。而一个勤快的妈妈会造就一个懒女儿。我也不知道自己属于懒惰还是勤快。我把孩子当做独立的人,有意识的去培养孩子的自理自立能力。世界上的子屹打败奕辰成为第一爆款,2022年杭州新生儿爆款名字公布近日,杭州市公安局公布了2022年杭州新生儿爆款名字!看看杭州爸妈都爱取哪些名字!有和你家宝宝重名的吗?2022年新生男宝使用最多的10个名字基于2022年落户新生男宝的数据,最热青岛四胞胎第一次与父母见面!取名寓意琴棋书画记者台雪超杨雪1月11日,29岁的初产妇王蕊顺利诞下一龙三凤四胞胎。17日,在青大附院新生儿重症监护室内,王蕊和丈夫第一次见到了宝宝,将宝宝抱在怀里时,这对新父母既紧张又激动。王蕊