TorchEasyRec的dbmtl 模型 config 详解

简介: DBMTL(Deep Bayesian Multi-Target Learning)是阿里开源的多任务学习模型,显式建模任务因果依赖(如CTR→CVR)。基于TorchEasyRec实现,采用共享Bottom MLP+双Tower结构,CVR Tower融合CTR中间表征,体现贝叶斯条件关系。

配置文件是:https://github.com/alibaba/TorchEasyRec/blob/master/examples/dbmtl_taobao.config


一、什么是 DBMTL

DBMTL = Deep Bayesian Multi-Target Learning,是一种多任务学习模型。

核心思想是利用贝叶斯任务关系建模——任务之间不是独立的,而是有因果依赖的。比如用户先"点击"才可能"购买",CVR 依赖于 CTR。

二、数据与特征

数据源

训练数据: odps://{PROJECT}/tables/taobao_multitask_sample_v1_train
评估数据: odps://{PROJECT}/tables/taobao_multitask_sample_v1/ds=20170513

从 MaxCompute 读取淘宝多任务样本数据,使用 FG_DAG 模式(C++ DAG 引擎处理特征)。

标签(双目标)


label_fields: "clk"   ← 是否点击(CTR 任务)
label_fields: "buy"   ← 是否购买(CVR 任务)

特征一览(16 个特征,全部 embeddingdim=16)

特征名 类型 含义 桶数/哈希
user_id IdFeature user 用户 ID 1,141,730
cms_segid IdFeature user 用户人群分段 98
cms_group_id IdFeature user 用户人群组 14
final_gender_code IdFeature user 性别 3
age_level IdFeature user 年龄段 8
pvalue_level IdFeature user 消费档次 5
shopping_level IdFeature user 购物频次等级 5
occupation IdFeature user 职业 3
new_user_class_level IdFeature user 新用户等级 6
adgroup_id IdFeature item 广告组 ID 846,812
cate_id IdFeature item 商品类目 12,961
campaign_id IdFeature item 营销活动 ID 423,438
customer IdFeature item 广告主 255,877
brand IdFeature item 品牌 461,498
price RawFeature item 价格(98 个分桶边界离散化) 99 桶
pid IdFeature context 广告资源位 hashbucket=20 |

9 个 user 特征 + 6 个 item 特征 + 1 个 context 特征,所有特征放入一个 "all" 特征组。

三、模型结构


image.png



对应配置中的各层:

① 共享底层 Bottom MLP

bottom_mlp { hidden_units: [512] }


所有特征 embedding 拼接后(256维)→ 512 维隐层。这是 CTR 和 CVR 共享的表征。

② CTR Tower(点击预测)

tower_name: "ctr"

label_name: "clk"

mlp { hidden_units: [256, 128, 64] }

loss: binary_cross_entropy

metric: auc



512 → 256 → 128 → 64 → 1,预测点击概率。

③ CVR Tower(购买预测)— 贝叶斯关系建模

tower_name: "cvr"

label_name: "buy"

mlp { hidden_units: [256, 128, 64] }       ← 本 tower 没有配 mlp!

relation_tower_names: "ctr"                  ← 依赖 CTR tower

relation_mlp { hidden_units: [64] }

loss: binary_cross_entropy

metric: auc (thresholds: 1000)


这是 DBMTL 的核心特点:CVR tower 没有配置自己的 mlp,所以直接用 bottom_mlp 的 512 维输出。然后:

  1. 将 bottom_mlp 输出(512维)与 CTR tower 的 MLP 输出(64维)做 concat(576维)
  2. 通过 relation_mlp [64] 融合(576 → 64)
  3. 线性层输出购买概率

这体现了贝叶斯因果链:P(buy) = P(buy|click) × P(click),CVR 的预测依赖 CTR 的中间表征。

四、训练参数

参数 含义
batch_size 8192 每批样本数
num_epochs 1 训练 1 轮
num_workers 8 数据加载并行度
sparse_optimizer Adagrad (lr=0.001) Embedding 参数优化器
dense_optimizer Adam (lr=0.001) MLP 参数优化器
学习率调度 constant 固定学习率

稀疏/稠密分离优化是推荐系统标准做法:Embedding 参数稀疏更新用 Adagrad,MLP 参数稠密更新用 Adam。

五、与普通多任务模型的区别

