🚀 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創建 | 領英
於西班牙用心打造 ♥