deBERTa-V3-Large-SQuAD2项目介绍
deBERTa-V3-Large-SQuAD2是一个用于抽取式问答的预训练语言模型,由deepset团队开发并微调。它采用了微软开发的deBERTa V3大型模型,专门针对SQuAD 2.0数据集进行了训练和优化。
背景信息
- 模型名称: deBERTa-v3-large
- 语言: 英语
- 基本任务: 抽取式问答
- 训练数据: SQuAD 2.0
- 评估数据: SQuAD 2.0
- 相关代码: Haystack问答管道教程
- 计算基础设施: 1x NVIDIA A10G
模型细节
deBERTa-v3-large模型通过SQuAD 2.0数据集进行微调,该数据集包含了一种特殊的问答对:其中既有可回答的问题,也包含了一些无答案的问题,用以提高模型的实用性。
SQuAD 2.0数据集
SQuAD 2.0是一款流行的问答数据集,增加了无答案问题以提高模型的鲁棒性。这允许模型不仅能从文档中抽取答案,还能识别出问题是否存在答案。
模型参数
batch_size = 2
grad_acc_steps = 32
n_epochs = 6
base_LM_model = "microsoft/deberta-v3-large"
max_seq_len = 512
learning_rate = 7e-6
lr_schedule = LinearWarmup
warmup_proportion = 0.2
doc_stride=128
max_query_length=64
使用说明
在Haystack中的应用
Haystack是一个AI编排框架,用于构建设备化和生产就绪的大型语言模型应用。在Haystack中,可以使用deBERTa-V3-Large-SQuAD2模型进行文档的抽取式问答。具体使用步骤如下:
# 安装Haystack和相关支持包
from haystack import Document
from haystack.components.readers import ExtractiveReader
docs = [
Document(content="Python is a popular programming language"),
Document(content="python ist eine beliebte Programmiersprache"),
]
reader = ExtractiveReader(model="deepset/deberta-v3-large-squad2")
reader.warm_up()
question = "What is a popular programming language?"
result = reader.run(query=question, documents=docs)
在Transformers中的应用
from transformers import AutoModelForQuestionAnswering, AutoTokenizer, pipeline
model_name = "deepset/deberta-v3-large-squad2"
# 获取预测结果
nlp = pipeline('question-answering', model=model_name, tokenizer=model_name)
QA_input = {
'question': 'Why is model conversion important?',
'context': 'The option to convert models between FARM and transformers gives freedom to the user and let people easily switch between frameworks.'
}
res = nlp(QA_input)
# 加载模型及分词器
model = AutoModelForQuestionAnswering.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
性能表现
deBERTa-v3-large-squad2模型在SQuAD 2.0开发集上的表现如下:
- 精确匹配(exact match)率: 87.61%
- F1得分: 90.75%
该模型能够很好地处理有答案和无答案的问答任务,共评估了11,873个问题,其中包含有答案的问题5,928个和无答案的问题5,945个。
关于deepset团队
deepset团队是背后推动开源AI框架Haystack的公司。Haystack是一个面向生产就绪应用程序的自定义AI编排框架。
他们的其他重要工作包括:
参与社区交流
了解更多关于Haystack的信息,请访问GitHub和官方文档。此外,您还可以加入其Discord社区进行交流。
其他社交平台:
deepset团队也在进行人才招聘,详情请点击这里。