Transformers4Rec 项目介绍
什么是Transformers4Rec?
Transformers4Rec是一个灵活且高效的库,主要用于顺序和会话推荐系统,并支持与PyTorch协同工作。这个库在自然语言处理(NLP)和推荐系统(RecSys)之间搭建了一座桥梁,其通过集成流行的NLP框架——Hugging Face Transformers,使得先进的transformer架构可供RecSys研究人员和行业从业者使用。
工作原理
在推荐系统中,Transformers4Rec接受一系列用户交互数据作为输入,这些数据通常是浏览、添加购物车等行为形成的一个序列。库通过对这些交互数据进行处理和建模,以便输出更优质的下一项推荐。这一方法优于传统推荐算法,这些算法通常忽略了用户交互的时间动态和序列关系。
此外,Transformers4Rec特别适用于一种特殊情况——会话推荐任务,此任务中,只能使用当前会话中的短序列交互进行推荐,不涉及用户本来的长期记录。这在诸如电子商务等需要保护用户隐私的在线服务中非常常见。
Transformers4Rec 的优势
-
灵活性:Transformers4Rec提供了模块化的构建模块,这些模块既可配置又可与标准PyTorch模块兼容,允许创造自定义的架构。
-
支持多输入特征:由于与HF Transformers的集成,可处理NLP领域的序列标签,这也允许Transformers4Rec处理RecSys数据集中的富丰富特征。
-
顺滑的预处理和特征工程:Transformers4Rec集成了NVTabular和Triton Inference Server,可构建一个完全GPU加速的管道以支持顺序和会话推荐。
成就
Transformers4Rec在WSDM WebTour Workshop Challenge 2021和SIGIR eCommerce Workshop Data Challenge 2021分别赢得了胜利。它在会话推荐任务中的准确性优于基准算法,并在ACM RecSys'21论文中提供了详细的经验分析。
如何安装
Transformers4Rec可以通过Pip、Conda或Docker容器安装。推荐在安装中包含GPU加速的Merlin数据加载器以提升性能。
使用Pip安装
pip install transformers4rec[nvtabular]
注意:安装Transformers4Rec时不会自动安装RAPIDS cuDF,需单独安装以支持GPU加速。
pip install cudf-cu11 dask-cudf-cu11 --extra-index-url=https://pypi.nvidia.com
使用Conda安装
mamba create -n transformers4rec-23.04 -c nvidia -c rapidsai -c pytorch -c conda-forge \
transformers4rec=23.04 nvtabular=23.04 python=3.10 cudf=23.02 cudatoolkit=11.8 pytorch-cuda=11.8
实验和教程
Transformers4Rec提供了多个Notebook实例和教程,帮助用户利用Transformers4Rec和Merlin库构建完整的推荐系统。用户可以通过这些教程快速上手,并体验如何将Transformers4Rec集成到他们的系统中。
总之,Transformers4Rec为研究人员和开发者提供了一个强大的工具,可以利用NLP的强大功能改善推荐系统的性能和可扩展性。通过这个项目,NVIDIA展现了其在推动AI边界方面的决心和能力。