Skip to content

核心组件导览

Torch-RecHub 采用模块化设计,将推荐系统的核心功能划分为多个组件,包括特征处理、数据流水线、模型设计和训练评估等。这种模块化设计使得框架易于扩展和使用,同时保持了良好的代码组织结构。

核心组件架构

Torch-RecHub 的核心组件架构如下:

  1. 特征层:处理不同类型的特征,包括数值型特征、类别型特征和序列特征
  2. 数据层:负责数据加载、预处理和生成数据加载器
  3. 模型层:实现各种推荐模型,包括排序模型、召回模型、多任务模型和生成式推荐模型
  4. 训练层:提供统一的训练接口,支持模型训练、评估、预测和ONNX导出
  5. 工具层:提供各种工具函数,如ONNX导出、模型可视化、回调函数和损失函数等

组件关系

各核心组件之间的关系如下:

  1. 特征层 -> 数据层:特征定义用于指导数据层进行数据预处理和特征工程
  2. 数据层 -> 训练层:数据生成器生成的数据加载器用于模型训练和评估
  3. 模型层 -> 训练层:训练层使用模型层定义的模型进行训练和评估
  4. 训练层 -> 工具层:训练层使用工具层提供的工具函数进行ONNX导出、模型可视化等操作

组件详情

特征处理

特征处理组件用于定义和处理不同类型的特征,包括:

  • DenseFeature:处理数值型特征
  • SparseFeature:处理类别型特征
  • SequenceFeature:处理序列特征或多热特征

详情请参考 特征定义 页面。

数据流水线

数据流水线组件用于处理数据加载、预处理和生成数据加载器,包括:

  • TorchDataset:用于训练和验证的数据集合
  • PredictDataset:用于预测的数据集合
  • DataGenerator:用于生成排序模型和多任务模型的数据加载器
  • MatchDataGenerator:用于生成召回模型的数据加载器

详情请参考 数据流水线 页面。

训练与评估

训练与评估组件用于训练不同类型的推荐模型,包括:

  • CTRTrainer:用于训练排序模型
  • MatchTrainer:用于训练召回模型
  • MTLTrainer:用于训练多任务模型

详情请参考 训练与评估 页面。