模型:
mrm8488/mobilebert-uncased-finetuned-squadv2
在 Q&A 的下游任务中,MobileBERT 在 SQUAD v2.0 dataset 上进行了微调。
MobileBERT 是 BERT_LARGE 的轻量版本,具备瓶颈结构和自注意力与前馈网络之间仔细设计的平衡。
在这里使用的检查点是原始的 MobileBert Optimized Uncased English: (uncased_L-24_H-128_B-512_A-4_F-4_OPT) 检查点。
关于该模型的更多信息请参见 here
SQuAD2.0 结合了 SQuAD1.1 中的 100,000 个问题和由众包工人编写的 50,000 多个类似可回答问题的对抗性无法回答问题。为了在 SQuAD2.0 上表现良好,系统不仅必须在可能时回答问题,还必须确定段落中没有支持的答案并弃权回答。
该模型是在 Tesla P100 GPU 和 25GB RAM 上训练的,使用以下命令:
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
值得注意的是,该模型收敛速度比其他模型快得多。因此,微调成本也较低。
Metric | # Value |
---|---|
EM | 75.37 |
F1 | 78.48 |
Size | 94 MB |
使用 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 ?' }) # Output: {'answer': 'scientists.', 'end': 106, 'score': 0.41531604528427124, 'start': 96}
创建者: Manuel Romero/@mrm8488 | LinkedIn
用 ♥ 制作,位于西班牙