NVIDIA-Merlin/Transformers4Rec

Transformers4Rec is a flexible and efficient library for sequential and session-based recommendation and works with PyTorch.

解决的问题

Transformers4Rec 旨在处理顺序推荐和会话推荐任务。传统推荐算法往往忽略交互的时间动态性和顺序性(例如用户在一次网页会话中浏览的项目),而这些因素对于预测用户接下来将与哪个项目互动至关重要。它特别解决了兴趣漂移问题(用户偏好随时间变化)以及仅能获取匿名用户短期互动数据的会话场景等挑战。

工作原理

该库充当自然语言处理(NLP)与推荐系统(RecSys)之间的桥梁。它与 Hugging Face Transformers 库集成,使 RecSys 从业者能够使用超过 64 种不同的 Transformer 架构。

与仅接受 token ID 的标准 NLP Transformer 不同,Transformers4Rec 支持顺序型表格数据作为输入。它通过基于模式的配置自动创建必要的层(如嵌入表和投影层)。该库基于 PyTorch 构建,提供模块化构建块(输入模块、Transformer 主体和预测头),支持创建具有多任务和多损失函数的自定义架构。

适用人群

适用于希望实现前沿的、可扩展且生产就绪的 Transformer 基于顺序推荐模型的 RecSys 研究人员和行业实践者。

主要亮点

  • Hugging Face 集成:可访问大量预存在的 Transformer 架构,用于推荐任务。
  • GPU 加速流水线:与 NVTabular 集成用于预处理,与 Triton Inference Server 集成用于部署,实现完全 GPU 加速的端到端流水线。
  • 表格数据支持:能够处理超越简单项目 ID 的丰富顺序表格特征。
  • 模块化设计:可配置的构建块与标准 PyTorch 模块兼容,支持灵活的架构构建。

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • Dispatch