🚀 BERT-Tiny在SQuAD v2上微调
本项目基于Google Research创建的BERT-Tiny模型,在SQuAD 2.0数据集上进行微调,以用于问答下游任务。
模型大小(训练后):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模型一样进行微调。不过,在知识蒸馏的场景下,它们的效果最佳,即微调标签由一个更大、更准确的“教师”模型生成。
📊 下游任务(问答)详情 - 数据集
SQuAD2.0将SQuAD1.1中的100,000个问题与超过50,000个由众包工作者对抗性编写的无法回答的问题相结合,这些无法回答的问题在形式上与可回答的问题相似。要在SQuAD2.0上取得好成绩,系统不仅要在可能的情况下回答问题,还要判断段落中是否没有支持答案的信息,并避免回答。
数据集 |
划分 |
样本数量 |
SQuAD2.0 |
训练集 |
130k |
SQuAD2.0 |
评估集 |
12.3k |
🛠️ 模型训练
该模型在配备25GB内存的Tesla P100 GPU上进行训练。微调脚本可在此处找到。
📈 结果
指标 |
值 |
精确匹配(EM) |
48.60 |
F1分数 |
49.73 |
💻 使用示例
基础用法
使用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?"
})
{
"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?"
})
{
"answer": "hugginface/transformers",
"end": 79,
"score": 0.11613431826808274,
"start": 56
}
效果展示
🎉 可以看到,模型成功运行!
由Manuel Romero/@mrm8488创建 | 领英
于西班牙用心打造 ♥