您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[NVIDIA]:推荐系统 :构建、部署和优化的最佳实践 - 发现报告
当前位置:首页/其他报告/报告详情/

推荐系统 :构建、部署和优化的最佳实践

2022-12-06-NVIDIA花***
推荐系统 :构建、部署和优化的最佳实践

推构最佳建实、践统部署:和优化的 执行摘要 我们根据对零售、媒体、电子商务等领域利用推荐系统(recsys)的知名企业的技术负责人的一系列访谈,编制了本报告。腾讯和《纽约时报》等均参与了这项研究工作。 本报告的目标受众包括目前正在构建或考虑为生产用例构建推荐系统的数据科学家和机器学习工程师。核心目标是通过提供该领域专家的实用见解以及阐明构建、部署和优化推荐系统的最佳实践,为开展更广泛的行业对话做出贡献。 >通过本研究确认的核心假设包括: 1.构建相关推荐系统是一个艰难的过程 2.整个行业对分享最有效的方法持开放态度,这对于该领域的发展至关重要 >因此,编制本报告旨在展示以下方面: 1.行业内推荐系统实践的趋势预览 2.推荐系统简史,介绍1979年到2009年期间,从学术试验到大规模商业成功的演进过程 3.专家访谈内容的精选摘录 4.对观察到的趋势进行总结,并指明未来的发展轨迹 5.深度访谈内容的精选摘录,探讨推荐系统实践的背景信息和细微差别 推荐系统的趋势预览 毫无疑问,开源不仅仅只是行业内推荐系统的一种选择,它已经成为入场筹码了。开源生态系统中工具的互操作性对于降低项目风险至关重要,在考虑项目的整个生命周期时尤为如此。 这种工具必须足够灵活,才能为试验和探索工作提供支持,同时还必须承认尚未出现的新技术。 另一个需要解决的就是数据问题。自从2000年代中期提出“大数据”概念以来,在机器学习方面有一个众所周知的事实,那就是拥有的数据越多,数据的质量越高,构建出的模型往往就越有效。当然,这个道理同样适用于推荐系统。我们不能仅仅依靠卓越的算法来生成模型,还必须拥有良好的训练数据、用于推理的良好客户数据、可靠的反馈以及用于评估指标的仪器等。将有效的数据准备工作放在首位很可能成为一项恒久不变的要求。此外,随着推荐系统的用例大获成功,数据速率将会提升。此外,还涉及从数据中学习的问题,因为需要对指标进行优化才能取得成功。这甚至有助于将数据科学人员重新培养为"指标工程师",以全面了解生产中的推荐系统。 >除了上述两个问题之外,这项研究还提出了其他一些要点: 1.对于那些刚刚开启推荐系统之旅者,专家们给出了几乎一致的建议:与其急于实施可能符合潮流趋势却复杂的机器学习模型,倒不如先从简单模型着手,想想自己真正需要的是什么。 2.必须了解生产中使用的指标并全面了解手头用例的目标函数,这一点至关重要。 3.尽管推荐系统过去被认为是单点解决方案,但它们正在深入地扩展到业务运营的方方面面。利润率历来微薄的垂直行业现正在使用推荐系统来发展其业务,同时提高客户的信任度和忠诚度。 4.推荐系统的许多生产用例都对快速推理有一定的要求,通常要求在100毫秒内完成推理。随着更先进的人工智能(AI)技术的出现,它们的运行速度是否足以适应这些限制?硬件加速成为推动因素。 5.与行业内推荐系统实践相关的热门话题包括使用特征存储库,利用图神经网络和模型蒸馏。 6.经验教训:为系统升级和不断增长的用例制定路线图规划。尽可能利用有助于推动向前发展的技术,这样不仅能满足目前的扩展要求,而且还能满足未来几年内业务取得成功的需求。 推荐系统:起源故事 纵观行业内的推荐系统实践,会发现许多共同之处——业界面临共同的挑战,有着共同的顾虑,拥有共同的前瞻性研究领域。同样,纵观推荐系统的历史,随着新的团队开启各自的旅程,并开始从中学习,可以确定几十年来重复不断的一些主题。 本节将回顾一些有助于建立推荐系统领域的著名项目。特别是,本节还会追溯从早期学术试验到大规模商业成功的演进过程。我们可以从过去的模式中汲取经验教训,也可以史为鉴,比较当代实践的问题和主题。 20世纪90年代之前:Grundy、深度模型和相关著作 早在20世纪90年代,就提出了上线运行的推荐系统的概念,用于密切追踪万维网的整体增长情况。让我们来回顾ElaineRich早期开展的名为Grundy的项目,她在卡内基梅隆大学从事 博士研究时启动了该项目,随后她在德克萨斯大学奥斯汀分校担任教职工作期间继续研究该项目。Rich探索了如何使用原型来构建和泛化用户模型。该系统会向用户推荐小说(就像图书管理员那样),然后用户就推荐书籍的质量提供反馈。这项工作处于机器学习相对早期的阶段,但一些关键元素已实施到位,包括特征工程、数据训练,模型评估以及模型迭代改进方面的反馈。考虑到20世纪70年代后期AI社区的普遍看法,Grundy系统依赖于有关每个用户的相对深入的信息,同时试图最大限度地减少用户与系统的互动。 20世纪90年代:协同过滤的兴起 1992年,DougTerry因在XeroxPARC创建了名为Tapestry的第一个协同过滤推荐系统而备受赞誉。该项目解决了电子邮件过载时出现的问题。用户将对电子邮件进行标注以记录他们的兴趣,而该系统将从这些标注数据中进行学习。Terry在关于Tapestry的原始论文中解释说,其主要的技术创新是一种有效的过滤查询算法,具有可预测的语义。早在1992年,Terry就已经确定了协作过滤的关键点:需要大量的训练数据,用户担心安全和隐私问题,以及Tapestry尚未集成到任何新的"Web浏览器"软件这一事实。 两年后,也就是1994年,PaulResnik和其他人在麻省理工学院(MIT)建立了GroupLens项目,如今该项目仍在明尼苏达大学继续进行。他们的工作以Terry的Tapestry项目为基础,为在线新闻组内容提供协同过滤,他们意识到,当人们在线阅读和回应新闻文章时,在很大程度上会忽视数据。与ElaineRich对Grundy秉持的观点不同,GroupLens工作利用的是相对浅层的大量数据。他们还使用开放协议,因此任何人都可以修改新闻客户端以整合评分并预测分数。 麻省理工学院、Firefly音乐推荐系统和电子商务 对推荐系统的兴趣在麻省理工学院传播开来,教授PattieMaes及其研究生UpendraShardanand开发了Ringo音乐推荐系统。值得注意的是,该系统具有更个性化的推荐功能,用户规模更是增长到2,000多名。Ringo的作者引用了Rich的用户建模原型,并使用基准测试来证明其核心算法的表现优于Resnik及相关人员的GroupLens项目。他们还指出,未来需要使用机器学习,例如,对数据使用聚类算法来帮助加快提供推荐结果并尝试进行内容建模。 1995年,在随后的项目中,PattieMaes及其他人在麻省理工学院推出了Firefly音乐推荐系统。该公司作为一家风投支持的初创公司分拆上市,1998年被Microsoft收购。该公司从音乐推荐服务扩展到其他内容的推荐服务,例如书籍、新闻等,并在互联网发展的早期阶段将其技术 授权给几家有影响力的公司使用,包括Yahoo!、ZDNet、Barnes&Noble、AmericaOnline和Reuters。 可以说Firefly代表了利用机器学习从事电子商务的第一个推荐系统。这是早期推荐系统研究项目中第一个取得商业成功的项目,也是当今的社交媒体和电子商务内容推荐概念中最知名的项目。 Netflix和Amazon内容推荐功能 与此同时,作为1998年新成立的一家初创公司,Netflix提供DVD邮寄订阅服务,向一直以来由Blockbuster主导的录像带到店租赁市场发起了挑战。2000年,Netflix将他们的商业模式转变为"不限量畅享"的订阅服务,不仅扩大了内容库存,还增加了电影的会员评分制度和名为Cinemacch的基于协同过滤的个性化推荐服务。2001年,该公司引入了五星评分制度以进一步推动内容推荐,随后又引入了包含其他算法的生态系统,以帮助实现电影租赁过程的个性化和商品化发展。 在此期间,Amazon也在尝试进行内容推荐。该公司的轰动之举是1997年中期在GregLinden的领导下“拆分网站”,开创了水平横向ScaleOut的先例以及后来发展成为云计算的一系列实践。此举带来的结果是,为确定客户互动特征而大规模收集机器数据的现象急剧增加,AndrewNg和其他人称之为数据和机器学习的"良性循环"。2003年,Amazon发布了GregLinden、BrentSmith和JerryYork的著名论文“Amazon.com推荐:商品到商品的协同过滤”。2003年的这个时候,作者指出,有三种常见的内容发现和推荐方法,包括:协同过滤、聚类模型(例如,用于降维)和搜索。而他们所做研究工作的不同之处在于引入了商品到商品的协同过滤,因而产生了这样一句众所周知的话“购买这本书的人也购买了…”。换句话说,Amazon的推荐系统可以 独立于用户数量或内容项目的数量进行扩展。他们优先进行快速推理,以便生成网上的推荐内容、大量数据集以及用于评估推荐成功与否的质量指标。 当然,随着Amazon继续扩展规模并建立更多的业务线,他们为推荐系统驱动的电子商务树立了典范。这项研究工作的直接成果还包括云计算的起源、大数据实践和机器学习的商业用例。 推荐系统和社交网络 许多社交网络紧随其后,向新一代的通信平台应用类似的方法。LinkedIn就是其中一个例子,2006年JonathanGoldman加入的时候,该公司正处于纵向扩展的阶段。Goldman意识到网络分析的价值,因而构建了用于推荐“你可能认识的人”(PYMK)的推荐系统,尽管当时产品团队对此并不感兴趣。事实证明,这项功能在LinkedIn用户中非常受欢迎。起初,基于PYMK的内容的点击率(CTR)比其他方法高30%,因而推荐功能迅速成为这个面向企业的社交网络的用户体验的重要组成部分。 到2000年代后期,推荐系统在生产用例中已经相对普及了。其他类型的企业充分利用这项技术,例如在线约会系统、在线游戏和零售领域的企业。2009年前后,日常语中出现了“数据科学”一词,主流公司纷纷采用该实践,顶尖人才也被吸引到这个领域当中来。可以说,推荐系统及其在电子商务领域的价值在这场演进中发挥了不小的作用。 Netflix奖 2006年到2009年,Netflix精心策划了名为“Netflix奖”的推荐系统竞赛,各团队竞争排行榜上的排名,使用匿名的客户电影评分来优化推荐内容。虽然入围作品的表现明显优于Netflix算法,但由于各种原因,这些入围作品从未投入到生产环境中。即便如此,竞赛中领先团队的经验表明他们学到了有关以下方面的比较策略的大量信息:构建推荐系统,分析评分数据的陷阱以及机器学习工作最终在生产中体现出的整体价值。 推荐系统的演进 在不到二十年的时间里,推荐系统已经从帮助管理研究人员的收件箱的小项目发展成为推动领先技术公司收入的核心技术。通过这些早期项目确定的推荐系统的关键概念和要求包括: >协作过滤 >个性化 >使用海量数据集,但没有特别有用的数据 >利用分布式系统实现扩展 >独立于用户或项目数量进行扩展 >同一用例中的用户建模、内容建模和其他机器学习 >推荐内容质量的定量评估 >安全与隐私问题 >快速推理的必要性 >在实践中进行有效推荐的困难 >将推荐内容的质量与业务收入挂钩 >成功指标,例如引入PYMK后LinkedIn的点击率涨幅 观察 刚刚介绍的这段历史带我们回到了上一个十年伊始。通过推荐系统的这段历史,我们对机会、挑战和发展方向获得了一些关键的观察结果,稍后我们将使用这些观察结果来分析当前的趋势。 >机会:用户参与 第一项观察结果是大量的机会。这是早期推荐系统研究项目中第一个取得商业成功的项目,也是当今的社交媒体和电子商务内容推荐概念中最知名的项目。推荐系统已通过多种方式用于增强各种活动的用户体验,包括电子商务、在线约会、新闻阅读器、销售线索、游戏、音乐应用等。从更广泛的范围来看,这个问题几乎总是与发现脱不了干系,而电子商务场景可以说明最常见的模式: 1.导航:当客户确切地知道他们需要购买哪个小组件时,帮助他们导航到该特定小组件的页面,然后结账。在实践中,这种“拉取”情况相对来说很少见,尽管它对于