当前位置: 首页 > news >正文

DCN2:大规模推荐系统中的碰撞权重与显式交叉层协同优化

DCN2:大规模推荐系统中的碰撞权重与显式交叉层协同优化

——Teads团队提出下一代深度交叉网络架构,实时处理5亿+QPS的工业级解决方案


一、DCNv2的局限性与DCN2创新架构

传统DCNv2存在三大瓶颈:

  1. 嵌入碰撞问题​:哈希冲突导致不同特征共享相同嵌入表示
  2. 交叉层信息损失​:低秩投影压缩造成高阶特征交互丢失
  3. 隐式交互偏差​:缺乏类似FFM的显式特征对建模能力

DCN2通过三重创新解决上述问题:
在这里插入图片描述

(图示:碰撞权重层(Collision Weights)、OnlyDense层、显式相似度层(SimLayer)构成核心创新)


二、核心技术解析

1. 碰撞权重机制(Collision-weighted Lookups)

问题​:传统嵌入表在哈希空间不足时碰撞率超30%
创新​:

# 嵌入表扩展权重维度
X_ec = {X[:, 1:d] = 原始嵌入,  X[:, d+1] = 可学习权重  # 初始化为1.0
}
X_inp = X_ec[:, 1:d] * X_ec[:, d+1]  # 权重调制嵌入

效果​:

  • 动态降低高频碰撞特征的权重(图5显示权重分布呈重尾型)

  • 哈希空间压缩至1/4时仍保持90%+性能(图3)

    在这里插入图片描述

2. OnlyDense层替代交叉层

DCNv2缺陷​:低秩投影导致信息损失
创新公式​:

x t = ReLU ( W ⋅ x + b 0 ) x r = x t ⊙ x ⋅ ϕ (锚点缩放) \begin{aligned} x_t &= \text{ReLU}(W \cdot x + b_0) \\ x_r &= x_t \odot x \cdot \phi \quad \text{(锚点缩放)} \end{aligned} xtxr=ReLU(Wx+b0)=xtxϕ(锚点缩放)

优势​:

  • 全维度交叉(无投影压缩)

  • 参数量从O(d×p)升至O(d²)但效果显著提升

    在这里插入图片描述

3. 显式相似度层(SimLayer)

设计灵感​:模拟FFM的显式特征对交互
计算逻辑​:

ŷ_sk = σ(∑∑ w_k'(i,j) * (e_i · e_j))  # 特征对点积加权求和
最终输出 = σ(ŷ_dcn + ŷ_sk)  # 与DCN路径融合

作用​:补充DCN路径未覆盖的显式二阶交互


三、实验验证:全面超越基线

1. 公开数据集性能(表1)
数据集DCNv2 AUCDCN2 AUC提升
Criteo0.78260.7846+0.20%
Avazu0.79220.7933+0.11%
iPinYou0.76590.7747+1.15%
在这里插入图片描述
2. 在线A/B测试
场景离线RIG提升线上收益
CTR预测0.0035​+3.2% RPM
CVR预测0.0010+4.2% 转化率

四、工业级部署优化

1. 推理引擎优化
  • 本地扇出算法​:大请求分微批次共享内存,CPU/预测耗时逼近理论最优

  • 线程绑定​:禁用TensorFlow后台自旋等待,p99延迟↓18%

  • 内存管理​:Jemalloc替代默认分配器,碎片减少40%

    在这里插入图片描述

2. 多值特征处理
  • 求和聚合​:变长特征→固定维嵌入
  • 数据驱动的填充​:基于流式统计自动优化填充长度

五、迁移实战:AutoML升级案例

原始配置​:

  • DCNv2 + 6维嵌入 + 人工特征组合
    升级后​:
  • DCN2 + 16维嵌入 + OnlyDense自动交互
    结果​:RIG提升0.01552(特征工程成本↓70%)

结论与展望

DCN2通过三重创新实现工业级突破:

  1. 碰撞权重机制​:动态调节哈希冲突特征重要性
  2. OnlyDense层​:全维度特征交互避免信息损失
  3. 显式相似度层​:补充FFM式特征对建模

线上系统已稳定处理5亿+ QPS,后续将探索:

  • 更激进的碰撞权重策略
  • LoRA微调迁移学习
  • 多模态特征融合

论文地址:https://arxiv.org/pdf/2506.21624
GitHub参考:Teads内部实现(可关注后续开源)


附:实验所用公开数据集

  • Criteo:广告点击日志
  • Avazu:移动广告行为
  • iPinYou:实时竞价数据
  • KDD2012:用户点击行为
http://www.dtcms.com/a/269131.html

相关文章:

  • C++ tcp客户端处理重连问题
  • 3S技术+ArcGIS/ENVI全流程实战:水文、气象、灾害、生态、环境及卫生等领域应用
  • 前端工程化速通——①ES6
  • OSPF路由过滤实验案例
  • severb
  • 大模型通用架构图
  • es性能优化
  • 国产ARM+FPGA工业开发平台——GM-3568JHF
  • LeetCode 151. 反转字符串中的单词
  • 软考(软件设计师)存储管理—存储空间管理,文件共享保护
  • 虚幻引擎Gameplay框架
  • STM32固件升级设计——串口IAP升级(基于YMODEM协议)
  • CosyVoice2.0整合包:免费一键启动,释放语音克隆的创意潜能
  • day048-系统负载高排查流程与前后端分离项目
  • 上传Vue3+vite+Ts组件到npm官方库保姆级教程
  • python高级变量XIV
  • 【数据结构之哈夫曼树与编码实现】
  • 【Linux操作系统】简学深悟启示录:Linux基本指令
  • OpenStack扩展
  • 05. study_JSBridge机制
  • 7.7日 实验03-Spark批处理开发(2)
  • Playfun即将开启大型Web3线上活动,打造沉浸式GameFi体验生态
  • C++11标准库算法:深入理解std::none_of
  • 低代码平台的性能测试实践与挑战
  • qiankun 微前端项目中的 Token 鉴权方案
  • python dict list 去重
  • 【数据驱动视角下的流体模拟:CFD 与深度学习(GANs/PINN)在圆柱绕流及机翼分析中的应用】
  • Video Background Remover V3版 - AI视频一键抠像/视频换背景 支持50系显卡 一键整合包下载
  • 动手学深度学习13.7. 单发多框检测(SSD)-笔记练习(PyTorch)
  • Pycharm恢复默认设置,配置导致复制粘贴等不能使用