我们提供了常见的多任务学习中使用的模型算法的PaddleRec实现, 包括动态图和静态图的单机训练&预测效果指标。实现的多任务模型包括 MMoE、ESMM等。
模型算法库在持续添加中,欢迎关注。
模型 | 简介 | 论文 |
---|---|---|
ESMM | Entire Space Multi-Task Model | [SIGIR 2018]Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate |
MMOE | Multi-gate Mixture-of-Experts | [KDD 2018]Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts |
share_bottom | A Knowledge-Based Source of Inductive Bias | [ICML 1993]Multitask Learning: A Knowledge-Based Source of Inductive Bias |
ple | Progressive Layered Extraction | [ACM 2020]Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations |
maml | Model-Agnostic Meta-Learning | [LCML 2017]Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks |
aitm | aitm | [KDD]Modeling the Sequential Dependence among Audience Multi-step Conversions withMulti-task Learning in Targeted Display Advertising |
下面是每个模型的简介(注:图片引用自链接中的论文)
ESMM:
MMoE:
maml:
# 进入模型目录
cd models/multitask/xxx # xxx为任意的multitask下的模型目录
# 动态图训练
python -u ../../../tools/trainer.py -m config.yaml # 全量数据运行config_bigdata.yaml
# 动态图预测
python -u ../../../tools/infer.py -m config.yaml
# 静态图训练
python -u ../../../tools/static_trainer.py -m config.yaml # 全量数据运行config_bigdata.yaml
# 静态图预测
python -u ../../../tools/static_infer.py -m config.yaml
数据集 | 模型 | loss | auc |
---|---|---|---|
Census-income Data | MMoE | -- | 0.99324 |
Ali-CCP | ESMM | -- | 0.82 |
census | share_bottom | -- | 0.99 |
census | ple | -- | 0.99 |
omniglot | maml | -- | 0.98 |
Ali-CCP | aitm | -- | 0.6186 / 0.6525 |
您需要进入PaddleRec/datasets目录下的对应数据集中运行脚本获取全量数据集,然后在模型目录下使用全量数据的参数运行。
每个模型下的readme中都有详细的效果复现的教程,您可以进入模型的目录中详细查看。