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 方案。

相关文章
|
5天前
|
人工智能 JSON 监控
Claude Code 源码泄露:一份价值亿元的 AI 工程公开课
我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。
4020 10
|
15天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
11615 135
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
4天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
1415 7
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
5天前
|
人工智能 自然语言处理 数据挖掘
零基础30分钟搞定 Claude Code,这一步90%的人直接跳过了
本文直击Claude Code使用痛点,提供零基础30分钟上手指南:强调必须配置“工作上下文”(about-me.md+anti-ai-style.md)、采用Cowork/Code模式、建立标准文件结构、用提问式提示词驱动AI理解→规划→执行。附可复制模板与真实项目启动法,助你将Claude从聊天工具升级为高效执行系统。
|
5天前
|
人工智能 定位技术
Claude Code源码泄露:8大隐藏功能曝光
2026年3月,Anthropic因配置失误致Claude Code超51万行源码泄露,意外促成“被动开源”。代码中藏有8大未发布功能,揭示其向“超级智能体”演进的完整蓝图,引发AI编程领域震动。(239字)
2304 9