Open huangjiaheng opened 1 year ago
请问你们用了多少张卡呢? 大概需要多长时间? 另外都是一个epoch就结束了吗?
@wangyuxinwhy 为什么不跑多个epoch呢?跑多轮epoch精度会不会有提高阿
因为数据集太大了,计算资源有限,所以没有跑多个 epoch,跑多个 epoch 可能效果还会有提升,不过我预计提升幅度不会很大。
m3e-small 用下面的参数, A100 80G就会爆显存: --batch-size 128 --max-length 512
@wangyuxinwhy 明白,如果要训练自己的数据集,有什么好的数据处理工具吗?比如我有很多个文档。
这部分没有特别的建议,数据处理我主要使用的是 huggingface 的 datasets 。
m3e-small 用下面的参数, A100 80G就会爆显存: --batch-size 128 --max-length 512
使用半精度了吗?
半精度是哪个参数?
mixed_precision ,--mixed-precision fp16
mixed_precision ,--mixed-precision fp16
还是不行, small的batch 最大到64 这是我用的参数: python scripts/train_m3e.py 'moka-ai/m3e-small' all_data/ --batch-size 64 --max-length 512 --epochs 1 --mixed-precision fp16 --temperature 0.01
只凭目前这些信息,我也没有思路,你的环境为啥会爆显存。
🐛 bug 说明
作者好, 我尝试使用你的train_m3e.py的配置在v100 32g使用了8卡复现了m3e-small. 使用了batch_size=32,epoch=1,ndcg和map都没有达到你开源的m3e-small的效果,ndcg差了6个点。
看到你在hugging face上面写到: “M3E 使用 in-batch 负采样的对比学习的方式在句对数据集进行训练,为了保证 in-batch 负采样的效果,我们使用 A100 80G 来最大化 batch-size,并在共计 2200W+ 的句对数据集上训练了 1 epoch。训练脚本使用 uniem,您可以在这里查看具体细节。”
但是m3e-small和m3e-base和m3e-large的batch size应该是不一样的吧? 想知道m3e-small的batch_size用了多少?m3e-base的batch_size用了多少?m3e-large的batch_size用了多少? 另外train_m3e.py里面的数据集能对得上吗? 我们在业务集上面使用m3e-large效果很差,跟m3e-base相比差距非常大,是啥原因?
Python Version
None 想来请教一下负样本采样的方法对应到代码是在哪里啊
🐛 bug 说明
作者好, 我尝试使用你的train_m3e.py的配置在v100 32g使用了8卡复现了m3e-small. 使用了batch_size=32,epoch=1,ndcg和map都没有达到你开源的m3e-small的效果,ndcg差了6个点。
看到你在hugging face上面写到: “M3E 使用 in-batch 负采样的对比学习的方式在句对数据集进行训练,为了保证 in-batch 负采样的效果,我们使用 A100 80G 来最大化 batch-size,并在共计 2200W+ 的句对数据集上训练了 1 epoch。训练脚本使用 uniem,您可以在这里查看具体细节。”
但是m3e-small和m3e-base和m3e-large的batch size应该是不一样的吧? 想知道m3e-small的batch_size用了多少?m3e-base的batch_size用了多少?m3e-large的batch_size用了多少? 另外train_m3e.py里面的数据集能对得上吗? 我们在业务集上面使用m3e-large效果很差,跟m3e-base相比差距非常大,是啥原因?
Python Version
None