项目介绍:InRanker-base
InRanker-base是一个经过精简的语言模型版本,它是从更大的monoT5-3B模型中萃取而来的。InRanker特别适用于领域之外的数据场景,这意味着它不仅仅针对特定熟悉领域数据的检索,还在未见过的数据中表现出色。
核心秘诀
InRanker的关键在于利用语言模型和重新排序器来生成尽可能多的合成的“域内”训练数据,即与检索时将接触的数据高度相似的数据。在训练过程中采用了两个阶段的蒸馏方法,这个方法不需要额外的用户查询或手动标注:
- 使用现有的监督式软教师标签进行训练。
- 利用大型语言模型生成的合成查询的教师软标签进行训练。
这些方法使InRanker在无监督场景下表现出色。
使用方法
假如你想在项目中使用InRanker-base,可以按以下步骤操作:
-
确保你的Python版本是3.10。
-
使用pip命令安装InRanker库:
pip install inranker
-
使用以下代码进行推理:
from inranker import T5Ranker # 加载模型 model = T5Ranker(model_name_or_path="unicamp-dl/InRanker-base") # 文档示例 docs = [ "The capital of France is Paris", "Learn deep learning with InRanker and transformers" ] # 获取评分 scores = model.get_scores( query="What is the best way to learn deep learning?", docs=docs ) # 评分按相关性降序排列 sorted_scores = sorted(zip(scores, docs), key=lambda x: x[0], reverse=True)
这些代码可以帮助你根据查询对一组文档进行排序,找出最相关的结果。
学术引用
如果你在研究中使用了InRanker,请使用以下引用格式:
@misc{laitz2024inranker,
title={InRanker: Distilled Rankers for Zero-shot Information Retrieval},
author={Thiago Laitz and Konstantinos Papakostas and Roberto Lotufo and Rodrigo Nogueira},
year={2024},
eprint={2401.06910},
archivePrefix={arXiv},
primaryClass={cs.IR}
}
资源链接
详细的技术细节可以参考论文 InRanker: Distilled Rankers for Zero-shot Information Retrieval,项目代码和库可以在GitHub上找到:InRanker GitHub仓库。
通过这些资源,你可以更好地理解和运用InRanker在信息检索中的应用。