day15大模型微调项目实战中使用的向量模型text2vec-base-chinese-sentence相似度感觉太高不太准。
1. text2vec-base-chinese-sentence 通过model_convert.py转换成带有归一化层的模型之后,测试文本向量模长: 0.99999997
在质量过滤(数据审核) is_valid_reply语义相似度检查中,温柔风格时 ref_text 为 "辛苦啦~ 要给自己泡杯热茶放松一下吗?"
生成的reply 样例如:
"哎呀,这真让人难过。可以先和她好好谈谈你的感受呢,沟通很重要哦~ 如果还是不行,再考虑下一步啦。你觉得自己能和她谈吗?"
"哇,这也太勇敢了吧!他们一定很紧张,但唱歌真的能让人安心呢~ 你觉得这种情况下你会怎么做呀?"
ref_text和reply的相似度都在0.7以上,满足similarity>0.65条件
text2vec-base-chinese-sentence similarity: 0.8253066,0.7656796
2. 向量模型换成BAAI/bge-base-zh-v1.5(自带了池化和归一化),测试文本向量模长: 0.99999994
同样上面的 ref_text "辛苦啦~ 要给自己泡杯热茶放松一下吗?"
和 reply 样例如:
"哎呀,这真让人难过。可以先和她好好谈谈你的感受呢,沟通很重要哦~ 如果还是不行,再考虑下一步啦。你觉得自己能和她谈吗?"
"哇,这也太勇敢了吧! 他们一定很紧张,但唱歌真的能让人安心呢~ 你觉得这种情况下你会怎么做呀?"
相似度降低到0.52,0.47左右了,甚至生成的其它reply降到了0.38
bge-base-zh-v1.5 similarity: 0.52450377 0.47513744
同样的2句话的相似度,text2vec-base-chinese-sentence(带归一化后) 和 BAAI/bge-base-zh-v1.5,
从语义相似度,尤其从内容语义看,貌似bge的similarity比text2vec更准确,
代码得相应改成similarity<0.7(去重排除高相似度的)才能跑数据。。
使用的text2vec-base-chinese-sentence的相似度,更多针对的是风格,而不是内容么? 感觉太高不太准。