模型:

deepset/gbert-base-germandpr-ctx_encoder

英文

概述

语言模型:gbert-base-germandpr 语言:德语 训练数据:GermanDPR训练集(约56MB) 评估数据:GermanDPR测试集(约6MB) 基础设施:4x V100 GPU 发布日期:2021年4月26日

详情

  • 我们使用两个gbert-base模型作为问题和段落的编码器,训练了一个稠密的段落检索模型。
  • 数据集是GermanDPR,一个德语语言的新数据集,我们进行了手工注释和发布。 online
  • 训练集包括9275个问题/回答对,测试集包括1025个对。对于每对,都有一个正面上下文和三个难以判断的负面上下文。
  • 我们使用我们手工注释的GermanQuAD数据集作为训练数据的基础,并从最新的德语维基百科数据转化为负样本(6GB的原始文本文件)。
  • 数据转换经过定制脚本清理,从德语维基百科中生成了280万个索引段落。

更多详细信息和数据集下载,请参见 https://deepset.ai/germanquad

超参数

batch_size = 40
n_epochs = 20
num_training_steps = 4640
num_warmup_steps = 460
max_seq_len = 32 tokens for question encoder and 300 tokens for passage encoder
learning_rate = 1e-6
lr_schedule = LinearWarmup
embeds_dropout_prob = 0.1
num_hard_negatives = 2

性能

在训练过程中,我们监测了批次内的平均排名和损失,并评估了不同的批次大小、训练轮数和困难负例数在来自训练集的开发集上的效果。开发集包含1030对问题/回答对。即使没有进行详细的超参数调整,我们观察到学习效果相当稳定。不同种子的多次重启产生了相似的结果。请注意,批次内的平均排名受到批次大小和困难负例数的影响。数量较少的困难负例使任务更容易。在固定超参数后,我们对整个GermanDPR训练集进行了模型训练。

我们进一步使用GermanDPR测试集作为标签,在整个德语维基百科上评估了训练模型的检索性能。为此,我们将GermanDPR测试集转换为SQuAD格式。与BM25基线相比,DPR模型在召回率(recall@k)方面表现显著优越。

用法

在haystack中

您可以在 haystack 中将该模型作为检索器加载,以实现规模化的问答:

retriever = DensePassageRetriever(
  document_store=document_store,
  query_embedding_model="deepset/gbert-base-germandpr-question_encoder"
  passage_embedding_model="deepset/gbert-base-germandpr-ctx_encoder"
)

作者

  • Timo Möller:timo.moeller [at] deepset.ai
  • Julian Risch:julian.risch [at] deepset.ai
  • Malte Pietsch:malte.pietsch [at] deepset.ai

关于我们

我们通过开源方式将NLP技术应用于工业领域!我们专注于行业特定的语言模型和大规模问答系统。

我们的一些工作:

联系我们: Twitter | LinkedIn | Website

顺便说一句: we're hiring!