模型:

deepset/gbert-base-germandpr-question_encoder

英文

概览

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

详情

  • 我们训练了一个稠密的通道检索模型,使用两个gbert-base模型作为问题和段落的编码器。
  • 数据集是GermanDPR,这是一个新的德语语言数据集,我们手动标注并发布了 online
  • 它包括9275个训练集中的问题/答案对和1025个测试集中的对。对于每对,有一个正面上下文和三个困难负面上下文。
  • 作为训练数据的基础,我们使用了我们手动标注的GermanQuAD数据集作为正样本,并从最新的德语维基百科转储文件(6GB的原始txt文件)中生成了困难负样本。
  • 使用定制脚本清理了数据转储文件,得到了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

性能

在训练过程中,我们监控了批次内平均排名和损失,并针对从训练集中划分出的dev集验证了不同的批次大小、epoch数和困难负样本数。dev集包含1030个问题/答案对。即使没有进行彻底的超参数调整,我们观察到学习过程非常稳定。使用不同的种子进行多次重启产生了非常相似的结果。请注意,批次内平均排名受批次大小和困难负样本数的影响。较少的困难负样本使任务变得更容易。在固定超参数后,我们在完整的GermanDPR训练集上训练了模型。

我们进一步使用GermanDPR测试集作为标签,评估了训练模型在完整的德语维基百科上的检索性能。为此,我们将GermanDPR测试集转换为SQuAD格式。与BM25基准相比,DPR模型在召回率@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

关于我们

我们通过开源将自然语言处理引入到行业中!我们专注于面向行业的语言模型和大规模问答系统。

我们的一些工作:

联系我们: Twitter | LinkedIn | Website

顺便说一句: we're hiring!