xlm-roberta-large-squad2项目介绍
概述
xlm-roberta-large-squad2是一个多语言的模型,这个模型主要用于从文本中抽取答案(Extractive QA)。它是基于SQuAD 2.0数据集进行训练的。其中,SQuAD 2.0是一个包含问题-答案对的数据集,提供了非常好的语义理解能力。这个模型不仅可以用于英文,还可以处理多种语言的文本。
项目名称
该模型的完整名称为deepset/xlm-roberta-large-squad2。
语言
它是一种多语言模型,支持多种语言。
任务类型
主要用于问题回答(Question Answering)任务。
数据集与性能
数据集
用于训练的数据集为SQuAD 2.0,评估则使用了SQuAD开发集、德语的MLQA以及德语的XQuAD。
性能指标
- 在SQuAD 2.0的验证集上,精确匹配度(Exact Match)为81.8281,F1分数为84.8886。
- 在SQuAD 2.0英文开发集上,精确匹配度为79.46,F1分数为83.79。
- 在德语MLQA数据集上,精确匹配度为49.35,F1分数为66.16。
- 在德语XQuAD数据集上,精确匹配度为61.51,F1分数为78.80。
技术参数
- 批量大小: 32
- 训练时期: 3
- 基础模型: xlm-roberta-large
- 最大序列长度: 256
- 学习率: 1e-5
- 学习率调度: LinearWarmup
- 预热比例: 0.2
- 文档步幅: 128
- 最大查询长度: 64
使用方法
在Haystack中
Haystack是一个用于构建大语言模型应用的AI框架,能够轻松进行文档的抽取式问答。通过Haystack,可将xlm-roberta-large-squad2模型应用于各种文档的问答任务。具体使用方式详见Haystack的教程。
在Transformers中
在Transformers库中,也可以利用xlm-roberta-large-squad2进行问题回答:
from transformers import AutoModelForQuestionAnswering, AutoTokenizer, pipeline
model_name = "deepset/xlm-roberta-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)
关于开发者
该模型由Branden Chan、Timo Möller、Malte Pietsch和Tanay Soni开发。
关于deepset
deepset是一个致力于开发AI开源框架的公司,他们的Haystack项目用于生成可定制、生产就绪的大语言模型应用。其他一些相关工作包括German BERT、GermanQuAD和deepset Cloud产品等。
如果对Haystack项目感兴趣,可在他们的GitHub页面获取更多信息。deepset也提供了一个开放的Discord社区,欢迎所有人加入。
另外,deepset正在招聘中,机会不容错过!