🚀 MobileBERT + SQuAD v2 📱❓
mobilebert-uncased 在 SQUAD v2.0 数据集 上进行微调,用于问答(Q&A)下游任务。
🚀 快速开始
本项目是将 mobilebert-uncased 在 SQUAD v2.0 数据集 上进行微调,以完成问答(Q&A)下游任务。
✨ 主要特性
- 模型精简:MobileBERT 是 BERT_LARGE 的精简版本,配备了瓶颈结构,并且在自注意力机制和前馈网络之间进行了精心设计的平衡。
- 收敛快速:该模型比其他模型收敛速度快很多,微调成本较低。
📦 安装指南
模型在 Tesla P100 GPU 和 25GB 内存上进行训练,使用以下命令:
python transformers/examples/question-answering/run_squad.py \
--model_type bert \
--model_name_or_path 'google/mobilebert-uncased' \
--do_eval \
--do_train \
--do_lower_case \
--train_file '/content/dataset/train-v2.0.json' \
--predict_file '/content/dataset/dev-v2.0.json' \
--per_gpu_train_batch_size 16 \
--learning_rate 3e-5 \
--num_train_epochs 5 \
--max_seq_length 384 \
--doc_stride 128 \
--output_dir '/content/output' \
--overwrite_output_dir \
--save_steps 1000 \
--version_2_with_negative
💻 使用示例
基础用法
使用 pipelines 快速调用模型:
from transformers import pipeline
QnA_pipeline = pipeline('question-answering', model='mrm8488/mobilebert-uncased-finetuned-squadv2')
QnA_pipeline({
'context': 'A new strain of flu that has the potential to become a pandemic has been identified in China by scientists.',
'question': 'Who did identified it ?'
})
📚 详细文档
下游任务(问答)- 模型 🧠
MobileBERT 是 BERT_LARGE 的精简版本,配备了瓶颈结构,并且在自注意力机制和前馈网络之间进行了精心设计的平衡。
此处使用的检查点是原始的 MobileBert 优化无大小写英文检查点:(uncased_L-24_H-128_B-512_A-4_F-4_OPT)。
更多关于该模型的信息请参考 这里。
下游任务(问答)- 数据集 📚
SQuAD2.0 将 SQuAD1.1 中的 100,000 个问题与超过 50,000 个由众包工作者对抗性编写的无法回答的问题相结合,这些无法回答的问题在外观上与可回答的问题相似。要在 SQuAD2.0 上取得好成绩,系统不仅要在可能的情况下回答问题,还要确定段落何时不支持任何答案并放弃回答。
🔧 技术细节
模型在 Tesla P100 GPU 和 25GB 内存上进行训练,使用特定命令进行微调。并且该模型收敛速度快,微调成本低。
📄 许可证
文档未提及相关许可证信息。
📦 模型测试结果 🧾
属性 |
详情 |
EM |
75.37 |
F1 |
78.48 |
大小 |
94 MB |
本项目由 Manuel Romero/@mrm8488 创建 | LinkedIn
于西班牙用心打造 ♥