选自OpenReview 作者:Sergei Ivanov等 机器之心编译 编辑:小舟、蛋酱 GBDT 和 GNN 方法各有各的优势,现在,来自法国、俄罗斯两家机构的研究者将二者的优势结合起来,探索
prediction research 实验结果 更多实验结果参考官网的实验部分:https://openbenchmark.github.io/ctr-prediction/leaderboard/criteo_x4 /data/Criteo/", "dataset_id": "criteo_x4_5c863b0f", ... 2020-08-09 23:28:47,583 P587 INFO /data/Criteo/criteo_x4_5c863b0f/feature_map.json 2020-08-09 23:28:47,583 P587 INFO Loading data... 2020 /data/Criteo/criteo_x4_5c863b0f/train.h5 2020-08-09 23:28:52,372 P587 INFO Loading data from h5: .. /data/Criteo/criteo_x4_5c863b0f/valid.h5 2020-08-09 23:28:54,189 P587 INFO Train samples: total/36672493
Criteo是一家国际化 数字效果广告营销公司 通过掌握上网习惯提供个性化的广告 Criteo全球有 5万台自有的服务器 曾经上海有PoP似乎改道香港了 如此规模没有迁移公有云是不够香吗 硅谷顶级风投的反思 IDC首度关注OCP开放计算项目 所以Criteo 敢为行业先 率先尝试开放的网络 符合Gartner的预测即超过200台 交换机的数据中心都将会考虑SONiC Gartner报告的玄机 数据中心魔力象限临改动 Criteo网络架构 和其它大厂并无二异 标准的CLOS保证扩展性 网络致胜-数据中心网络系统技术白皮书 Don't be shy, that works on production!
建立data文件夹,并在data下建立criteo_x4, 将train.csv、valid.csv、test.csv放在criteo_x4下。 └── xdeepfm_criteo.py 配置文件 在config下建立xdeepfm_criteo_x4文件夹,分别填写数据集配置文件和模型配置文件。 数据集配置文件: config/xdeepfm_criteo_x4/dataset_config.yaml criteo_x4: data_root: . /data/criteo_x4/ data_format: csv train_data: ./data/criteo_x4/train.csv valid_data: . 我们切换到正确配置的环境下,运行 # 运行命令 python xdeepfm_criteo.py # 本文执行的命令 nohup python xdeepfm_criteo.py > train_xdeepfm_criteo.log
根据 criteo-research 的统计,这届 ICLR 的热门研究主题如下图所示: ? 图源:https://github.com/criteo-research/iclr_analysis 评审分数置信度热图如下所示: ? 图源:https://github.com/criteo-research/iclr_analysis 除强化学习、GAN 以外,对抗样本、元学习、优化、表征学习也是很受关注的研究课题。 图源:https://github.com/criteo-research/iclr_analysis 而论文投稿数量最多的结构中,谷歌位列第一。 参考链接:https://github.com/criteo-research/iclr_analysis https://prlz77.github.io/iclr2019-stats-2/
并且在Kaggle的两个竞赛数据集Criteo和Avazu数据集上进行了比较。 这篇文章我们简单分两块进行介绍: 目前CTR算法中一些经典算法的开源情况; 在Criteo以及Avazu两大数据集上各大模型的表现情况 & 小结; 各大经典算法开源情况 ? 实验对比 此处实验是对比20多个经典算法在现在数据集上的表现: 在Criteo数据集合上的复现情况: ? 在Avazu数据集合上的复现情况 ? FuxiCTR和最新方法的对比 ? 1.在Criteo数据集上的表现 xDeepFM平均排名第一 DeepFM,DCN,FiGNN,ONN分别位列2,3,4,5位 2.在Avazu数据集上的表现 FiBiNET平均排名第一 ONN,HFM
并且在Kaggle的两个竞赛数据集Criteo和Avazu数据集上进行了比较。 这篇文章我们简单分两块进行介绍: 目前CTR算法中一些经典算法的开源情况; 在Criteo以及Avazu两大数据集上各大模型的表现情况 & 小结; 各大经典算法开源情况 目前几乎没有一个算法是同时满足下面 实验对比 此处实验是对比20多个经典算法在现在数据集上的表现: 01 在Criteo数据集合上的复现情况 02 在Avazu数据集合上的复现情况 03 最新算法方案对比 1.在Criteo数据集上的表现
数据背景:Criteo是在线效果类数字营销厂商,于2005年在法国巴黎成立,目前的核心业务是重定向广告(retargeting)。 Criteo在全球范围内共有31间办事处,有6间位于欧洲,有5间位于北美,有1间在巴西,在亚太地区总共有5间办事处。 Criteo是在线效果类展示广告厂商于2014年5月13日宣布启动在中国的业务和运营,并将北京设为中国区总部所在地。 Criteo的核心产品主要包括访客广告、流失客户广告、移动应用内效果型广告和AD-X 移动广告跟踪分析产品等。 Criteo拥有世界领先的自主学习式推荐引擎和预测引擎,能够通过其对于市场的洞察提供可评估的结果,因而能够在正确的时间通过推送广告,将对的产品推荐给对的用户。
如何快速的应用一个基于深度学习的CTR模型,代码地址在: https://github.com/shenweichen/DeepCTR-Torch/blob/master/examples/run_classification_criteo.py The Criteo Display Ads dataset 是kaggle上的一个CTR预估竞赛数据集。里面包含13个数值特征I1-I13和26个类别特征C1-C26。 /criteo_sample.txt') # 上面的数据在:https://github.com/shenweichen/DeepCTR-Torch/blob/master/examples/criteo_sample.txt
特征框架 -- logs in,samples out 实验数据集用 criteo,特征工程参考: https://github.com/PaddlePaddle/models/blob/develop /model_ckpt/criteo/DeepFM/ --data_dir=../.. /data/criteo/ #predict python DeepFM.py --task_type=infer --learning_rate=0.0005 --optimizer=Adam /model_ckpt/criteo/DeepFM/ --data_dir=../.. /model_ckpt/criteo/DeepFM/ --servable_model_dir=.
此届会议有很大一部分来自工业界的论文,包括Google、Microsoft、Criteo、Spotify以及国内大厂阿里、百度、字节、华为、滴滴等。 CTR Prediction 1. BLOB: A Probabilistic Model for Recommendation that Combines Organic and Bandit Signals 【Criteo】 3. Joint Policy-Value Learning for Recommendation 【Criteo】 论文:researchgate.net/public Multi-Task Learning
Criteo(法国)是欧洲发表文章数量排名第二的公司。 洛桑联邦理工学院和苏黎世联邦理工学院是瑞士表现最好的学校。 除了美国和中国,大多数顶级文章发表的机构都是大学。 在非美国公司中,只有英国(DeepMind)、法国(Criteo)、中国(华为、百度、阿里巴巴)、俄罗斯(Yandex)和韩国(三星)的公司发表了5篇及其以上文章。 相关报道: https://medium.com/criteo-labs/icml-2020-comprehensive-analysis-of-authors-organizations-and-countries-c4d1bb847fde
在Criteo和ml-1m数据上的大量实验表明,DCN-M模型能够显著胜过SOTA方法。 模型 DCN回顾 首先回顾一下DCN的模型结构: ? 串行结构在criteo数据集上更好,而并行结构在Movielen-1M上效果更好。 数据集:Criteo ? 更高阶的模型会比2阶的模型效果更好,说明在Criteo数据集上更高阶的交叉也是有意义的。 数据集:Criteo、ml-1m ? FLOPS是模型运行时间的近似估计。大部分模型的运行时间大约是参数量#Params的2倍,但xDeepFM却高出了一个数量级,难以落地。
论文做了一个CTR模型的benchmark,在公共数据集Criteo和Avazu对比了主流CTR模型的效果。 下面是FuxiCTR项目整体架构图: 图1 FuxiCTR项目整体架构 2.2 FuxiCTR支持主流的CTR算法以及在公共数据集效果 论文在公共数据集Criteo和Avazu对比了主流CTR模型的效果 ,下面是Criteo数据集上的效果展示图: 图2 Criteo数据集上的效果展示图 可以看出Criteo数据集上表现效果较好的是Wide&Deep、IPNN、DeepFM、DCN、xDeepFM和ONN 结合Criteo数据集和Avazu数据集模型效果来看,LR模型作为早期主流的CTR模型效果会差于其他CTR模型。
经验证,使用Criteo数据集训练CTR-DNN模型,训练吞吐量相比同类框架可提升6倍。 事实上,Criteo数据集只是一个简单的例子,在实际应用中会有更大规模的稀疏参数,ElasticCTR的训练和部署优势会更加显著。 ? 图:CTR-DNN模型训练效果对比 3. 我们以Criteo广告数据集为输入,采用ElasticCTR构建一个完整的推荐系统,实现广告的推荐。 Criteo广告数据集一共有27个维度的稀疏参数,每一条样本均有一个label来表示用户是否点击了这条广告。 准备数据集 部署一个HDFS集群,并在HDFS上存放好Criteo数据集。具体可参考HDFS配置教程。
基于昇腾用PyTorch实现传统CTR模型WideDeep网络 本文主要介绍如何在昇腾上使用pytorch对推荐系统中经典的网络模型WideDeep网络进行训练的实战讲解,使用数据集是criteo,主要内容分为以下几个模块 : 推荐系统概述 WideDeep网络创新点介绍 WideDeep的网络架构剖析及搭建 使用criteo数据集训练WideDeep网络实战 - criteo数据集介绍 - 模型训练过程定义 - 评估模型性能 - 使用criteo训练wideWeep模型 推荐系统概述 推荐系统可以看作是搜索排名系统,其中输入查询是一组用户和上下文信息,输出是条目的排名列表 数据集介绍 criteo数据集是一个关于展示广告点击率预测的经典数据集,由广告技术公司Criteo实验室提供,被用于许多CTR比赛中。 /data/widedeepDataset/criteo_sampled_data.csv" # 通过pandas加载数据集到data,因此表格中的数值将会变成二维矩阵的形式存储在data中 data
例如,从criteo数据集上观察到,对比起在该块前存在的features集合,new data的第一块会带来12%的new features,而第14个块仍会带来4%的new features。 图4 来自criteo dataset观察到的,随着new data的blocks进来,new features对比起已存在features集合的比例 在分配合适的ids给所有features后,IncCTR Criteo。该数据集用于CTR预估的benchmark算法。 为了减小复制实验结果的目的,我们在criteo数据集上做了数据处理的细节。根据kaggle比赛,涉及datasampling、discretization以及feature filtering。 Data sampling:考虑数据的imbalance(只有3%的样本是正),我们将负样本做down sampling,将正样本比例接近50% 离散化:类别型和数值形features都存在在Criteo
[2].http://www.csie.ntu.edu.tw/~r01922136/Kaggle-2014-criteo.pdf [3].https://github.com/guestwalk/ Kaggle-2014-criteo
公众号算法美食屋后台回复关键词:torchkeras,获取本文notebook源码和所用criteo_small数据集下载链接。
数据集下载 这次我们使用Kaggle上的Display Advertising Challenge挑战的criteo数据集。 https://www.kaggle.com/c/criteo-display-ad-challenge/ 下载数据集请在终端输入下面命令(脚本文件路径:. /data/download.sh): wget –no-check-certificate https://s3-eu-west-1.amazonaws.com/criteo-labs/dac.tar.gz