背景
推荐系统在电商、短视频、新闻、广告等行业都有着广泛的应用。推荐系统能够比较准确理解终端用户的兴趣,提升终端用户的浏览体验。典型的工业界推荐系统一般采用多阶段漏斗的方式,通常包括召回、粗排、精排、重排等阶段,每个阶段要处理的商品数量是依次递减的,而对应的模型的参数量和计算复杂度通常是依次递增的。随着深度学习的发展,现在主流的推荐系统都是用深度学习模型来预估用户对于不同商品的偏好。深度学习大幅度提升了模型预估的准确度,并且能够支持多任务多场景的联合建模。但随之带来的问题是模型参数量和计算复杂度的大幅度增加,这给模型训练和在线推理服务都带来了巨大的挑战。为了提升模型的准确度,推荐模型通常需要在千亿规模的样本和特征上进行训练。即便采用分布式训练,训练一个推荐排序模型也要持续数天的时间。这给算法工程师探索和优化模型结构带来了巨大的压力。在线推理服务通常需要在有限的时间内返回结果(< 500ms),而现代推荐模型的巨大参数量和复杂的模型结构需要的计算量通常难以满足这样要求。
为了解决这些挑战,帮助用户更好的落地深度学习推荐算法,阿里云PAI团队研发了PAI-REC全链路解决方案,帮助用户以白盒化的方式快速构建推荐全链路的方案。如图1所示,PAI-REC平台包含了推荐全链路所需要的功能: 特征构建,模型训练,在线服务等。其中两个关键的功能是模型训练和模型推理,分别由EasyRec推荐算法框架和EasyRec Processor提供。 EasyRec推荐算法框架帮助用户快速训练推荐模型,其中提供了业界广泛使用的推荐算法模型,如DeepFM, DIN, DBMTL等,并支持通过组件化和自定义模型的方