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

by 英伟达中国

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

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

在今天与GTC中国站同步上线的《2020推荐系统加速框架白皮书》中,CCID深入浅出地介绍了基于深度学习的推荐系统的应用,阐述了当前国内的推荐系统市场行情及发展趋势,并分析了用于构建大规模深度学习推荐系统的开放框架NVIDIA Merlin。

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

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

近年来,深度学习在图像处理、自然语言理解和语音识别等领域取得了突破性进展,也为推荐系统的研究带来了新的机遇。基于深度学习的推荐系统通常将各类用户和项目相关的数据作为输入,利用深度学习模型挖掘用户和项目的隐表示,并基于这种隐含关系为用户产生项目推荐。

基于深度学习的推荐系统具有以下方面的优势:

  1. 能够直接从内容中提取特征,表征能力强
  2. 容易对噪声数据进行处理,抗噪能力强
  3. 可以使用循环神经网络对动态或者序列数据进行建模
  4. 可以更加准确地学习用户与物品的特征

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

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

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

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

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

推荐系统加速框架产业格局

推荐系统加速框架目前的格局中,以互联网公司自主研发为主。互联网头部企业由于本身体量较大,有能力自主研发推荐系统及推荐系统框架。而绝大多数互联网公司会采用主流的深度学习框架搭建系统,如采用TensorFlow、PyTorch等。目前推荐系统加速框架以优化运行在CPU为核心的服务器为主,也支持优化以GPU为算力核心的服务器。NVIDIA Merlin是专用于推荐系统的深度学习加速框架,并且仅用于优化运行在以GPU为算力核心的服务器上的推荐系统,随着AI对GPU的需求逐渐提升,以GPU为基础算力的推荐系统将呈现快速增长趋势,NVIDIA Merlin的竞争力也将不断加强。

中国推荐系统加速框架产业发展现状

现阶段中国互联网企业不再依靠人口红利快速扩张,而是依靠对用户精准的把握进行消费互联网布局。因而推荐系统加速框架产业市场规模呈现逐年增长的趋势,2019年中国推荐系统加速框架产业市场规模达2.16万亿人民币,预计到2024年中国推荐系统加速框架产业市场规模将超过7.7万亿人民币。

CCID:中国推荐系统框架市场规模

Merlin框架简介

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

Merlin框架优势与前景

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

Merlin框架是当前市场上仅存的针对于深度学习推荐算法的推荐系统框架,也是当前市场上仅存的专门针对于NVIDIA GPU的推荐系统框架。Merlin框架大大降低了基于GPU的深度学习推荐系统开发门槛,为基于GPU加速的推荐算法体系生态建设赋能。 下载完整报:https://www.nvidia.cn/deep-learning-ai/resources/2020-nvidia-recommends-system-acceleration-frameworks-whitepaper/