FlagEmbedding icon indicating copy to clipboard operation
FlagEmbedding copied to clipboard

这里的代码是不是有问题?deocder和cls模式都去的是序号0的embedding。

Open iamreallyi9 opened this issue 11 months ago • 1 comments

def _pool(self, embeddings, attention_mask): if "mean" in self.pooling_method: embeddings = embeddings.masked_fill( ~attention_mask[..., None].bool(), 0.0) embedding = embeddings.sum( dim=1) / attention_mask.sum(dim=1, keepdim=True) elif "cls" in self.pooling_method: embedding = embeddings[:, 0] elif "decoder" in self.pooling_method: embedding = embeddings[:, 0] else: raise NotImplementedError( f"Pooling_method {self.pooling_method} not implemented!")

    if "dense" in self.pooling_method:
        embedding = self.dense_pooler(embedding)
    return embedding

这里的代码是不是有问题?deocder和cls模式都去的是序号0的embedding。

https://github.com/FlagOpen/FlagEmbedding/blob/bc09ef57ef8bf605ed1490d985376646051ba21a/research/llm_embedder/src/retrieval/modeling_dense.py#L176

iamreallyi9 avatar Dec 16 '24 08:12 iamreallyi9

看这里的维度: https://github.com/FlagOpen/FlagEmbedding/blob/38f4bbf528c942724eeca9f694db5c9fe7513905/research/llm_embedder/src/retrieval/modeling_dense.py#L217-L223

SingL3 avatar Aug 29 '25 09:08 SingL3