InPars 项目教程
InPars Inquisitive Parrots for Search 项目地址: https://gitcode.com/gh_mirrors/in/InPars
1. 项目介绍
InPars 是一个用于信息检索(IR)的端到端合成数据生成工具包。它利用大型语言模型(LLMs)生成合成数据,帮助用户快速生成和处理信息检索任务所需的数据集。InPars 提供了从数据生成、过滤、训练到评估的一整套流程,适用于各种信息检索任务。
2. 项目快速启动
安装
首先,使用 pip
安装 InPars 工具包:
pip install inpars
生成数据
使用以下命令生成 BEIR 数据集的合成数据:
python -m inpars generate \
--prompt="inpars" \
--dataset="trec-covid" \
--dataset_source="ir_datasets" \
--base_model="EleutherAI/gpt-j-6B" \
--output="trec-covid-queries.jsonl"
数据过滤
生成的查询可能包含噪声,因此建议进行过滤:
python -m inpars filter \
--input="trec-covid-queries.jsonl" \
--dataset="trec-covid" \
--filter_strategy="scores" \
--keep_top_k="10_000" \
--output="trec-covid-queries-filtered.jsonl"
生成训练数据
生成用于训练的 triples 文件:
python -m inpars generate_triples \
--input="trec-covid-queries-filtered.jsonl" \
--dataset="trec-covid" \
--output="trec-covid-triples.tsv"
模型训练
使用生成的 triples 文件训练模型:
python -m inpars train \
--triples="trec-covid-triples.tsv" \
--base_model="castorini/monot5-3b-msmarco-10k" \
--output_dir="./reranker/" \
--max_steps="156"
模型评估
最后,评估训练好的模型:
python -m inpars evaluate \
--dataset="trec-covid" \
--run="trec-covid-run.txt"
3. 应用案例和最佳实践
案例1:TREC-COVID 数据集
InPars 可以用于生成 TREC-COVID 数据集的合成查询,并通过过滤和训练步骤生成高质量的检索模型。这种方法可以显著提高信息检索的准确性。
案例2:MS-MARCO 数据集
对于 MS-MARCO 数据集,InPars 同样可以生成合成查询,并通过过滤和训练步骤生成适用于该数据集的检索模型。
最佳实践
- 数据过滤:在生成查询后,务必进行数据过滤,以确保查询的质量。
- 模型选择:根据具体任务选择合适的预训练模型,如
EleutherAI/gpt-j-6B
或castorini/monot5-3b-msmarco-10k
。 - 超参数调整:根据实验结果调整训练的超参数,如
max_steps
和filter_strategy
。
4. 典型生态项目
HuggingFace Transformers
InPars 依赖于 HuggingFace 的 Transformers 库,该库提供了丰富的预训练模型和训练工具,是 InPars 的重要生态项目。
BEIR 数据集
BEIR 是一个用于信息检索任务的基准数据集,InPars 可以生成适用于 BEIR 数据集的合成查询,并用于模型训练和评估。
IR_Datasets
IR_Datasets 是一个用于信息检索研究的数据集集合,InPars 支持从 IR_Datasets 中加载数据集进行数据生成和处理。
通过这些生态项目的支持,InPars 能够提供一个完整的端到端信息检索解决方案。
InPars Inquisitive Parrots for Search 项目地址: https://gitcode.com/gh_mirrors/in/InPars
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考