Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于retriever训练数据的构建 #7

Open
cobraheleah opened this issue Aug 1, 2023 · 5 comments
Open

关于retriever训练数据的构建 #7

cobraheleah opened this issue Aug 1, 2023 · 5 comments

Comments

@cobraheleah
Copy link

您好,想请问下,在运行python3 tools/process_retriever_train_data.py --save retriever_data --data-names TRAIN 构建retriever训练数据的时候,是不是数据集必须提前下载到本地,通过本地加载,而不支持通过datasets下载,因为我看data_files参数的路径都是本地路径

@t1101675
Copy link
Member

t1101675 commented Aug 1, 2023

是的,主要是怕 datasets 下载遇到网络问题。但我们用的都是原始数据集,所以理论上用对应数据集的名称也可以加载

@cobraheleah
Copy link
Author

cobraheleah commented Aug 1, 2023

噢,原始的数据集有整理好的有开源出来吗
还有一个问题,我在看tools/process_retriever_train_data.py代码的时候,没有看到具体构建样本的过程,337行的get_all_data方法获取到所有数据后,339行的merge_data就直接写入文件了,不知道具体样本构建的代码在哪里,我看tools/process_retriever_train_data.py代码里面是有get_easy_neg_samples,construct_data这些构建样本的方法的,不知道具体用在了哪里,谢谢

@t1101675
Copy link
Member

t1101675 commented Aug 2, 2023

原始数据集放在了这里data.ziptools/process_retriever_train_data.py 的问题也修复了,本地已验证。

@cobraheleah
Copy link
Author

cobraheleah commented Aug 4, 2023

还有两个问题想请教下:
1 在运行retriever.py训练模型的时候遇到一个小问题,retriever_datasets.py中136行报错,数据中没有neg_labels字段,应该要改成easy_neg_labels和hard_neg_labels吧
2 想请问下retriever的训练一共是几个epoch,我看论文中写的是1个,代码配置中是10个。另外,训练的log方便发一下吗?
谢谢!

@t1101675
Copy link
Member

t1101675 commented Aug 6, 2023

  1. 是的。由于之前处理数据用的都是多进程 load_data_parallel,单进程load_data里面这个地方没有改。现在已经修复。
  2. 是1个。实际运行的时候是训练了10个 epoch,取了第一个 epoch 的 checkpoint 作为 retriever。训练脚本也修改为了每个 epoch 结束存一个 checkpoint。训练的 log 待我们整理一下会发。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants