Closed wulaoshi closed 1 year ago
重新用8卡GPU跑了一下代码,指标: dev_qrels=data/dev.dpr.tsv: ##################### MRR @10: 1.0 QueriesRanked: 24831 recall@1: 0.001 recall@1000: 1.0 recall@50: 0.05 #####################
这会正在跑dev_qrels=qrels.retrieval.dev.tsv与dev_qrels=dev.bm25.tsv。等跑完发布结果。
dev_qrels=data/qrels.retrieval.dev.tsv dev_top1000=data/dev.dpr.tsv warm_start_from=data/cross-encoder.p 您好,我这边使用上述设置的结果是正常的,单卡的我没有试过,如果您那边改好了方便的话可以提个pull request,十分感谢~
多卡的话使用本仓库的代码是完全可以复现的。建议更新代码后在尝试一下
多卡的话使用本仓库的代码是完全可以复现的。建议更新代码后在尝试一下
指标是用下述指令跑出来的吗? python src/convert2trec.py output/res.step-20 && python src/msmarco_eval.py data/qrels.retrieval.dev.tsv output/res.step-20.trec && path_to/trec_eval -m ndcg_cut.5 data/qrels.dev.tsv res.step-20.trec
那我这个流程正确吗:我先用 warm_start_from=cross-encoder.p (你们发布已经训练好的) 跑了 一遍validate_multi_gpu,存储数据为 --> res.step-0;然后用 res.step-0 来计算指标。
MRR可以通过下面的指令得到:
sh script/train_cross_encoder.sh
NDCG@k可以通过:
python src/convert2trec.py output/res.step-20 && python src/msmarco_eval.py data/qrels.retrieval.dev.tsv output/res.step-20.trec && path_to/trec_eval -m ndcg_cut.5 data/qrels.dev.tsv res.step-20.trec
MRR可以通过下面的指令得到:
sh script/train_cross_encoder.sh
NDCG@k可以通过:python src/convert2trec.py output/res.step-20 && python src/msmarco_eval.py data/qrels.retrieval.dev.tsv output/res.step-20.trec && path_to/trec_eval -m ndcg_cut.5 data/qrels.dev.tsv res.step-20.trec
OK,谢谢。等我把 dev_qrels=data/qrels.retrieval.dev.tsv 的结果跑完,结果对齐了,再改一个单卡的单独测评脚本出来 pull request
您好,再次麻烦一下作者: 我使用你发布的Ranker与代码跑了一下推理,发现和你公布的指标不不一致,不清楚哪里有diff: ##################### MRR @10: 0.1631831178768475 QueriesRanked: 24831 recall@1: 0.028713886926983487 recall@1000: 0.15787172501933877 recall@50: 0.04702687249857061 #####################
其中改动的地方只有将多卡推理变成了单卡推理:
推理的时候一共跑了2000W的数据?不知道这正不正常。 期待你的回复,谢谢