SimCSE
SimCSE copied to clipboard
SimCSE在中文任务上的简单实验
 我在您的代码上训练了lcqmc数据集,这是我得到的准确率和F1,您看这个值是否正常(我觉得太低了些)
为啥报这个错误呢?请问下要跑这个模型需要多大的资源呢?
你好,遇到了一个疑问,我用自己的中文数据在这个预训练中文模型上做了微调https://huggingface.co/cyclone/simcse-chinese-roberta-wwm-ext,用于生成不同句子的向量,计算其相似度来做匹配。实际应用发现,当两个句子仅有靠前位置的词语不同时,得到的向量差异较大,相似度较低。但当两个句子仅有中间/靠后位置词语不同时,得到的向量一致,相似度为1。 不知道这种情况是本质上是什么原因导致的呢,大佬们有没有遇到这种问题,以及我该如何做一些调整呢?
通过设置 TF_KERAS==1 , 切换至 tf.keras. 启动训练脚本后可正常编译模型, 但训练时报错. 报错信息如下: `Traceback (most recent call last): File "train.py", line 94, in train_generator.forfit(), steps_per_epoch=len(train_generator), epochs=1 File "/Users/yuxi/opt/anaconda3/envs/TrainingRobot/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training.py", line 728, in fit use_multiprocessing=use_multiprocessing) File "/Users/yuxi/opt/anaconda3/envs/TrainingRobot/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2.py",...
all_corrcoefs = [] for (a_vecs, b_vecs), labels in zip(all_vecs, all_labels): a_vecs = l2_normalize(a_vecs) b_vecs = l2_normalize(b_vecs) sims = (a_vecs * b_vecs).sum(axis=1) corrcoef = compute_corrcoef(labels, sims) all_corrcoefs.append(corrcoef) sims和labels都是维度为1的一维向量。方差为0,为什么可以求相关系数? 是我理解错了吗
Hi, This maybe the reason why you get worse result. You can refer the source code of transformers [BertPooler](https://github.com/huggingface/transformers/blob/1c191efc3abc391072ff0094a8108459bc08e3fa/src/transformers/models/bert/modeling_bert.py#L624)
请问在做MLM+CL无监督训练的时候是直接用随机mask掉之后的句子做dropout计算CLloss吗?, 例如,先对句子A=[a,b,c,d,e,f]做随机MASK得到B=[a,[MASK],c,[MASK],e,f], 再把句子B两次输入到bert模型中得到dropout之后的两个句子对,然后计算得到CL loss和MLM loss 请问我说的对么?
已解决