模型 任务关系
SharedBottom 共享底层,任务独立输出
MMoE 多专家 + 门控,任务独立但自适应选择专家
DBMTL 显式建模任务因果链(CTR → CVR),后续任务拼接前序任务的输出

配置中注释掉的 expert_mlpnum_expert 说明 DBMTL 也可以在 bottom 层加 MMoE,但这个例子选择了更简单的 shared bottom MLP 方案。

相关文章
|
机器学习/深度学习 分布式计算 DataWorks
EasyRec 使用介绍|学习笔记
快速学习 EasyRec 使用介绍。
2102 0
|
19天前
|
网络协议 虚拟化 Docker
【Azure Developer】.NET Aspire 启动报错:listen tcp bind: An attempt was made to access a socket in a way forbidden by its access permissions
.NET Aspire在Windows启动时因Hyper-V端口保留机制,导致DCP代理无法绑定53209等端口(报错“访问被拒绝”)。虽端口未被占用,但已被系统保留。推荐方案:修改launchSettings.json,将服务端口改为7xxx等安全范围;或临时重启winnat服务、永久排除指定端口。
362 20
|
20天前
|
存储 搜索推荐 PyTorch
为什么使用 TorchRec 训练和推理更快
本文结合TorchEasyRec实践,从四大维度解析推荐系统加速:1)KeyedJaggedTensor统一变长特征,实现Embedding批量融合查找;2)自动分布式分片突破单卡显存瓶颈;3)TrainPipelineSparseDist流水线并行,重叠通信与计算;4)fbgemm-gpu融合优化器,减少显存访问。端到端提升训练效率与扩展性。
176 9
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
AI浪潮下的程序员:如何在变革中寻找新航向
本文探讨AI浪潮下程序员的转型之路:AI是助手而非替代者。面对挑战,应主动学习AI工具、深耕行业领域、提升软技能与问题解决能力,从“码农”蜕变为“AI时代的创造者”。未来属于积极适应者。(239字)
|
21天前
|
分布式计算 MaxCompute iOS开发
TorchEasyRec 在 macOS 上的功能限制总结
本文总结tzrec在macOS上的功能限制:核心依赖(如torchrec、fbgemm-gpu、graphlearn等)无法安装;分布式训练、原生数据管线、Embedding模块、Triton/CUDA算子、TDM树模型等功能完全不可用;优化器与模型导出部分失效;单元测试大多因强依赖而失败。
130 15
|
22天前
|
机器学习/深度学习 搜索推荐 数据处理
PAI-Rec推荐开发平台:企业级智能推荐解决方案,驱动业务全域增长
PAI-Rec是阿里云一站式推荐系统平台,集成多路召回、多目标精排(如DBMTL)、GPU加速推理与灵活迭代能力,已助力电商、直播、音视频等多行业提升点击率、转化率与ROI,实现高效、低成本、可自主演进的智能推荐。
190 16
|
22天前
|
机器学习/深度学习 JSON 自然语言处理
PAI-Rec 特征工程全解析:统计特征、实时特征、序列特征与 FG 特征算子
PAI-Rec是阿里云智能推荐的特征工程解决方案,支持离线统计、实时及序列特征自动衍生,并通过Feature Generator(17种内置算子)保障离线/在线特征一致性,大幅降低开发与维护成本。
284 9
|
18天前
|
SQL 运维 监控
【生产避坑】Flink CDC + SQL Server 无增量?5分钟定位,直接抄解决方案
【生产避坑】Flink CDC同步SQL Server时增量失效?80%问题源于SQL Server Agent未启动!本文5分钟定位根因:先查CDC开关→再验CT表数据→最终确认Agent状态。附完整排查流程、3种启动方案及监控建议,直击要害,照抄即用,快速恢复实时同步!
134 6
|
22天前
|
机器学习/深度学习 分布式计算 搜索推荐
PAI-Rec 召回引擎:构建高性能推荐系统的核心引擎
PAI-Rec是阿里云智能推荐平台的核心召回引擎,经阿里大规模场景验证。支持多路召回融合(U2I/I2I/向量/随机)、召回即过滤、毫秒级实时更新与分布式弹性架构,开箱即用,助力企业构建毫秒级、高精度、强实时的推荐系统。
181 9
|
1月前
|
Kubernetes 监控 安全
别再说“多活一份数据就安全了”:云上灾备的真相,是你根本没想清楚 RTO / RPO
别再说“多活一份数据就安全了”:云上灾备的真相,是你根本没想清楚 RTO / RPO
263 9