🚀 电掣ELECTRA-base⚡ + SQuAD v1问答模型❓
本项目基于 Electra-base-discriminator 模型,在 SQUAD v1.1 数据集 上进行微调,以用于问答(Q&A)下游任务。该模型能有效处理问答场景,为相关应用提供强大支持。
🚀 快速开始
你可以通过以下代码快速使用该模型:
from transformers import pipeline
QnA_pipeline = pipeline('question-answering', model='mrm8488/electra-base-finetuned-squadv1')
QnA_pipeline({
'context': 'A new strain of flu that has the potential to become a pandemic has been identified in China by scientists.',
'question': 'What has been discovered by scientists from China ?'
})
{'answer': 'A new strain of flu', 'end': 19, 'score': 0.9995211430099182, 'start': 0}
✨ 主要特性
模型特性 🧠
ELECTRA 是一种用于自监督语言表征学习的新方法。它可以用相对较少的计算资源来预训练Transformer网络。ELECTRA模型经过训练,能够区分“真实”的输入标记和由另一个神经网络生成的“虚假”输入标记,这与生成对抗网络(GAN)的判别器类似。在小规模训练时,即使在单个GPU上进行训练,ELECTRA也能取得不错的效果。在大规模训练时,ELECTRA在 SQuAD 2.0 数据集上达到了当前的最优效果。
数据集特性 📚
斯坦福问答数据集(SQuAD)是一个阅读理解数据集,由众包工作者针对一组维基百科文章提出的问题组成。每个问题的答案都是对应阅读段落中的一段文本,或者该问题可能无法回答。SQuAD v1.1 包含了500多篇文章中的10万多个问答对。
📦 安装指南
该模型在配备25GB内存的Tesla P100 GPU上进行训练,使用以下命令进行训练:
python transformers/examples/question-answering/run_squad.py \
--model_type electra \
--model_name_or_path 'google/electra-base-discriminator' \
--do_eval \
--do_train \
--do_lower_case \
--train_file '/content/dataset/train-v1.1.json' \
--predict_file '/content/dataset/dev-v1.1.json' \
--per_gpu_train_batch_size 16 \
--learning_rate 3e-5 \
--num_train_epochs 10 \
--max_seq_length 384 \
--doc_stride 128 \
--output_dir '/content/output' \
--overwrite_output_dir \
--save_steps 1000
📚 详细文档
测试集结果 🧾
属性 |
详情 |
精确匹配(EM) |
83.03 |
F1值 |
90.77 |
模型大小 |
+ 400 MB |
对于这样一个“小”模型来说,这些指标表现非常出色!
{
'exact': 83.03689687795648,
'f1': 90.77486052446231,
'total': 10570,
'HasAns_exact': 83.03689687795648,
'HasAns_f1': 90.77486052446231,
'HasAns_total': 10570,
'best_exact': 83.03689687795648,
'best_exact_thresh': 0.0,
'best_f1': 90.77486052446231,
'best_f1_thresh': 0.0
}
模型实战 🚀
通过 pipelines 可以快速使用该模型:
from transformers import pipeline
QnA_pipeline = pipeline('question-answering', model='mrm8488/electra-base-finetuned-squadv1')
QnA_pipeline({
'context': 'A new strain of flu that has the potential to become a pandemic has been identified in China by scientists.',
'question': 'What has been discovered by scientists from China ?'
})
{'answer': 'A new strain of flu', 'end': 19, 'score': 0.9995211430099182, 'start': 0}
本项目由 Manuel Romero/@mrm8488 创建 | 领英
于西班牙用心打造 ♥