grok
grok
请问下,我加载bge-rerank模型的tokenizer,下面的代码解析出来的如下: ``` query='中国人你好' title='你好中国人' res=tokenizer.encode_plus( query, title, add_special_tokens=True, max_length=512, # padding='max_length', truncation=True, # return_token_type_ids=True, return_tensors='pt' ) ``` {'input_ids': tensor([[ 0, 6, 75224, 124084, 2, 2, 6, 124084, 75224, 2]]), 'attention_mask':...
请问下, 1.bge-reranker模型在训练过程中,构造难负例了吗? 2.英文和中文的数据,不同来源的数据,是随机shuff后训练吗?
如下表所示,预测的时候开了fp16,可以辛苦看看是否准确嘛。 Model | T2Reranking | MMarcoReranking | CMedQAv1 | CMedQAv2 bge-m3-colbert | 66.82 | 26.71 | 75.88 | 76.83 1.如果准确的话,感觉指标偏低,甚至比不过bge-v1.5-embedding,主要猜想是下面几个原因: 1.1 训练集中增加跨语言数据集,会损害其在单一任务上的指标。 1.2 colbert领域内和向量模型,相差不大,只有在域外,相差可能会较大。 可以谈谈您的看法嘛?
非常棒的工作。我看代码过程中有一些疑问,辛苦您解答并确认下。 1.看代码的时候,发现colbert,在训练时,算score的时候并没有mask掉query和doc中的padding的部分,预测的时候,却mask掉了padding的部分,请问下是这样嘛?(还是因为数据的加载方式,其实训练的时候并没有padding)如果是这样的话,训练和预测不一致了,不会影响效果嘛? 2.看colbert的代码实现,发现相比原论文,有一些改变,请问下有做过加或者不加的实验嘛?加了效果会好嘛? 2.1 算出来的得分除了0.02的温度因子。 2.2算出来的得分除了query的长度。
https://github.com/FlagOpen/FlagEmbedding/blob/bd38bd350054d0dba39ea8d602afac1fab141b35/FlagEmbedding/reranker/data.py#L42 代码中padding=False item = self.tokenizer.encode_plus( qry_encoding, doc_encoding, truncation=True, max_length=self.args.max_len, padding=False, ) 但是参数这里又说的是会pad。所以实际训练的时候,是padding了吗? max_len: int = field( default=512, metadata={ "help": "The maximum total input sequence length after tokenization for input text....
### 🐛 bug 说明 CoSentLoss的输入数据格式是: ScoredPairRecord 就是带有分数的句对样本,在 PairRecord 的基础上添加了句对的相似分数(程度)。字段的名称是 sentence1 和 sentence2,以及 label。 # 1.0 代表相似,0.0 代表不相似 scored_pair_record1 = ScoredPairRecord(sentence1='肾结石如何治疗?', sentence2='如何治愈肾结石', label=1.0) scored_pair_record2 = ScoredPairRecord(sentence1='肾结石如何治疗?', sentence2='胆结石有哪些治疗方法?', label=0.0) print(f'scored_pair_record: {scored_pair_record1}') print(f'scored_pair_record:...
### 🐛 bug 说明 batch size 小的时候使用 `SigmoidContrastLoss` 会好一点,大的时候 `SoftmaxContrastLoss` 好一点。请问这个是做实验了还是有理论分析呢?理论上,第一个loss是一个query,对于一个正例,做batch_size-1个二分类任务(batch_size-1)个负例。 而SoftmaxContrastLoss,一个query,对于一个正例,做一个多分类任务(也是见到batch_size-1个负例)。从负例的角度没差别呀? ### Python Version None
您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.[bge-reranker-v2-gemma](https://huggingface.co/BAAI/bge-reranker-v2-gemma) 2.[BAAI/bge-reranker-v2-minicpm-layerwise](https://huggingface.co/BAAI/bge-reranker-v2-minicpm-layerwise) 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗?
感谢王树森老师深入浅出的讲解,工业界搜索是如何做的。我计划在自己的开源项目中,实现下王树森老师讲解的相关性BERT模型训练所涉及到的loss,以及两者的多任务学习。 1.MSE和交叉熵建模回归任务,建模相关性的绝对值。 2.pairwise logistic损失函数,建模顺序。 项目地址:https://github.com/NLPJCL/RAG-Retrieval 目前,RAG-Retrieval 提供了全链路的RAG检索微调(train)和推理(infer)代码。 对于微调,支持微调任意开源的RAG检索模型,包括向量(embedding)、迟交互式模型(colbert)、交互式模型(cross encoder)。 对于推理,RAG-Retrieval专注于排序(reranker),开发了一个轻量级的python库[rag-retrieval](https://pypi.org/project/rag-retrieval/),提供统一的方式调用任意不同的RAG排序模型。