![](https://i-blog.csdnimg.cn/direct/2c722064ce404ca39723801721cb4eaa.png)
一、什么是相关性模型?
相关性模型主要关注的是query和doc的相关性。例如给定query,和1000个doc,找到哪个doc是好query最相关的。
二、为什么需要相关性模型?
熟悉es的应该都熟悉BM25相关性算法。它是一个很简单的相关性算法。我们实际使用中,经常会遇到一个问题就是如何。搜的内容和我给定的query不相关。换句话说,返回的结果不包含先要的结果。
相关性是一个复杂的问题。不是简单的Bm25算法。我们需要相关性模型来更好的做这件事。
三、相关性模型
交叉BERT模型,准确性好,推理代价大,更适合用在粗排或者精排阶段。
双塔BERT模型,不够准确,但是推理代价小。适合用来召回阶段。
3.1 交叉BERT模型
![](https://i-blog.csdnimg.cn/direct/04701f18ce13412083524906d2f575d8.png)
分词:字粒度与词粒度
![](https://i-blog.csdnimg.cn/direct/c362a561eb5a45c6a8e875df5ab05a70.png)
![](https://i-blog.csdnimg.cn/direct/2989d0c899b04777b5b540689f37f520.png)
如何减低交叉BERT模型的推理成本
![](https://i-blog.csdnimg.cn/direct/e7752db190be4ae5a91be366ad6bb505.png)
3.2 双塔BERT模型
![](https://i-blog.csdnimg.cn/direct/81fb0285ec044a15a5f7a5459ace56e3.png)
四、训练相关性模型
![](https://i-blog.csdnimg.cn/direct/50a789c75ad1455f85ddebfffc43e3ac.png)
4.1 微调
![](https://i-blog.csdnimg.cn/direct/9ada3e00febb44578d657ab25b0809be.png)
回归任务
![](https://i-blog.csdnimg.cn/direct/b8fa8bafc2ac4fb58339845314c7e84b.png)
排序任务
![](https://i-blog.csdnimg.cn/direct/d4a9a525bacf40b397d463948abac3ce.png)
![](https://i-blog.csdnimg.cn/direct/fd9df68bc52f459688b80b9d1436c79c.png)
4.2 后预训练
从事发后,从以发生的事中,去再提升当前的能力。通过用户的点击行为来有优化模型。
![](https://i-blog.csdnimg.cn/direct/fac5ff8d4e1247939942f31062f72f6b.png)
4.2.1 数据筛选
![](https://i-blog.csdnimg.cn/direct/412cfd4aadf340f6af1940dae230a461.png)
![](https://i-blog.csdnimg.cn/direct/4ee337dc5f0642e4a492a4eaac039b13.png)
4.2.2 后训练,构造训练数据
挑选用户的点击数据。得到query,topk的doc,以及用户的点击行为x。然后抽样几万条数据,去人工标注,标注得到相关性y,然后用这几万条数据去训练一个小模型来计算点击行为x和相关性y的关系。然后再用这个小模型去预测10亿条数据的相关性分数。
![](https://i-blog.csdnimg.cn/direct/d68f02c9053f4853bdb4921d5ddb1d06.png)
![](https://i-blog.csdnimg.cn/direct/cc8922955cb443428401ae799def747e.png)
![](https://i-blog.csdnimg.cn/direct/0090c826dcd14a1bbacd1dec539d8857.png)
4.3 蒸馏
蒸馏是把一个大模型变成一个小模型。为什么要蒸馏,模型越大,推理成本越大,时间成本也越大,当然也越准确。
4.3.1 为什么要蒸馏?
![](https://i-blog.csdnimg.cn/direct/d3a3bc2d37ce4de09f250c418b40a9c5.png)
用大模型,蒸馏得到小模型,最终的效果比直接训练一个小模型得到的效果更好。
4.3.2 如何做蒸馏
![](https://i-blog.csdnimg.cn/direct/a598de2869b44f5989d9143ca3444f79.png)
蒸馏的技巧
![](https://i-blog.csdnimg.cn/direct/f6117e55314a489a8dce65d76beaea22.png)
![](https://i-blog.csdnimg.cn/direct/ad2c415976484363b6a240fef720f0f4.png)
![](https://i-blog.csdnimg.cn/direct/63ae1470943a46e29e2a75e9508c8e93.png)