核心组件导览
Torch-RecHub 采用模块化设计,将推荐系统的核心功能划分为多个组件,包括特征处理、数据流水线、模型设计和训练评估等。这种模块化设计使得框架易于扩展和使用,同时保持了良好的代码组织结构。
核心组件架构
Torch-RecHub 的核心组件架构如下:
- 特征层:处理不同类型的特征,包括数值型特征、类别型特征和序列特征
- 数据层:负责数据加载、预处理和生成数据加载器
- 模型层:实现各种推荐模型,包括排序模型、召回模型、多任务模型和生成式推荐模型
- 训练层:提供统一的训练接口,支持模型训练、评估、预测和ONNX导出
- 工具层:提供各种工具函数,如ONNX导出、模型可视化、回调函数和损失函数等
组件关系
各核心组件之间的关系如下:
- 特征层 -> 数据层:特征定义用于指导数据层进行数据预处理和特征工程
- 数据层 -> 训练层:数据生成器生成的数据加载器用于模型训练和评估
- 模型层 -> 训练层:训练层使用模型层定义的模型进行训练和评估
- 训练层 -> 工具层:训练层使用工具层提供的工具函数进行ONNX导出、模型可视化等操作
组件详情
特征处理
特征处理组件用于定义和处理不同类型的特征,包括:
- DenseFeature:处理数值型特征
- SparseFeature:处理类别型特征
- SequenceFeature:处理序列特征或多热特征
详情请参考 特征定义 页面。
数据流水线
数据流水线组件用于处理数据加载、预处理和生成数据加载器,包括:
- TorchDataset:用于训练和验证的数据集合
- PredictDataset:用于预测的数据集合
- DataGenerator:用于生成排序模型和多任务模型的数据加载器
- MatchDataGenerator:用于生成召回模型的数据加载器
详情请参考 数据流水线 页面。
训练与评估
训练与评估组件用于训练不同类型的推荐模型,包括:
- CTRTrainer:用于训练排序模型
- MatchTrainer:用于训练召回模型
- MTLTrainer:用于训练多任务模型
详情请参考 训练与评估 页面。
