关于使用BGE-M3做自然语言推理任务
我希望用bge-m3做自然语言推理任务,就是输入[前提,假设],做一个三分类,分类得到假设和前提的关系是[蕴含,无关,矛盾]中的一者。
我觉得这个自然语言推理任务可以用来缓解RAG场景大模型的幻觉问题,因为RAG检索到的大段文档全都让LLM去理解的话,LLM很容易产生幻觉,就是其【输出的内容】与【供它参考的上下文】矛盾或者无关。
请问有相关的经验或者建议吗?可以为我指个路吗?我目前简单地用bge计算嵌入的余弦相似度,用高相似度代表蕴含,低相似度代表无关,感觉这种方法的效果很一般。NLI任务在中文方面的工作不多,中文语料也很少,如果自己训练分类器的话大概是什么样的路径呢?或者有别的基于bge实现NLI的方法吗?
万分感谢。
可以尝试使用bge-reranker-v2-m3模型去计算分数,这个分数比向量相似度更准确。 自己训练的话主要是数据问题。也可以直接用大模型来判断是否相关。
可以尝试使用bge-reranker-v2-m3模型去计算分数,这个分数比向量相似度更准确。 自己训练的话主要是数据问题。也可以直接用大模型来判断是否相关。
感谢!这个reranker模型好用多了,之前都不知道有直接计算相似度的办法。划了一个4分以上算支持,-1以下算矛盾的分类阈值,效果还不错。
我计划接下来按https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/reranker里的流程去训一下,感谢回复!
请问, 是否可以基于BGE-M3 用SNLI, MNLI, Fever等数据集, 以及一些合成的NLI数据集来post training NLI? 或者基于Rerank模型来微调? 因为我需要训练模型去识别复杂条款文档的一些内容蕴含关系? 比如合同条款之间,流程制度之间的关系. 辛苦给一些建议. 之前看过其他BERT模型, 要么就是context 太小(512). 要么就是不支持中文.