粗排第三讲–双塔模型

2,238次阅读
没有评论

粗排第三讲--双塔模型

前言

好吧,继续开整粗排,在前面的两讲中,我们得到的收获是粗排训练样本的生成。那么接下来就是讲模型训练了。今天要讲的是用的比较多的双塔模型。一提到双塔模型,顿时好多话都想说出来,比如召回能用到,双塔召回的优势,巴拉巴拉一大堆,反正双塔模型是一个经典的模型,也是一个具有突破性和代表性的创新。但是也有不足,比如特征交叉这样的。说是不足,也不是很准确,看你怎么理解,效果与性能的权衡也是一个trade-off的问题,不过所有所有的一切都是要以上线为准,你整了一圈上不了线都是瞎扯淡哦!

模型简介

网络结构

这块不打算多讲,直接给大家贴一张图吧,双塔结构就是这么简单,一个用户塔,一个物料塔,然后就构成双塔了。

粗排第三讲--双塔模型

上面的senet只是一个特征筛选层,加不加你上线AB测试一下就好了。

其实这里说的是双塔,你不用双塔使用wide and deep 或者dcn等其他模型都可以,这块主要取决于你召回的物料的数量和线上允许的 RT ,就像前面说的你所做的都是以上线为前提,上不了线都是无用功啊!

话又说回来粗排的定位就是简单、快、高效,其实也不建议整的复杂,复杂的都让精排去整就好了。

优化目标

loss 一般就是常规的 CE

线上推理

双塔的优势在线上serving 速度快,当然这个快主要是在ANN召回这块比较快,具体的做法都是通用的

1、提前生成好物料的Embedding然后写入到 faiss,构建索引

2、线上实时生成用户侧 Embedding 然后查询相关的物料。(ps:这一步其实也是可以考虑提前生成好用户的 embedding,如果用户侧没有实时特征的话。)

总结

感觉也没啥好总结的,这里的双塔其实在召回dssm或者youtube dnn那块都会有接触,区别在于这里的loss优化使用ce,然而dssm 那块使用的是 softmax ce,这块注意一下。其实也好理解,理解召回和粗排的目的和定位就好了。

admin
版权声明:本站原创文章,由 admin2022-05-17发表,共计772字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)