论文标题
异步:在训练过程中,用于异步验证密集检索的工具包
Asyncval: A Toolkit for Asynchronously Validating Dense Retriever Checkpoints during Training
论文作者
论文摘要
模型检查点验证的过程是指在学习模型的超参数的同时,在训练数据的固定部分上执行的模型检查点的性能评估,并用于避免过度拟合并确定何时融合模型以停止训练。验证深度学习检查点的简单有效策略是在培训期间增加验证循环。但是,密集检索器(DR)检查点的验证并不是很琐碎 - 添加验证回路并不有效。这是因为,为了准确评估DR检查点的性能,在可以执行任何实际检索操作以进行检查点验证之前,需要使用当前检查点编码整个文档库。如果文档语料库包含数百万个文档(例如,Marco女士为8.8m,对于自然问题,则该语料库编码过程可能非常耗时。因此,在培训期间,天真地使用验证循环将大大增加训练时间。为了解决这个问题,在本演示论文中,我们提出了异步:基于Python的工具包,用于在培训过程中有效验证DR检查点。异步将验证循环从训练环中解散,而不是暂停训练环验证DR检查点,而是使用另一个GPU来自动验证新的DR检查点,从而允许从训练中进行异步进行验证。异步还实现了一系列不同的语料库子集采样策略,以验证DR检查点;这些策略可以进一步加快验证过程。我们就这些方法对验证时间和验证保真度的影响进行了调查。 ASYNCVAL可作为一个开源项目提供,网址为https://github.com/ielab/asyncval。
The process of model checkpoint validation refers to the evaluation of the performance of a model checkpoint executed on a held-out portion of the training data while learning the hyperparameters of the model, and is used to avoid over-fitting and determine when the model has converged so as to stop training. A simple and efficient strategy to validate deep learning checkpoints is the addition of validation loops to execute during training. However, the validation of dense retrievers (DR) checkpoints is not as trivial -- and the addition of validation loops is not efficient. This is because, in order to accurately evaluate the performance of a DR checkpoint, the whole document corpus needs to be encoded into vectors using the current checkpoint before any actual retrieval operation for checkpoint validation can be performed. This corpus encoding process can be very time-consuming if the document corpus contains millions of documents (e.g., 8.8m for MS MARCO and 21m for Natural Questions). Thus, a naive use of validation loops during training will significantly increase training time. To address this issue, in this demo paper, we propose Asyncval: a Python-based toolkit for efficiently validating DR checkpoints during training. Instead of pausing the training loop for validating DR checkpoints, Asyncval decouples the validation loop from the training loop, uses another GPU to automatically validate new DR checkpoints and thus permits to perform validation asynchronously from training. Asyncval also implements a range of different corpus subset sampling strategies for validating DR checkpoints; these strategies allow to further speed up the validation process. We provide an investigation of these methods in terms of their impact on validation time and validation fidelity. Asyncval is made available as an open-source project at https://github.com/ielab/asyncval.