RecSys挑战赛三连胜 NVIDIA 团队决胜利器是什么?

近日,ACM(国际计算机学会)主办的推荐系统专场( ACM Recsys)中,参赛的NVIDIA 团队赢得了冠军,如果加上前段时间Booking.com挑战赛 和SIGIR 电子商务数据挑战赛中赢得的冠军,NVIDIA 已经是三连胜了。

在ACM Recsys比赛中,NVIDIA团队展示了原本需要在CPU核心上花费近24小时的推理工作,在单个NVIDIA A100 Tensor Core GPU上运行只需7分钟。

这些竞赛成果将被纳入像 Merlin 这样的 RecSys 框架,帮助数据科学家、机器学习工程师和研究人员能够大规模地建立高性能的推荐系统。

“推荐系统”的引入给人们带来了更多的参与感,同时也带来了更多的流量与收益。NVIDIA让推荐系统更快,更易用,其性能改善给更多客户带来更大的商业价值。

ACM(国际计算机学会)主办的推荐系统专场(Recsys)是推荐系统圈子的顶级会议,从 2007 年开始,至今已经十年。

RecSys,是计算机科学一个相对较新的分支,它催生了机器学习领域常用的应用程序之一,不论你是网上购物、网上看视频看电影,或者找资料查新闻,推荐系统一直在帮助人们筛选过滤信息。它依据一定的算法,辨别出你的喜好,然后推荐你所感兴趣的内容。

换句话说,随着接触到的信息量越来越大,推荐系统可以帮助大家解决信息过载的问题。

ACM 的推荐系统专场这十年汇集了全球顶级的 Resyser,他们把各自在工作中、研究中碰到的问题,得到的经验毫无保留分享出来,今年是难度最高的一次推荐系统数据科学竞赛。

换个方式:24小时的推理工作 7分钟可以完成

在这次的比赛中,Twitter 在 28 天内每天向参与者提供数百万个数据点,并要求他们预测用户会点赞或转推哪些推文。这是针对 RecSys 的技术会议发起的行业实力挑战,来自Facebook、Google、Spotify 等公司的优秀工程师都参加了这次挑战。

其中,NVIDIA团队共使用了六个 AI 模型,达到了比赛规定的 20 千兆字节上限,所有这些模型都是根据他们研究的 7.5 亿个数据点的经验精挑细选出来的。

不过这次比赛有一项不同寻常的规则,就是要求模型必须基于一个云端 CPU 的单一内核运行,并且运行时间不能超过 24 小时。

23 小时 40 分钟后,一封电子邮件送来捷报:他们位列榜首。如果再晚 20 分钟,就超出 24 小时的运行时间了。

根据 6 月 28 日正式宣布的比赛结果,这支由七人组成的NVIDIA 参赛团队第二次赢得ACM RecSys 2021 挑战赛。

图注:RecSys 挑战团队的部分成员(从左上角开始,按顺时针次序依次为):Bo Liu、Benedikt Schifferer、Gilberto Titericz 和 Chris Deotte。

但在赛后,该团队认为GPU 完全可以在很短的时间内完成推理工作。于是他们又展示了本应在CPU核心上花费近24小时的推理工作,在单个NVIDIA A100 Tensor Core GPU上运行只需7分钟。

团队成员Benedikt Schifferer是帮助设计NVIDIA Merlin框架的团队成员之一,Merlin是一个基于GPU芯片的,面向推荐系统的端到端解决方案,客户可以通过该框架帮助用户快速建立自己的推荐系统。

Merlin 框架主要包含三个组件NVTabular、HugeCTR和Triton。NVTabular是用来解决推荐系统特征工程、数据前处理的问题,HugeCTR是CTR模型训练框架,而Triton则是推理服务器框架,这三个组件的优势分别是:

NVTabular:为特征工程、前处理提供了更快的迭代速度,同时利用异步批量加载的方法有效提高了GPU的利用率,提供更快的加载速率。
HugeCTR:在Embedding lookup上做了很多优化,可以轻易的通过数据和模型并行的方式将模型扩展到TB级别,在大规模参数的背景下,这给挖掘模型能力提供了更多的想象力。同时更快的训练速度也让算法工程师能够尝试更多的网络结构,挖掘最适合所研究问题的模型。
Triton:Triton本身是面向高吞吐低延时的生产环境的框架。

五个月 从三连胜到四连胜

今年早些时候,NVIDIA 团队在 Booking.com 挑战赛的 40 支参赛小组中拨得头筹。他们使用数百万个匿名数据点来准确的预测了欧洲度假者最终将选择前往的城市。

今年 6 月,另一项顶级 RecSys 大赛SIGIR 电子商务数据挑战赛设置了更高的门槛。

信息检索特别兴趣小组 SIGIR 的年度会议吸引了来自阿里巴巴和沃尔玛实验室的专家。其 2021 年挑战赛提供了 3700 万个在线购物会话的数据点,并要求参赛者预测用户会购买哪些产品。

由于这场比赛与 ACM RecSys挑战赛的时间重叠,NVIDIA 团队不得不兵分两路,各有侧重地参与不同的比赛。并在 Transformer 模型上下了很大功夫(这些模型是为自然语言处理开发的,并越来越多地被 RecSys所采用),最终协作赢得胜利。

当然,这样的比赛要求模型在对用户没有任何背景了解的情况下对用户进行预测,参赛者对于用户的所知仅限于其当前的浏览会话。最重要的是这场比赛该团队首次在挑战赛的关键部分只使用了 Transformer 模型。

6 月 30 日,NVIDIA在 RecSys 挑战赛取得四连胜。行业基准组织 MLPerf 宣布,NVIDIA及 其合作伙伴在其所有最新训练基准测试中均创下新纪录(更多内容请见:软硬协同战全场 英伟达再现即时AI实力),其中包括一个有关推荐系统的基准测试。

结束语:

从所有的这些竞赛来看,都是为了激发新技术的创意以及让更多的新技术应用开,这些新技术被纳入像 Merlin 这样的 RecSys 框架、深度学习学院所拥有的相关工具、论文和在线课程中。

“推荐系统”的引入给人们带来了更多的参与感,同时也带来了更多的流量与收益。而在推荐系统的应用中落地实践不是那么简单,中间需要跨过一定的鸿沟,毕竟路要一步一步走出来。

无疑,NVIDIA在硬件层面提供更强的算力,在软件算法和推理加速中也提供了更高的效率,同时通过自身的应用和实践输出更多经验,推进业务升级。

在比赛中,NVIDIA也总结出了一些经验,比如一种最佳实践是使用多种模型,并使其协同工作。在 ACM RecSys 挑战赛中,团队同时使用了树状和神经网络模型。一个阶段的输出成为了下一个阶段的输入,这一过程被称为推叠。

NVIDIA 卡格尔比赛大师团队的新成员 Bo Liu 表示:“单个模型可能会因为数据错误或收敛问题而出错,但如果把几个模型结合起来,那么力量就会无比强大。”

上一篇
下一篇