-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rerank阈值设置咨询 #15
Comments
不能这么设置: |
谢谢回复! |
是这样的,RerankerModel对query和passage相同的情况,只会得分比较高,但不会是1,这是算法底层原理决定的。 |
好的 非常感谢!!!很有用的建议! |
感觉rerank的分数区分度很小 pairs = [['what is panda?', 'hi'], ['what is panda?', 'The giant panda (Ailuropoda melanoleuca), sometimes called a panda bear or simply panda, is a bear species endemic to China.']]
未sigmoid结果: sigmoid结果: |
感谢您对bce的关注,是这样的: 1、rerank判断query和passage的语义相关性分数,bce是0~1的,这个例子中0.34和0.58是很合理的。因为一般bce的rerank分数用来过滤低质量的passage,推荐的rerank分数阈值是0.35或0.4,所以这个0.35或0.4是一个门槛,0.58是一个相对比较正的正例对了。 2、bge一般不用sigmoid来获取分数,因为bge模型训练过程中语义相关分数是用softmax得出来的,但是softmax得到的分数是相对分数(相对分数只能用来排序,但用来表征query和passage到底有多么语义相关就不可靠了(具体可以看一下softmax公式);绝对分数用处就比较大了,既可以用来排序,也可以表征query和passage到底有多么相关,可以用来过滤低质量passage)。 3、你举的例子bge rerank+sigmoid分数看着更符合的你预期只是巧合,多试几个例子你就会发现问题(问题根源是bge rerank不应该用sigmoid)。而且你细想,你举的例子,其实bce rerank分数更加科学,因为例子中的正例bge rerank能达到0.998,这个分数高的出奇,你细想就会发现问题(这个分数太硬了,更正的正例分数应该预期是多少呢?bge rerank分数太硬的原因是错用了sigmoid输出分数,应该用softmax)。 相对来说bce rerank负例0.34,正例0.58是更科学的,正负例的rerank分数更加smooth(其实这个smooth就是我们bce rerank精排能力强的一个原因:https://github.com/netease-youdao/BCEmbedding?tab=readme-ov-file#1-multiple-domains-scenarios)。 4、总结一下:bce rerank可以输出绝对的语义相关分数,而且rerank 分数是smooth的,以0.35或0.4为界,可用于过滤低质量passage。 |
感觉 bce reranker 训练阶段先 pointwise 得到绝对语义分,再 listwise 转相对排序分,实现兼顾的思想。但从技术报告来看,似乎更加复杂,如提到的 “其分数的绝对值可表征真实的语义相关程度”。能再详细的解释一下吗 @shenlei1020 |
可能有 《Joint Optimization of Ranking and Calibration with Contextualized Hybrid Model》 这篇论文的思想在里面,能大概捋一下吗 |
你好,我通过以下方式计算出来的分数是: 请问是需要对他进行softmax处理吗?应该怎么处理? |
感谢贵团队的工作!
想请教一下,检索完成以后采用排序模型进行Rerank,这个Rerank的值设置为多大比较合适?0.5吗,低于0.5就是不相关,高于0.5就是相关?
The text was updated successfully, but these errors were encountered: