Skip to content

模型库导览

Torch-RecHub 提供了丰富的推荐模型库,涵盖了推荐系统的各个环节,包括排序、召回、多任务学习和生成式推荐。所有模型均基于 PyTorch 实现,易于使用和扩展。

模型库结构

模型库按照推荐系统的不同阶段和任务类型进行组织:

  1. 排序模型 (Ranking):用于精排阶段,预测用户对物品的点击率或偏好分数
  2. 召回模型 (Matching):用于粗排阶段,从海量物品中召回候选集
  3. 多任务模型 (Multi-Task):同时优化多个相关任务,提高模型的泛化能力
  4. 生成式推荐 (Generative):利用生成式模型生成个性化推荐

模型选择指南

排序模型选择

模型适用场景特点
WideDeep基础排序任务结合线性模型和深度模型,兼顾记忆和泛化能力
DeepFM特征交互重要的场景同时捕获低阶和高阶特征交互
DCN/DCNv2显式特征交叉场景显式学习高阶特征交叉,计算效率高
DIN用户兴趣动态变化场景基于注意力机制捕捉用户兴趣
DIEN长序列兴趣建模建模用户兴趣的动态演化过程
BST序列特征重要的场景使用 Transformer 建模序列特征
AutoInt自动特征交互学习自动学习特征交互模式

召回模型选择

模型适用场景特点
DSSM文本匹配场景双塔结构,将用户和物品映射到同一向量空间
YoutubeDNN大规模推荐场景基于用户行为序列的深度召回
MIND多兴趣推荐场景为用户学习多个兴趣表示
GRU4Rec/SASRec序列推荐场景建模用户近期行为序列
ComirecDR/ComirecSA可控多兴趣推荐允许控制生成的兴趣数量

多任务模型选择

模型适用场景特点
SharedBottom任务相关性强的场景所有任务共享底层网络
MMOE任务冲突较大的场景多门控专家混合,为不同任务学习不同专家组合
PLE复杂多任务场景渐进式分层提取,缓解负迁移问题
ESMM样本选择偏差场景全空间建模,解决样本选择偏差
AITM任务间存在依赖关系自适应信息迁移,学习任务间的依赖关系

生成式推荐选择

模型适用场景特点
HSTU大规模序列推荐层级序列转换单元,支撑万亿参数推荐系统
HLLM融合 LLM 能力的推荐结合大语言模型的语义理解能力

模型文档导航

排序模型

详细介绍各种排序模型的原理、使用方法和参数说明。

查看排序模型文档

召回模型

详细介绍各种召回模型的原理、使用方法和参数说明。

查看召回模型文档

多任务模型

详细介绍各种多任务模型的原理、使用方法和参数说明。

查看多任务模型文档

生成式推荐模型

详细介绍各种生成式推荐模型的原理、使用方法和参数说明。

查看生成式推荐模型文档

使用示例

python
# 排序模型使用示例
from torch_rechub.models.ranking import DeepFM
from torch_rechub.trainers import CTRTrainer

# 创建模型
model = DeepFM(deep_features=deep_features, fm_features=fm_features, mlp_params={"dims": [256, 128], "dropout": 0.2})

# 创建训练器
trainer = CTRTrainer(model, optimizer_params={"lr": 0.001}, device="cuda:0")

# 训练模型
trainer.fit(train_dataloader, val_dataloader)

# 召回模型使用示例
from torch_rechub.models.matching import DSSM
from torch_rechub.trainers import MatchTrainer

# 创建模型
model = DSSM(user_features=user_features, item_features=item_features, temperature=0.02,
             user_params={"dims": [256, 128, 64]}, item_params={"dims": [256, 128, 64]})

# 创建训练器
trainer = MatchTrainer(model, mode=0, device="cuda:0")

# 训练模型
trainer.fit(train_dataloader)

贡献新模型

如果您想贡献新的模型,请参考 贡献指南,遵循项目的编码规范和文档要求。