NVIDIA联合CCID发布《2020推荐系统加速框架白皮书》

1.jpeg

这是一个全民互联网消费的时代,而消费互联网的本质是个人虚拟化,增强个人消费体验。2020年,天猫“双11”的成交额突破了4982亿元,它的推荐系统实现了首页商品的个性化推荐,目标是提高转化率和点击率。如果推荐


这是一个全民互联网消费的时代,而消费互联网的本质是个人虚拟化,增强个人消费体验。2020年,天猫“双11”的成交额突破了4982亿元,它的推荐系统实现了首页商品的个性化推荐,目标是提高转化率和点击率。如果推荐系统整体的转化率提高1%,那么增加的成交额大约就是49.82亿。可以说,推荐系统的转化力就是消费互联网的生产力。

推荐系统在经历了20世纪末本世纪初“从0到1”的基础构建后,现正朝“从1到100”的应用优化方向不断创新。

为了更好的应用推荐系统,不久前,英伟达联合CCID发布了《2020推荐系统加速框架白皮书》(以下简称白皮书),白皮书深入浅出地介绍令人基于深度学习的推荐系统的应用,阐述了当前国内的推荐系统产业状况及发展趋势,并举例分析用于构建大规模深度学习推荐系统的开放框架NVIDIA Merlin。

什么是基于深度学习的推荐系统?

推荐系统(Recommender System)是向用户建议有用物品(“物品”指系统向用户推荐内容的总称)的软件工具和技术。它可以通过向用户建议有用的物品,帮助用户决策,如购买什么物品、听什么音乐、在网上浏览什么新闻等。推荐系统分类如下图所示。

近年来,深度学习在图像处理、自然语言理解和语音识别等领域取得了突破性进展,也为推荐系统的研究带来了新的机遇。基于深度学习的推荐系统通常将各类用户和项目相关的数据作为输入,利用深度学习模型挖掘用户和项目的隐表示,并基于这种隐含关系为用户产生项目推荐。基于深度学习的推荐系统具有以下优势:(1)能够直接从内容中提取特征,表征能力强;(2)容易对噪声数据进行处理,抗噪能力强;(3)可以使用循环神经网络对动态或者序列数据进行建模;(4)可以更加准确地学习用户与物品的特征。

尽管深度学习推荐模型得到了广泛的应用,却也带来了庞大的计算需求。考虑到海量的待处理数据以及到推荐系统训练时的模型并行性和数据并行性问题,我们需要端到端GPU上推荐程序框架用以提供快速功能工程和高培训吞吐量。

基于深度学习的推荐系统的挑战与机遇何在?

好的推荐系统带来巨大商业价值,但相应面临很多技术挑战,而这些挑战为推荐系统加速框架带来发展机遇。推荐系统技术挑战具体存在于数据处理、模型训练、推理过程中。

在数据处理中挑战主要包括庞大的数据集、复杂的数据预处理和功能工程流水线、巨大的嵌入表等;在模型训练中存在的问题主要包括广泛的重复实验、分布式训练等;推理过程中存在的挑战主要包括实时推断、监视和再训练等。

尽管深度学习推荐模型得到了广泛的应用,但同时也带来了庞大的计算需求。在推荐系统实验阶段,提取-转换-加载(ETL)操作准备并导出数据集进行训练,通常采用表格形式的数据形式,可以达到TB或PB规模。大量的使用用户以及他们产生的各种各样的信息导致推荐系统面临巨量的待处理数据,因此数据预处理和ETL通常比训练模型时间长的多;与此同时,数据类型的多样性导致了预处理过程复杂,大量的数据通过特征工程后生成大量的特征数据,使得加载这些数据进行模型训练成为输入瓶颈;巨量的数据种类还导致了巨大的查找表,使它们无法同时加载到内存中,因此需要频繁读取磁盘内容,这会造成带宽瓶颈;此外,推荐系统的训练还需要同时兼顾模型并行性和数据并行性。

其机遇在于,为了解决这些问题,我们需要端到端GPU上推荐程序框架用以提供快速功能工程和高培训吞吐量。

为什么需要推荐系统加速框架?

推荐系统加速框架是面向推荐系统的端到端解决方案。主流的推荐系统加速框架一般为针对深度学习推荐系统的端到端解决方案,能够优化深度学习推荐算法,将加速推荐算法的训练、部署等过程。

根据推荐系统加速框架对推荐系统的专用性,可将推荐系统加速框架分为通用型推荐系统加速框架与专用型推荐系统加速框架。

通用型推荐系统加速框架支持包括推荐算法在内的多种深度学习算法,未能针对深度学习推荐算法进行优化,典型框架有TensorFlow、PyTorch、Keras等。专用型推荐系统加速框架仅支持学习推荐算法,面向深度学习推荐算法同时针对硬件系统及软件进行了优化,并包含数据预处理、模型训练、推理及交互等完整的推荐系统结构,其典型框架是NVIDIA Merlin。

