想你所想:推荐系统团队建议获胜策略

在应对重大行业挑战方面拥有大量成功经验的NVIDIA 专家分享了打造出色推荐系统的制胜诀窍
作者 Rick Merritt

“三连胜”之战已经到了最后的冲刺关头。

在截止时间前五分钟,这支团队提交了竞赛作品,这是今年第三次也是难度最高的一次推荐系统数据科学竞赛。它叫做 RecSys,是计算机科学一个相对较新的分支,它催生了机器学习领域常用的应用程序之一,这一程序帮助数百万人找到他们想看、想买和想玩的内容。

该团队共使用了六个 AI 模型,达到了比赛规定的 20 千兆字节上限,所有这些模型都是根据他们研究 7.5 亿个数据点的经验精挑细选出来的。这次比赛有一项不同寻常的规则,要求模型必须基于一个云端 CPU 的单一内核运行,并且运行时间不能超过 24 小时。

他们按下了提交按钮,静静等待。

23 小时 40 分钟后,一封电子邮件送来捷报:他们位列榜首。

紧扣截止时间

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

 “这封电子邮件的到来可以说是紧扣截止时间 – 如果再晚 20 分钟,我们就超出 24 小时的运行时间了,”Chris Deotte 说道,他是参赛小组的成员之一,也是被视为线上数据科学界的奥林匹克的卡格尔比赛的大师级人物。

 “我们当时真的很紧张,”Benedikt Schifferer 说,他是帮助设计NVIDIA Merlin框架的团队成员之一,该框架可以帮助用户快速建立自己的推荐系统。

GPU 本可以在很短的时间内完成推理工作。这支团队中常驻巴西的卡格尔比赛大师 Gilberto Titericz 表示,让推理工作去适应 CPU 核心“就好像回到了远古时代”。

事实上,比赛一结束,该团队就展示了在CPU核心上花费近24小时的推理工作,在单个NVIDIA A100 Tensor Core GPU上运行只需7分钟。

在每天 4 千万个数据点中找出推荐项

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

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

这个学科领域真的很难,但也非常实用。推荐系统为我们的数字经济提供发展动力,通过比传统搜索更快、更智能的方式提供建议。

行业挑战赛有助于推动这一领域的发展,让每个人都能从中受益,不论他们是在为配偶寻找完美的礼物,还是尝试在网上寻找一位老朋友。

五个月三连胜

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

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

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

由于这场比赛与 ACM RecSys挑战赛的时间重叠,NVIDIA 团队不得不兵分两路,各有侧重地参与不同的比赛。一些团队成员在此压力下正埋头为 ACM RecSys 会议撰写论文。

 快攻艺术

其中一只NVIDIA团队共包含五名成员,分别身处巴西、加拿大、法国和美国在每个排行榜中这只团队均排名第一或第二。能取得这样出色的整体表现,主要有两个因素。其一,他们在 Transformer 模型上下了很大功夫,这些模型是为自然语言处理开发的,并越来越多地被 RecSys所采用。其二,他们深谙轮班工作的工作方法。“在一名成员将要入睡时,另一名身处不同时区的成员就可以接手工作,”Merlin 团队负责人 Even Oldridge 说。

 “在一切顺利时,这种做法非常有效,我很惊讶我们在过去一年中取得的成就,这不但培养了我们的内部知识,也树立了我们在 RecSys 社区中的地位,让我们能够在 5 个月内赢得三场重要比赛。”

尊重用户隐私

这项比赛要求模型在对用户没有任何背景了解的情况下对用户进行预测,参赛者对于用户的所知仅限于其当前浏览会话。

位于圣保罗的领导 NVIDIA SIGIR 团队的 Merlin 资深研究员 Gabriel Moreira表示:“这是一项重要的任务,因为有时用户希望匿名浏览,并且一些隐私法限制了对于用户历史信息的访问。”

这场比赛标志着该团队首次在挑战赛的关键部分只使用 Transformer 模型。Moreira 的团队致力于让每一位 Merlin 客户更轻松地获享庞大的神经网络。

从三连胜到四连胜

6 月 30 日,NVIDIA在 RecSys 挑战赛取得四连胜。行业基准组织 MLPerf 宣布,NVIDIA及 其合作伙伴在其所有最新训练基准测试中均创下新纪录,其中包括一个有关推荐系统的基准测试。

参赛团队描述了他们取得的成果——即在不到一分钟内训练基于 14 个NVIDIA DGX系统的推荐系统,与一年前提交的成果相比,速度加快了 3.3 倍。

分享经验心得

这些竞赛激发了新技术的创意,这些新技术被纳入像 Merlin 这样的 RecSys 框架,以及NVIDIA 深度学习培训中心所拥有的相关工具、论文和在线课程。以达到最终目标:帮助每个人取得成功。

在采访中,NVIDIA 的 RecSys 专家自由地分享了他们的技术诀窍 – 一半是艺术,一半是科学。

关于如何打造出色 RecSys 的专业小贴士

一种最佳实践是使用多种模型,并使其协同工作。

在 ACM RecSys 挑战赛中,团队同时使用了树状和神经网络模型。一个阶段的输出成为了下一个阶段的输入,这一过程称为推叠。

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

在线结识 Recsys 专家

7 月 29 日,可以在线结识来自 Facebook、NVIDIA 和 TensorFlow 的RecSys 专家,进一步了解如何创建出色的推荐系统。