华为开源CTR Benchmark,学术界SOTAs的照妖镜?

de3e01234ea66643c18adb71cbb06f4d.png

文 | 卖萌酱

大家好,我是卖萌酱。

众所周知,与CV、NLP不同,搜索、广告、推荐领域的学术界paper在很多问题上喜欢各玩各的,缺乏一个统一可比的benchmark。

就推荐/广告中核心的CTR预估问题来讲,从传统的LR、FM到Wide&Deep、DeepFM、DCN、DFN等花里胡哨的模型,看似模型结构越来越fancy,但真实效果来说,我觉得每个CTR从业者往往都心知肚明:

这么nb的模型,放在我的业务场景里怎么就没了效果捏?

关注CTR问题的小伙伴,可能会对2020年华为发表在CIKM'21的一篇论文有印象:

论文标题:
Open Benchmarking for Click-Through Rate Prediction
论文链接:
https://arxiv.org/pdf/2009.05794.pdf

论文对2007-2020年提出的若干CTR模型做了统一的评测。

然而,

一直到几个月前,这个benchmark才刚刚开源。。。尽管开源行为非常低调,但还是被卖萌酱抓到了,贴上repo链接:

https://github.com/huawei-noah/benchmark/tree/main/FuxiCTR

关于这个CTR Benchmark,下面贴上知乎大佬@失落的萨特 对此的评价[1]

有些实践经验的小伙伴都知道,迭代了几轮之后的搜索推荐排序模型,模型结构的优化空间是非常小的。很多论文提出的idea,也就在toy dataset上面跑跑,拿到大公司的核心业务场景上,基本没什么用。排除作者恶意灌水之类的问题,原因可能是:

  1. 搜索推荐是个工业场景,对比CV NLP,核心的数据和系统相对闭源,public dataset的特征,样本,数据背后对应的问题,对于大公司核心业务场景来说都太简单了。在这样简单的数据/任务上做的提升,可能是没办法迁移到复杂的真实系统中。

  2. 各个公司发的文章有时候也没办法真正相互借鉴,因为大家的数据和系统还是不同的,系统的完善程度,复杂度,数据的规模,特征的复杂度,系统和用户交互的真实情况,仍然存在很大的差异。说白了公司里面一些小场景做的提升,拿到大场景上就未必有效了,更别提放到其他公司,其他系统,其他数据上。每篇paper都号称吊打SOTA,可惜其实没几篇是真正的SOTA。

  3. 大公司的算法工程师忙着处理数据和迭代系统,大家的日常工作就不是在一个相对固定的环境上冥思苦想,刷分打榜。等工作拿到业务效果,要发paper,PR时候才随便找个公开数据集跑跑,跑出来的实验结论可想而知。综上,其实现在搜推广的research community,面临各说各话,关公战秦琼的窘境,真实有效的方法不多。当然可能其他深度学习领域也是类似的。说回这篇FuxiCTR,做了一个CTR模型的benchmark,在Criteo, Avazu两个数据集上,对比了最近几年经常提到的一些模型。因为是benchmark类的文章,实验做的还是比较严谨的,下面是实验结果:f8ab8ec26fd6b40f4e5a60f7b1ec6219.png

几点个人看法:

  1. 两个数据集上,SOTA对比DNN大概0.3%, 0.4% CTR AUC的提升。提升幅度终于有点和工作中对的上了=。=,现在一些paper,随便改改网络连接就report几个点的AUC提升,嗯,还沉迷在做科幻作家的状态。

  2. 两个数据集对比大公司核心业务场景的数据,还是toy dataset。二三十个特征,几千万的样本,做explicit feature interaction的模型收敛快,可能会占点便宜。但真实的搜推场景往往是数据源源不断,模型越来越大的,在增量训练的情况下,0.3~0.4%相对DNN的优势都不见得保持住。

  3. 对于这么小的数据集,要做0.3%~0.4% CTR AUC的提升其实有很多其他办法,比如做做特征工程,DNN加大加宽,增量训练,ODL,跨场景正样本迁移等等。

  4. 在上面这些都做过几轮优化的情况下,模型的baseline已经很强了,文中提到的0.3%~0.4%的结构优化提升,可能会收敛到0.1%~0.2%,甚至根本不存在。

总结下,还是希望看到更多FuxiCTR这样的工作,让整个RS/IR community能多点共识,论文和工作能少点割裂。

参考资料

[1]

读paper--FuxiCTR: https://zhuanlan.zhihu.com/p/404814833

e1ad7799d17615d24197654f823beee0.png后台回复关键词【入群

加入卖萌屋NLP、CV与搜推广求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

404a11ca37283b426bdb5b2822de6356.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 376. 摆动序列(贪心 动态规划)

文章目录1. 题目2. 解题2.1 贪心2.2 动态规划1. 题目 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。 例如, [1,7,4,9,2…

Spring Cloud实战小贴士:Zuul的饥饿加载(eager-load)使用

上一篇我们介绍了如何使用Ribbon的earger-load配置加速Spring Cloud中对服务接口的第一次调用。可是这样只是解决了内部服务间的调用,另外一个问题依然经常困扰我们,那就是网关到内部服务的访问。由于Spring Cloud Zuul的路由转发也是通过Ribbon实现负载…

论文浅尝 | ESimCSE:无监督句子表示对比学习的增强样本构建方法

笔记整理:高超尘,中国科学院信息工程研究所硕士动机对比学习在学习无监督句向量方面引起了广泛的关注。其中最受关注的无监督方法是unsup-SimCSE(Gao et al., EMNLP 2021)。Unsup-SimCSE使用Dropout作为数据增强方法,将相同的输入…

一份北大信科内部流传的 “CS 自救指南”

本文转载自公众号“夕小瑶的卖萌屋”,专业带逛互联网算法圈的神操作 -----》我是传送门 关注后,回复以下口令: 回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读) 回复【入群】&#xf…

