🚀 RoBERTa-base用于问答任务
本项目基于RoBERTa-base语言模型,专注于抽取式问答任务,使用SQuAD 2.0数据集进行训练和评估。
🚀 快速开始
本项目使用roberta-base
语言模型进行抽取式问答任务,训练和评估数据均为SQuAD 2.0。
✨ 主要特性
- 语言模型:采用
roberta-base
。
- 下游任务:专注于抽取式问答。
- 训练与评估数据:使用SQuAD 2.0数据集。
📦 安装指南
文档未提供具体安装步骤,暂不展示。
💻 使用示例
基础用法
from transformers import AutoModelForQuestionAnswering, AutoTokenizer, pipeline
model_name = "PremalMatalia/roberta-base-best-squad2"
nlp = pipeline('question-answering', model=model_name, tokenizer=model_name)
QA_input = {
'question': 'Which name is also used to describe the Amazon rainforest in English?',
'context': 'The Amazon rainforest (Portuguese: Floresta Amazônica or Amazônia; Spanish: Selva Amazónica, Amazonía or usually Amazonia; French: Forêt amazonienne; Dutch: Amazoneregenwoud), also known in English as Amazonia or the Amazon Jungle, is a moist broadleaf forest that covers most of the Amazon basin of South America. This basin encompasses 7,000,000 square kilometres (2,700,000 sq mi), of which 5,500,000 square kilometres (2,100,000 sq mi) are covered by the rainforest. This region includes territory belonging to nine nations. The majority of the forest is contained within Brazil, with 60% of the rainforest, followed by Peru with 13%, Colombia with 10%, and with minor amounts in Venezuela, Ecuador, Bolivia, Guyana, Suriname and French Guiana. States or departments in four nations contain "Amazonas" in their names. The Amazon represents over half of the planet\'s remaining rainforests, and comprises the largest and most biodiverse tract of tropical rainforest in the world, with an estimated 390 billion individual trees divided into 16,000 species.'
}
res = nlp(QA_input)
print(res)
model = AutoModelForQuestionAnswering.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
📚 详细文档
环境信息
属性 |
详情 |
transformers 版本 |
4.9.1 |
平台 |
Linux-5.4.104+-x86_64-with-Ubuntu-18.04-bionic |
Python版本 |
3.7.11 |
PyTorch版本(是否使用GPU) |
1.9.0+cu102(否) |
Tensorflow版本(是否使用GPU) |
2.5.0(否) |
超参数
max_seq_len=386
doc_stride=128
n_best_size=20
max_answer_length=30
min_null_score=7.0
batch_size=8
n_epochs=6
base_LM_model = "roberta-base"
learning_rate=1.5e-5
adam_epsilon=1e-5
adam_beta1=0.95
adam_beta2=0.999
warmup_steps=100
weight_decay=0.01
optimizer=AdamW
lr_scheduler="polynomial"
⚠️ 重要提示
有一个特殊的阈值CLS_threshold=-3
,用于更准确地识别无答案情况,具体逻辑将在GitHub仓库中提供(待更新)。
性能指标
"exact": 81.192622
"f1": 83.95408
"total": 11873
"HasAns_exact": 74.190283
"HasAns_f1": 79.721119
"HasAns_total": 5928
"NoAns_exact": 88.174937
"NoAns_f1": 88.174937
"NoAns_total": 5945
🔧 技术细节
文档未提供具体技术细节,暂不展示。
📄 许可证
文档未提供许可证信息,暂不展示。
👥 作者
Premal Matalia