FlagEmbedding icon indicating copy to clipboard operation
FlagEmbedding copied to clipboard

embedding一个有趣且奇怪的现象

Open ahpuchend opened this issue 1 year ago • 6 comments

作者您好,我在最近一直在fellow您的FlagEmbedding和相关榜单,很棒的工作。在使用bge-base/large的encode_corpus编码时,出现有一个有趣且奇怪的现象,在768/1024维度中,无论什么句子,有两个 sharp 值, 如base: image 如在294这一维度,基本上都在0.5左右 如large image

ahpuchend avatar Nov 29 '23 09:11 ahpuchend

您可以解释一下这种现象吗?

ahpuchend avatar Nov 29 '23 09:11 ahpuchend

我们尝试阿里gte模型来做同样的事情,发现他的base模型,也是294维度和其他维度出现同样的 sharp value. image

ahpuchend avatar Nov 29 '23 09:11 ahpuchend

image 这是我们的句子 image 注意到 就 单一个“好”也有这样的sharp value???

ahpuchend avatar Nov 29 '23 09:11 ahpuchend

你好,这个现象挺有意思的,我们之前也没考虑过。请问一下是中文模型还是英文模型,这个是normalize之后的结果还是之前的,以及图里每一行代表什么含义?

staoxiao avatar Nov 29 '23 09:11 staoxiao

谢谢您如此迅速的回复,这是中文模型,normalize之后的结果,而且我尝试编码简短的英文“hello world”, 甚至时 空字符“ ”,都有这样的现象,英文的模型 我没有尝试。图中的直线的意思时我们把 768/ 1024每个维度的值 画了出来,线之所有分开的时我们对不同emb画的时候,为了看清楚点,减去了 i
for i, emb in enumerate(doc_embs): plt.plot(emb - i) print(emb[290:295]) 我们仔细检查了代码,画的确实是不同的句子。 image

ahpuchend avatar Nov 29 '23 09:11 ahpuchend

可能是由于基座模型hfl/chinese-roberta-wwm-ext带来的问题,由于都是使用的这一中文基座模型,导致了这种现象。可以查看一下其他,比如英文模型,是否有这种现象。

staoxiao avatar Nov 29 '23 15:11 staoxiao