llm-based的reranker的一些问题请教
您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.bge-reranker-v2-gemma 2.BAAI/bge-reranker-v2-minicpm-layerwise
计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。
请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗?
使用的是yes的logits
- 在相同的数据下,两种方法的差异可以参考这里 https://github.com/FlagOpen/FlagEmbedding/tree/master/FlagEmbedding/llm_reranker#evaluation
- 相同数据下同一方法的不同prompt差异没有在标准的数据集上全量测试过,但是训练的时候针对不同的数据集引入了不同的prompt,所以推理的时候用prompt是有帮助的
您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.bge-reranker-v2-gemma 2.BAAI/bge-reranker-v2-minicpm-layerwise
计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。
请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗?
你好,第一种原理时:计算query和doc的相关性,先输出yes或者no这样的标志,然后对这个标志上的数据做logits吗? 第二种原理中的最后一个词的向量进行映射是什么意思?不是逐句进行映射吗?针对以上两种原理不是很明白,期待您的回复,谢谢。
您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.bge-reranker-v2-gemma 2.BAAI/bge-reranker-v2-minicpm-layerwise 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗?
你好,第一种原理时:计算query和doc的相关性,先输出yes或者no这样的标志,然后对这个标志上的数据做logits吗? 第二种原理中的最后一个词的向量进行映射是什么意思?不是逐句进行映射吗?针对以上两种原理不是很明白,期待您的回复,谢谢。
只使用yes的logits作为score,并不会输出yes或者no这样的标志 其实使用yes的logits也是对最后一个token的hidden states经过一个线性层的映射,在embedder中这个hidden states会作为embedding,而在reranker中这个hidden states会经过一个线性层转换为一个score(也就是这里的yes的logits)
您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.bge-reranker-v2-gemma 2.BAAI/bge-reranker-v2-minicpm-layerwise 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗?
你好,第一种原理时:计算query和doc的相关性,先输出yes或者no这样的标志,然后对这个标志上的数据做logits吗? 第二种原理中的最后一个词的向量进行映射是什么意思?不是逐句进行映射吗?针对以上两种原理不是很明白,期待您的回复,谢谢。
只使用yes的logits作为score,并不会输出yes或者no这样的标志 其实使用yes的logits也是对最后一个token的hidden states经过一个线性层的映射,在embedder中这个hidden states会作为embedding,而在reranker中这个hidden states会经过一个线性层转换为一个score(也就是这里的yes的logits)
这个地方为什么是对最后一个token的hidden states做映射,一个query或者doc应该由很多个token组成的吧,最后的得分不应该是多个token组成的吗?
您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.bge-reranker-v2-gemma 2.BAAI/bge-reranker-v2-minicpm-layerwise 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗?
你好,第一种原理时:计算query和doc的相关性,先输出yes或者no这样的标志,然后对这个标志上的数据做logits吗? 第二种原理中的最后一个词的向量进行映射是什么意思?不是逐句进行映射吗?针对以上两种原理不是很明白,期待您的回复,谢谢。
只使用yes的logits作为score,并不会输出yes或者no这样的标志 其实使用yes的logits也是对最后一个token的hidden states经过一个线性层的映射,在embedder中这个hidden states会作为embedding,而在reranker中这个hidden states会经过一个线性层转换为一个score(也就是这里的yes的logits)
这里说的"经过一个线性层转换为一个score",就是把最后一个词的向量,来预测生成下一个词的MLP吧,mlp的维度是[hidden_siize,词表的大小]?最后取yes的那个词的分值,作为最后的得分吧?
您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.bge-reranker-v2-gemma 2.BAAI/bge-reranker-v2-minicpm-layerwise 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗?
你好,第一种原理时:计算query和doc的相关性,先输出yes或者no这样的标志,然后对这个标志上的数据做logits吗? 第二种原理中的最后一个词的向量进行映射是什么意思?不是逐句进行映射吗?针对以上两种原理不是很明白,期待您的回复,谢谢。
只使用yes的logits作为score,并不会输出yes或者no这样的标志 其实使用yes的logits也是对最后一个token的hidden states经过一个线性层的映射,在embedder中这个hidden states会作为embedding,而在reranker中这个hidden states会经过一个线性层转换为一个score(也就是这里的yes的logits)
这里说的"经过一个线性层转换为一个score",就是把最后一个词的向量,来预测生成下一个词的MLP吧,mlp的维度是[hidden_siize,词表的大小]?最后取yes的那个词的分值,作为最后的得分吧?
是的,将最后一个token的hidden state转变为一个score,不过这里的LLM用的是linear层映射,而不是MLP映射
您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.bge-reranker-v2-gemma 2.BAAI/bge-reranker-v2-minicpm-layerwise 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗?
你好,第一种原理时:计算query和doc的相关性,先输出yes或者no这样的标志,然后对这个标志上的数据做logits吗? 第二种原理中的最后一个词的向量进行映射是什么意思?不是逐句进行映射吗?针对以上两种原理不是很明白,期待您的回复,谢谢。
只使用yes的logits作为score,并不会输出yes或者no这样的标志 其实使用yes的logits也是对最后一个token的hidden states经过一个线性层的映射,在embedder中这个hidden states会作为embedding,而在reranker中这个hidden states会经过一个线性层转换为一个score(也就是这里的yes的logits)
这里说的"经过一个线性层转换为一个score",就是把最后一个词的向量,来预测生成下一个词的MLP吧,mlp的维度是[hidden_siize,词表的大小]?最后取yes的那个词的分值,作为最后的得分吧?
是的,将最后一个token的hidden state转变为一个score,不过这里的LLM用的是linear层映射,而不是MLP映射
请问layerwise的llm reranker是在哪篇paper讲解的呢,想阅读学习下
您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.bge-reranker-v2-gemma 2.BAAI/bge-reranker-v2-minicpm-layerwise 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗?
你好,第一种原理时:计算query和doc的相关性,先输出yes或者no这样的标志,然后对这个标志上的数据做logits吗? 第二种原理中的最后一个词的向量进行映射是什么意思?不是逐句进行映射吗?针对以上两种原理不是很明白,期待您的回复,谢谢。
只使用yes的logits作为score,并不会输出yes或者no这样的标志 其实使用yes的logits也是对最后一个token的hidden states经过一个线性层的映射,在embedder中这个hidden states会作为embedding,而在reranker中这个hidden states会经过一个线性层转换为一个score(也就是这里的yes的logits)
这里说的"经过一个线性层转换为一个score",就是把最后一个词的向量,来预测生成下一个词的MLP吧,mlp的维度是[hidden_siize,词表的大小]?最后取yes的那个词的分值,作为最后的得分吧?
是的,将最后一个token的hidden state转变为一个score,不过这里的LLM用的是linear层映射,而不是MLP映射
请问layerwise的llm reranker是在哪篇paper讲解的呢,想阅读学习下
我是看了下源码,学习了下。
您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.bge-reranker-v2-gemma 2.BAAI/bge-reranker-v2-minicpm-layerwise 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗?
你好,第一种原理时:计算query和doc的相关性,先输出yes或者no这样的标志,然后对这个标志上的数据做logits吗? 第二种原理中的最后一个词的向量进行映射是什么意思?不是逐句进行映射吗?针对以上两种原理不是很明白,期待您的回复,谢谢。
只使用yes的logits作为score,并不会输出yes或者no这样的标志 其实使用yes的logits也是对最后一个token的hidden states经过一个线性层的映射,在embedder中这个hidden states会作为embedding,而在reranker中这个hidden states会经过一个线性层转换为一个score(也就是这里的yes的logits)
这里说的"经过一个线性层转换为一个score",就是把最后一个词的向量,来预测生成下一个词的MLP吧,mlp的维度是[hidden_siize,词表的大小]?最后取yes的那个词的分值,作为最后的得分吧?
是的,将最后一个token的hidden state转变为一个score,不过这里的LLM用的是linear层映射,而不是MLP映射
那还想请问一下各中间层(s1,s2,s3)也是取得最后一个token吗?
您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.bge-reranker-v2-gemma 2.BAAI/bge-reranker-v2-minicpm-layerwise 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗?
你好,第一种原理时:计算query和doc的相关性,先输出yes或者no这样的标志,然后对这个标志上的数据做logits吗? 第二种原理中的最后一个词的向量进行映射是什么意思?不是逐句进行映射吗?针对以上两种原理不是很明白,期待您的回复,谢谢。
只使用yes的logits作为score,并不会输出yes或者no这样的标志 其实使用yes的logits也是对最后一个token的hidden states经过一个线性层的映射,在embedder中这个hidden states会作为embedding,而在reranker中这个hidden states会经过一个线性层转换为一个score(也就是这里的yes的logits)
这里说的"经过一个线性层转换为一个score",就是把最后一个词的向量,来预测生成下一个词的MLP吧,mlp的维度是[hidden_siize,词表的大小]?最后取yes的那个词的分值,作为最后的得分吧?
是的,将最后一个token的hidden state转变为一个score,不过这里的LLM用的是linear层映射,而不是MLP映射
那还想请问一下各中间层(s1,s2,s3)也是取得最后一个token吗?
是的
