NVIDIA 联合 CCID 发布《2020 推荐系统加速框架白皮书》
2020-12-16 22:00
#人工智能 #深度学习 #GTC20 分享到微信 分享到微博
这是一个全民互联网消费的时代,而消费互联网的本质是个人虚拟化,增强个人消费体验。今年,天猫“双11”的成交额突破了 4982 亿元,它的推荐系统实现了首页商品的个性化推荐,目标是提高转化率和点击率。如果推荐系统整体的转化率提高 1%,那么增加的成交额大约就是 49.82 亿。可以说,推荐系统的转化力就是消费互联网的生产力。
推荐系统在经历了 20 世纪末本世纪初“从 0 到 1”的基础构建后,现正朝“从 1 到 100 ”的应用优化方向不断创新。
在今天与 GTC 中国站同步上线的《2020 推荐系统加速框架白皮书》中,CCID 深入浅出地介绍了基于深度学习的推荐系统的应用,阐述了当前国内的推荐系统市场行情及发展趋势,并分析了用于构建大规模深度学习推荐系统的开放框架 NVIDIA Merlin。
什么是基于深度学习的推荐系统?
推荐系统(Recommender System)是向用户建议有用物品(“物品”指系统向用户推荐内容的总称)的软件工具和技术。它可以通过向用户建议有用的物品,帮助用户决策,如购买什么物品、听什么音乐、在网上浏览什么新闻等。
近年来,深度学习在图像处理、自然语言理解和语音识别等领域取得了突破性进展,也为推荐系统的研究带来了新的机遇。基于深度学习的推荐系统通常将各类用户和项目相关的数据作为输入,利用深度学习模型挖掘用户和项目的隐表示,并基于这种隐含关系为用户产生项目推荐。
基于深度学习的推荐系统具有以下方面的优势:
能够直接从内容中提取特征,表征能力强
容易对噪声数据进行处理,抗噪能力强
可以使用循环神经网络对动态或者序列数据进行建模
可以更加准确地学习用户与物品的特征
尽管深度学习推荐模型得到了广泛的应用,却也带来了庞大的计算需求。考虑到海量的待处理数据以及到推荐系统训练时的模型并行性和数据并行性问题,我们需要端到端 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 加速的推荐算法体系生态建设赋能。