2021腾讯广告算法大赛初赛在即,每位选手都在为即将来临的赛事做准备。为了帮助大家更好地了解赛事,我们邀请到了2020腾讯广告算法大赛亚军战队成员——林有夕,来和我们分享他在历届算法大赛中积累的一些经验。
我是林有夕(网名),时间过得很快,转眼间腾讯广告算法大赛已经办到第五届了,年年难,届届高,人多多,影响力也越来越大。今年大赛不仅和国际顶会接轨,为了降低内卷难度,还开辟了两大赛道,此处给运营大佬点个赞。
算上2018年第一次参加腾讯广告算法大赛已经四个年头了,作为一名老粉丝,在这里给大家分享一些心得和感悟,希望能给大家带来些启发。同时,我也会把每届腾讯广告算法大赛里我所用到的最关键的key 及其用法与大家分享。
01
2018-LOOKALIKE -
排名:15
关键词:启萌(就是萌新的萌)
彼时的我还是二三线城市里做着数据分析和开发的SQL Boy,想搞机器学习却又无从下手。说来也巧,那时正好收到了一则腾讯广告算法大赛的定向推送。我的天,又有奖金,又有offer,还这么正牌!抱着学习和见见世面的心态,我加入了大赛群,开始了学(shui)习(qun)的生涯。
题目是非常正点的点击率预估场景,无论从数据规模还是质量上都是首屈一指的,提供了几十万不同画像标签以及几千万的数据样本。连鲁迅都回忆到:”后来,我再也没见过那么干净的用户画像,也再也没见过那么适合CTR NN 的大型CTR数据集了”。
规模上:提供了几十万的不同画像标签、以及几千万的数据样本。
质量上:实际测试中,即便是频率只有十几次的稀疏标签,都对模型预测提供正向收益。
效果上:Deep CTR 模型吊打LGB,展现了NN的潜力和魅力。
那么对于新手玩家而言,真的无路可走了么?答案当然是否定的。
以下几个关键点与大家分享:
得益于简洁的Python以及Pandas 等工具,感谢大佬的开源,上手一个Baseline,真的不难,请不要恐惧它。
对于新人,加群很重要,交流很重要,因为这些可以帮你快速过滤各种信息知识,从海量的公式中跳出。让你知道哪些是真正相关的、有用的点,并着重理解与学习。当然大部分人不会分享自己真正相关的上分点。所以也要学会理性判断。别被带偏。
如何甄别优秀的Baseline,其实很简单,一个优秀的Baseline,一定是从大的方向上是对的,比方建模方法、验证策略、模型选型等。同时具有很高的效率和可调试性。往往很多比赛的TOP都是基于一些开源的Baseline 来做的。
多基于业务思考,找到关键的因果逻辑并确保该逻辑靠谱后,尝试用多种方式去应用它,不要因为一时没效果就放弃它。记住:上分 =合理业务逻辑 + 正确的应用方法。
最终靠一组特征在Baseline上的合理应用,我获得15名的solo名次,并受邀参加腾讯三日游,更收获了人生中第一份算法offer。
“那年,机器学习门槛挺低的,人人有机会。”
02
2019-预估广告曝光-
排名:6
关键词:活学活用
2019年比赛前期,内部群里出现了一些关于赛题的讨论。核心点围绕在简单的规模结果效果普遍高于模型结果,使得模型做了很多工作后,才可以勉强超越规则的结果,这让人很纠结,同时也激发了我的探索欲。最终,我采用了类似于残差集成的方法——Y_model = Y – rule(X), 使用规则预测的误差作为模型的学习目标,达到非常好的稀疏学习效果。仅使用该方法就让我从20名左右冲刺到榜5。
在一些更为典型的场景下,比如车站人流量预测中,预测流量的变化量而非绝对值,我就使用了同样的解决方案。其实这个解决方案很简单,很多场景下都被人使用过。所以活学活用以及不放过任何一个普遍问题很重要。
“专注解决核心矛盾,才会获得成倍的收益。”
03
2020-预测用户的人口统计学属性-
排名:2
关键词:挑战自我
这一年的赛题更像是NLP题,因为是第一次接触NLP场景,对自己也是一种挑战,由于数据规模庞大,所以对我和我的2080Ti也是一种挑战。
一个快速的壳子非常重要。尤其对于初学者,需要疯狂的、高速的试错,尝试不同的idea。
不要在意一时的成绩,前期多注重测试不同方案的效果,不要把时间浪费在无意义的融合(5折、多种子等)上。
前期效果稳定期间,可以使用更小点的数据集,加速方案验证。
尝试分析背后的原理,即便用不上BERT这些复杂模型,也可以
获取关键信息从而减少损失。
传统的简单特征工程的结合依旧非常有效,背后的原因值得深思。
最终在冠军和季军的BERT夹击下,我保住了第二的成绩。
“如果能回到过去,我想我会租机器,跑BERT ……”
04
2021-视频广告秒级语义解析-多模态视频广告标签-
关键词:让创新更自由
2021年赛题难度再度升级,相关技术也在升级,预训练发展迅猛,模型越来越大。一方面为各个领域带来了巨大的效果提升,另一方面,数据和算力的优势进一步扩大,也提高了深度学习的门槛。
假如你只有一张卡,你会选择用它来配合训练更大的模型,还是选择去做其他新的尝试? 我相信每个人不同时期都会有不同的答案。
所幸的是TI-ONE依旧会为大家提供充足的算力。回想一下,腾讯广告算法大赛一直都致力于把最前沿的场景,无差别的提供给每一个想要获得机会的人,无论是数据、赛制、资源还是机器等。感谢腾讯广告算法大赛给了我入行的机会,也希望它能一直办下去,越办越好。
“大家加油~~~卷起来!!!”
文章最后,主办方采访了林有夕几个问题,大家一起来看看吧~
Q1
18年solo参赛,19年和20年都有组队而且队伍都有女孩子,想问你怎样和女生组队,有没有什么经验可以传授?
参加腾讯广告算法大赛的女生们都很厉害,两次队友都有女生其实也是蛮巧合的啦,因为我业余时间比较少,单打独斗难度系数很高,所以很多idea都需要在和队友的讨论中升华或者获得些新的想法。如果有有趣且成绩又好的小姐姐找你组队,还是挺难找理由拒绝的啦。
Q2
21年的赛题已经释出,在数据还未公布前,你是否有关于赛题的一些思路?可否分享一下?
我多模态这块经验基本等于无,相关思路仅供参考啊。这题目前相关信息都没有告知,主要问题还是在于数据提供方式和规模,按惯例,规模不会小,那么提供方式,是否是原始视频数据?或者是我多模态这块经验基本等于无,相关思路仅供参考啊。目前具体信息都没有告知,主要问题还是在于数据提供方式和规模,按惯例规模不会小,那么提供方式是否是原始视频数据?或者是已经经过特征提取的帧向量?
前者的话,意味着需要考虑更多外部相关数据集,准备更多的机器资源,形成数据和算力压制。后者的话意味着难度大大降低,趣味也少了很多,但是机器和数据的门槛也大幅度降低。没有业务特征可以做的情况下,更考验模型设计的基本功。已经经过特征提取的帧向量?
我个人而言,最近干了三件事。
看最近的深度学习框架的相关语法。保证自己还能写出来壳子,以前用的api都被淘汰了。
看了一下CV的发家史,用自己的理解来尝试解读具有突破性的设计。
阅读一些生物视觉相关的资料,人和动物视觉的差异,思维方式差异,视觉进化史相关的,希望能获得些新思路吧,有些生物上的问题还是挺有趣的。
Q3
从18年-20年,你的名次一直在稳定上升,从第15名、第6名到去年的亚军,请问今年是否有信心拿下冠军?
今年对我而言是个挺大的挑战,我的个人目标是用非暴力的方案冲进前十,至于最终多少名要看队友啦,团队合作还是很重要的。
Q4
最后有什么建议想和选手们分享下?
很多选手都是抱着学习的目的来的,当然也有榜上的成绩。因为成绩只看最后一次提交,所以还是挺建议在前期不要过度关注自己的位置,多关注模型优化,前期不要把资源浪费在堆模型上,多测试自己idea,才能学到的更多。
看完林有夕选手分享的参赛经历和实战经验,想必各位对腾讯广告算法大赛也有了更深入的了解。如果你也想和他一样在顶级赛事中不断攀登、不断突破,那么抓紧时间报名参加“2021腾讯广告算法大赛”吧!