模型:

mrm8488/bert-tiny-finetuned-squadv2

英文

BERT-Tiny 在 SQuAD v2 上进行微调

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

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

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

发布于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 中的 100,000 个问题与逾 50,000 个由众包工作者以对答案类似的方式编写的不可回答的问题相结合。要在 SQuAD2.0 上取得好成绩,系统不仅在可能的情况下需要回答问题,还需要确定段落不支持任何答案并放弃回答。

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

模型训练

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

结果:

Metric # Value
EM 48.60
F1 49.73
Model EM F1 score SIZE (MB)
12310321 48.60 49.73 16.74
12311321 57.12 60.86 24.34

模型实际应用

通过 pipelines 进行快速使用:

from transformers import pipeline

qa_pipeline = pipeline(
    "question-answering",
    model="mrm8488/bert-tiny-finetuned-squadv2",
    tokenizer="mrm8488/bert-tiny-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.05684709993458714,
  "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.11613431826808274,
  "start": 56
}

它起作用了!! ? ? ?

创建者: Manuel Romero/@mrm8488 | LinkedIn

在西班牙 ❤ 制作