yuxin.wang
yuxin.wang
监督的训练语料都是来源于开源数据集,明确了具体任务后,可以在开放的数据平台比如 HuggingFace 上,按照标签进行筛选。另外的思路可以通过 GPT4 来帮助构造数据集。
可以的,查看文档中的这一节就行了 https://github.com/wangyuxinwhy/uniem/tree/main/mteb-zh#%E8%AF%84%E6%B5%8B%E5%B7%B2%E6%94%AF%E6%8C%81%E7%9A%84%E6%A8%A1%E5%9E%8B
可以实现,FineTuner 的 run 方法,有一个 `epoch_end_callbacks` 的参数,可以在每个 epoch 结束之后自定义执行一些代码,不过这方面没有文档,可能需要您多调试几次。
可以说是模型本身的缺陷,M3E 的校准并不好,或者说相似度的度量本身不以为着概率等实际意义,相对的比较有意义,绝对的数值没有意义。但不意味特征不可信,算是对比学习的通病。
这个问题不太好说,没有开发集的话,可以自己测试几个 case ,估计一下。有开发集的话,可以选择在开发集上分值最高的阈值。如果真拍脑袋,我建议 0.85 ,也是瞎说~
其实余弦相似度本来也不是一个和 “不确定性” 显性相关的度量。如果 0.4 阈值下,相似判断的效果达到预期,也未尝不可。
嗯嗯,就是可以自定义 pooling_strategy 。从头训练的意思不是说从随机的权重开始训练,而是从预训练的语言模型上开始训练。
您的理解是对的
抱歉没有在文档中说清楚,small 版本使用的基础模型是 uer/chinese_roberta_L-4_H-512
可以参考 https://github.com/wangyuxinwhy/uniem/blob/main/scripts/train_m3e.py 这个训练脚本,准备好数据和模型,运行脚本就可以了