模型:

mrm8488/bert-small-finetuned-squadv2

英文

BERT-Small 在 SQuAD v2 上进行了微调

Google Research 创建,并在 SQuAD 2.0 上进行了Q&A下游任务的微调。

模型大小(训练后):109.74 MB

BERT-Small及其“家族”的详细信息(来自它们的文档)

发布于2020年3月11日

这个模型是24个较小的BERT模型之一(仅限英语,无大小写区分,使用WordPiece掩码进行训练),在 Well-Read Students Learn Better: On the Importance of Pre-training Compact Models 中有引用。

较小的BERT模型适用于计算资源受限的环境。它们可以像原始BERT模型一样进行微调。然而,它们在知识蒸馏的上下文中最为有效,其中微调标签是由更大且更准确的教师生成的。

下游任务(Q&A)的详细信息 - 数据集

SQuAD2.0 将SQuAD1.1中的10万个问题与由众包工作者写为类似可回答问题的方法生成的5万多个无法回答的问题相结合。要在SQuAD2.0上表现良好,系统不仅要在可能的情况下回答问题,还必须确定段落不支持任何答案并避免回答。

Dataset Split # samples
SQuAD2.0 train 130k
SQuAD2.0 eval 12.3k

模型训练

该模型在Tesla P100 GPU和25GB RAM上进行训练。微调的脚本可以在 here 中找到。

结果:

Metric # Value
EM 60.49
F1 64.21

比较:

Model EM F1 score SIZE (MB)
12310321 48.60 49.73 16.74
12311321 56.31 59.65 42.63
12312321 60.49 64.21 109.74

模型运行

使用pipelines快速使用:

from transformers import pipeline

qa_pipeline = pipeline(
    "question-answering",
    model="mrm8488/bert-small-finetuned-squadv2",
    tokenizer="mrm8488/bert-small-finetuned-squadv2"
)

qa_pipeline({
    'context': "Manuel Romero has been working hardly in the repository hugginface/transformers lately",
    'question': "Who has been working hard for hugginface/transformers lately?"

})

# Output:
{
  "answer": "Manuel Romero",
  "end": 13,
  "score": 0.9939319924374637,
  "start": 0
}

是的!这很容易?让我们尝试另一个例子

qa_pipeline({
    'context': "Manuel Romero has been working hardly in the repository hugginface/transformers lately",
    'question': "For which company has worked Manuel Romero?"
})

# Output:
{
  "answer": "hugginface/transformers",
  "end": 79,
  "score": 0.6024888734447131,
  "start": 56
}

它有效了!!???

Manuel Romero/@mrm8488 创建| LinkedIn

在西班牙用♥制作