模型:

mrm8488/mobilebert-uncased-finetuned-squadv2

英文

MobileBERT + SQuAD v2 ?❓

在 Q&A 的下游任务中,MobileBERT 在 SQUAD v2.0 dataset 上进行了微调。

下游任务(Q&A)模型的详细信息 ?

MobileBERT 是 BERT_LARGE 的轻量版本,具备瓶颈结构和自注意力与前馈网络之间仔细设计的平衡。

在这里使用的检查点是原始的 MobileBert Optimized Uncased English: (uncased_L-24_H-128_B-512_A-4_F-4_OPT) 检查点。

关于该模型的更多信息请参见 here

下游任务(Q&A)数据集的详细信息 ?

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

用 ♥ 制作,位于西班牙