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 使用介绍。
2244 0
|
4月前
|
存储 搜索推荐 Python
TorchRec大量使用Jagged Tensor
Jagged Tensor(锯齿张量)是专为变长序列设计的紧凑存储格式,用values+lengths/offsets替代padding,显著节省内存与计算。广泛应用于推荐系统中用户行为、多值标签等不等长特征处理,如HSTU模型中的拼接、拆分与矩阵乘法操作。
502 8
|
10月前
|
人工智能 运维 监控
Flink 智能调优:从人工运维到自动化的实践之路
本文由阿里云Flink产品专家黄睿撰写,基于平台实践经验,深入解析流计算作业资源调优难题。针对人工调优效率低、业务波动影响大等挑战,介绍Flink自动调优架构设计,涵盖监控、定时、智能三种模式,并融合混合计费实现成本优化。展望未来AI化方向,推动运维智能化升级。
1063 8
Flink 智能调优:从人工运维到自动化的实践之路
|
4月前
|
分布式计算 MaxCompute 流计算
PAI-FeatureStore特征平台的相关问答
本栏目解答FeatureStore常见问题:实时视图时间戳支持BIGINT/TIMESTAMP;ODPS同步需字段完全匹配;Item特征表由关联视图确定;离线视图禁止写入;实时数据查询延迟通常仅数秒。(238字)
268 1
|
5月前
|
人工智能 自然语言处理 调度
工程知识引擎:Harness Engineering体系下的工程知识底座
本文提出“工程知识引擎”,直击AI编程智能体“能写代码却难懂代码”的认知困境。通过融合代码图谱、Commit图谱、RepoWiki、记忆系统与Agentic Search等六大能力,构建立体化上下文感知体系,实现从局部检索到主动学习的跃迁,让AI真正成为可信赖的工程协作者。
|
4月前
|
机器学习/深度学习 分布式计算 搜索推荐
PAI-Rec 召回引擎:构建高性能推荐系统的核心引擎
PAI-Rec是阿里云智能推荐平台的核心召回引擎,经阿里大规模场景验证。支持多路召回融合(U2I/I2I/向量/随机)、召回即过滤、毫秒级实时更新与分布式弹性架构,开箱即用,助力企业构建毫秒级、高精度、强实时的推荐系统。
552 9
|
4月前
|
机器学习/深度学习 JSON 自然语言处理
PAI-Rec 特征工程全解析:统计特征、实时特征、序列特征与 FG 特征算子
PAI-Rec是阿里云智能推荐的特征工程解决方案,支持离线统计、实时及序列特征自动衍生,并通过Feature Generator(17种内置算子)保障离线/在线特征一致性,大幅降低开发与维护成本。
730 9
|
4月前
|
机器学习/深度学习 搜索推荐 iOS开发
TorchEasyRec中INPUT_TILE 环境变量的三个模式
`NPUT_TILE` 是 tzrec 推荐系统在模型导出与在线推理阶段的优化策略,针对“1 用户 → N 商品”场景,避免用户特征重复计算。支持三种模式:`INPUT_TILE=1`(无优化)、`=2`(Embedding前tile)、`=3`(Embedding后tile,计算最优但需拆分Embedding表、依赖FG模式及torchrec,不支持macOS)。
282 6
|
4月前
|
API C++ Python
EasyRec和TorchEasyRec中FG NORMAL 和 FG DAG 的区别
TorchEasyRec提供两种特征生成模式:FG_NORMAL(Python逐特征处理,适合调试)与FG_DAG(C++ DAG引擎批量处理,性能更优、支持依赖、stub_type及自动侧识别)。推荐生产环境优先使用FG_DAG。
212 5
|
4月前
|
人工智能 安全 网络安全
Harness驾驭工程是AI平权的必经之路?
OpenClaw 将 AI 主权从模型厂商转移到了用户手中,但调教 AI 并不是一个简单的事情,甚至让人烦躁。这一背景加速了 Harness 驾驭工程的市场共识。

热门文章

最新文章