推荐系统加速框架的发展趋势和产业格局是什么?

推荐系统加速框架的发展趋势有四,包括进一步“加速”、由通用型向专用型发展、开发难度逐渐降低、向全链路框架发展等。

推荐系统加速框架目前的格局中,以互联网公司自主研发为主。互联网头部企业由于本身体量较大,有能力自主研发推荐系统及推荐系统框架。而绝大多数互联网公司会采用主流的深度学习框架搭建系统,如采用TensorFlow、PyTorch 等。

目前推荐系统加速框架以优化运行在CPU为核心的服务器为主,也支持优化以GPU为算力核心的服务器。NVIDIA Merlin 是专用于推荐系统的深度学习加速框架,并且仅用于优化运行在以GPU为算力核心的服务器上的推荐系统,随着AI对GPU的需求逐渐提升,以GPU为基础算力的推荐系统将呈现快速增长趋势,NVIDIA Merlin 的竞争力也将不断加强。

推荐系统加速框架产业现状是怎样的?

全球范围里,随着推荐算法在互联网产业中的重要性快速提升,全球推荐系统加速框架产业市场规模呈现逐年增长的趋势。2019年全球推荐系统加速框架产业市场规模达1.91万亿美元,预计到2024年全球推荐系统加速框架产业市场规模将超过6.6万亿美元。

而在中国,中国是互联网市场庞大,互联网用户众多,推荐系统加速框架产业市场规模呈现逐年增长的趋势。2019年中国推荐系统加速框架产业市场规模达2.16万亿人民币,预计到2024年中国推荐系统加速框架产业市场规模将超过7.7万亿人民币。

以NVIDIA Merlin为例,深度学习推荐系统加速框架如何体现优势?


NVIDIA Merlin是NVIDIA 推出的基于GPU 的用于构建大规模深度学习推荐系统的开放框架,它提供的工具可以使开发者更加自主地构建深度学习推荐系统,从而获得比传统推荐方法更准确的预测以提高用户的点击率。Merlin 为用户提供了一个全链路解决方案,用于为推荐系统提供GPU 加速的数据提取、模型训练和模型部署。Merlin 链路的每个环节经过优化后可支持数百TB 的数据,所有数据都可通过易于使用的API 访问。它可以利用基于NVIDIA Ampere 架构的全NVIDIA A100 GPU,帮助企业构建推荐系统。

Merlin的优势主要体现在以下四个方面,包括:(1)依托GPU算力,性能提升显著;(2)降低建构推荐系统的门槛,使用便捷;(3)向后兼容,快速迭代;(4)强大的生态扩展性。

虽然常用的深度学习框架均支持在GPU中训练推荐算法,但目前推荐算法仍多数运行在CPU上,Merlin致力于解决GPU相比CPU加速不够显著的问题。首先Merlin依托GPU算力,可使推荐算法性能显著提升。其次,用户既可以使用NVIDIA提供的推荐系统,也可以自主开发推荐系统。灵活的使用方式大大降低了基于GPU的深度学习推荐系统开发门槛。此外使用CUDA编程语言的Merlin保证了向后兼容,这也为产品的快速迭代升级提供了保障。最后,Merlin具有强大的生态扩展性。NVIDIA十分重视Merlin体系的建设,投入了大量的研究人员持续到Merlin的研发、运营、产品迭代中,致力于GPU加速的推荐算法体系的建设,努力赋能Merlin框架下的推荐系统生态的建设。

Merlin还具有强大的技术优势,主要体现在高效完整的结构、优秀的实时性分层技术等。Merlin框架是当前市场上仅存的针对于深度学习推荐算法的推荐系统框架,也是当前市场上仅存的专门针对于NVIDIA GPU的推荐系统框架。Merlin框架大大降低了基于GPU的深度学习推荐系统开发门槛,将为基于GPU加速的推荐算法体系生态建设赋能。

截至目前Merlin已经与相当数量的互联网企业取得合作,共建基于GPU的深度学习推荐系统生态,典型案例包括腾讯视频平台等。在腾讯视频的案例中,每一轮作业的处理时间上,原本需要将近1天(20小时)进行模型训练,如今每一轮训练时间可缩短至3小时。Merlin可帮助腾讯进行更多循环处理周期,增进模型的精准度,提升推荐算法的推荐效率从而带来更大的商业价值。

值得期待推荐系统加速框架的发展,帮助更多的企业提升推荐算法的效能。

作者李秧为赛迪顾问集成电路研究中心分析师

产品图.jpg

赞 (0)
上一篇 2024年11月23日 01:28
下一篇 2024年11月23日 01:28