Trove: Гибкий инструментарий для плотного поиска
Trove: A Flexible Toolkit for Dense Retrieval
November 3, 2025
Авторы: Reza Esfandiarpoor, Max Zuo, Stephen H. Bach
cs.AI
Аннотация
Мы представляем Trove — простой в использовании набор инструментов для поиска с открытым исходным кодом, который упрощает исследовательские эксперименты, не жертвуя гибкостью или скоростью. Впервые мы внедряем эффективные функции управления данными, которые загружают и обрабатывают (фильтруют, выбирают, преобразуют и объединяют) наборы данных для поиска на лету, всего несколькими строками кода. Это предоставляет пользователям гибкость для легкого экспериментирования с различными конфигурациями наборов данных без необходимости вычисления и хранения множества копий больших массивов данных. Trove обладает высокой степенью настраиваемости: помимо множества встроенных опций, он позволяет пользователям свободно модифицировать существующие компоненты или полностью заменять их пользовательскими объектами. Он также предоставляет низкокодовый и унифицированный конвейер для оценки и извлечения жестких негативных примеров, который поддерживает многопоточное выполнение без каких-либо изменений кода. Функции управления данными Trove сокращают потребление памяти в 2,6 раза. Более того, простой в использовании конвейер вывода Trove не создаёт дополнительной нагрузки, а время вывода уменьшается линейно с увеличением числа доступных узлов. Что наиболее важно, мы демонстрируем, как Trove упрощает эксперименты по поиску и позволяет производить произвольные настройки, способствуя тем самым исследовательским изысканиям.
English
We introduce Trove, an easy-to-use open-source retrieval toolkit that
simplifies research experiments without sacrificing flexibility or speed. For
the first time, we introduce efficient data management features that load and
process (filter, select, transform, and combine) retrieval datasets on the fly,
with just a few lines of code. This gives users the flexibility to easily
experiment with different dataset configurations without the need to compute
and store multiple copies of large datasets. Trove is highly customizable: in
addition to many built-in options, it allows users to freely modify existing
components or replace them entirely with user-defined objects. It also provides
a low-code and unified pipeline for evaluation and hard negative mining, which
supports multi-node execution without any code changes. Trove's data management
features reduce memory consumption by a factor of 2.6. Moreover, Trove's
easy-to-use inference pipeline incurs no overhead, and inference times decrease
linearly with the number of available nodes. Most importantly, we demonstrate
how Trove simplifies retrieval experiments and allows for arbitrary
customizations, thus facilitating exploratory research.