LeetCode 678. 有效的括号字符串(栈)

1. 题目 给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 )。任何右括号 ) 必须有相应的左括号 ( 。…

Spring Cloud实战小贴士:Ribbon的饥饿加载(eager-load)模式

我们在使用Spring Cloud的Ribbon或Feign来实现服务调用的时候,如果我们的机器或网络环境等原因不是很好的话,有时候会发现这样一个问题:我们服务消费方调用服务提供方接口的时候,第一次请求经常会超时,而之后的调用就没…

图谱实战 | 图谱问答在小米小爱中的实践探索

转载公众号 | DataFunTalk分享嘉宾:代文博士 小米 高级算法工程师编辑整理:何雨婷 湖北工业大学出品平台:DataFunTalk导读:今天的介绍会围绕以下三点展开:小爱同学应用场景信息抽取图谱问答01小爱同学应用场景介绍首先…

稀疏大模型简述:从MoE、Sparse Attention到GLaM

文 | 唐工源 | 知乎Sparsity, ..., is another important algorithmic advance that can greatly improve efficiency. 稀疏性,是(神经架构搜索)之外另一个重要的算法进步,可以大大提高效率。The use of sparsity in models is .…

LeetCode 777. 在LR字符串中交换相邻字符(双指针)

1. 题目 在一个由 ‘L’ , ‘R’ 和 ‘X’ 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作。一次移动操作指用一个"LX"替换一个"XL",或者用一个"XR"替换一个"RX"。现给定起始字符…

Spring Cloud构建微服务架构:服务网关(过滤器)【Dalston版】

在前两篇文章:服务网关(基础)、服务网关(路由配置)中,我们了解了Spring Cloud Zuul作为网关所具备的最基本功能:路由。本文我们将具体介绍一下Spring Cloud Zuul的另一项核心功能:过…

图谱实战 | 美团基于知识图谱的个性化新闻推荐系统

转载公众号 | DataFunTalk分享嘉宾:刘丹阳博士 美团 实习生编辑整理:毛佳豪 中国平安浙江分公司(实习)出品平台:DataFunTalk导读:新闻阅读是人们日常生活中必不可少的活动,随着新闻逐渐从纸质端转变到电子端&#xff0…

为了养成NLP卷王,我画了一张路线图

又到了一年一度的校招季,与往年不同,受各种事件综合作用的影响,今年的校招季让很多应届生感到额外的寒冷和不安。但换个角度来说,企业主每年都会嚷嚷着算法岗人才供不应求。当然这里不是说应聘的人不够多,而是能过及格…

LeetCode 870. 优势洗牌(贪心 二分查找)

1. 题目 给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述。 返回 A 的任意排列,使其相对于 B 的优势最大化。 示例 1: 输入:A [2,7,11,15], B [1,10,4,11] 输出&#xff1…

Spring Cloud构建微服务架构:服务网关(路由配置)【Dalston版】

在上一篇《Spring Cloud构建微服务架构:服务网关(基础)》一文中,我们通过使用Spring Cloud Zuul构建了一个基础的API网关服务,同时也演示了Spring Cloud Zuul基于服务的自动路由功能。在本文中,我们将进一步…

技术动态 | Neo4j知识图谱的技术解析及案例分享

转载公众号 | DataFunTalk 合作分享:Jesus Barrasa-Neo4j-欧洲区售前和技术总监合作分享:丁可-Neo4j-亚太区高级技术顾问编辑整理:吴祺尧-加州大学圣地亚哥分校出品平台:DataFunTalk导读:Neo4j近年来与众多公司合作&am…

哈工大博士历时半年整理的《Pytorch常用函数函数手册》开放下载!内含200余个函数!...

近期有很多小伙伴在公众号后台咨询有没有关于Pytorch函数使用的学习资料。Pytorch是目前常用的深度学习框架之一,深受学生党的喜爱,小白本人也是使用的Pytorch框架。为了帮助更多小伙伴,小白学视觉团队整理了这份目前最全的Pytorch常用函数手…

LeetCode 984. 不含 AAA 或 BBB 的字符串(贪心)

1. 题目 给定两个整数 A 和 B,返回任意字符串 S,要求满足: S 的长度为 A B,且正好包含 A 个 ‘a’ 字母与 B 个 ‘b’ 字母;子串 ‘aaa’ 没有出现在 S 中;子串 ‘bbb’ 没有出现在 S 中。 示例 1&…

Spring Cloud构建微服务架构:服务网关(基础)【Dalston版】

通过之前几篇Spring Cloud中几个核心组件的介绍,我们已经可以构建一个简略的(不够完善)微服务架构了。比如下图所示: 我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbo…

论文浅尝 | PASSLEAF:基于样本池的不确定性知识图谱嵌入半监督学习框架

笔记整理:陈一林,东南大学硕士,研究方向为不确定性知识图谱规则与推理。论文引用:Citation: Chen, Z.M., Yeh, M.Y. and Kuo, T.W., 2021, May. PASSLEAF: A Pool-bAsed Semi-Supervised LEArning Framework for Uncertain Knowle…

扔掉老破V100、A100,英伟达新一代计算卡H100来了

本文转载自公众号“夕小瑶的卖萌屋”,专业带逛互联网算法圈的神操作 -----》我是传送门 关注后,回复以下口令: 回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读) 回复【入群】&#xf…