模型:

mrm8488/mT5-small-finetuned-tydiqa-for-xqa

英文

mT5-small 在TyDiQA上进行了多语言问答Fine-tuning的模型??❓

Google's mT5-small TyDi QA 上进行了Fine-tuning(作为次要任务),用于多语言问答的下游任务。

mT5 的详细信息

Google's mT5

mT5 在 mC4 的语料库上进行了预训练,覆盖了101种语言:

阿非利堪斯语,阿尔巴尼亚语,阿姆哈拉语,阿拉伯语,亚美尼亚语,阿塞拜疆语,巴斯克语,白俄罗斯语,孟加拉语,保加利亚语,缅甸语,加泰罗尼亚语,宿务语,齐切瓦语,汉语,科西嘉语,捷克语,丹麦语,荷兰语,英语,世界语,爱沙尼亚语,菲律宾语,芬兰语,法语,加利西亚语,格鲁吉亚语,德语,希腊语,古吉拉特语,海地克里奥尔语,豪萨语,夏威夷语,希伯来语,印地语,苗语,匈牙利语,冰岛语,伊博语,印度尼西亚语,爱尔兰语,意大利语,日语,爪哇语,卡纳达语,哈萨克语,高棉语,韩语,库尔德语,吉尔吉斯语,老挝语,拉丁语,拉脱维亚语,立陶宛语,卢森堡语,马其顿语,马尔加什语,马来语,马拉雅拉姆语,马耳他语,毛利语,马拉地语,蒙古语,尼泊尔语,挪威语,普什图语,波尔图格斯语,旁遮普语,罗马尼亚语,俄语,萨摩亚语,苏格兰盖尔语,塞尔维亚语,修纳语,信德语,僧伽罗语,斯洛伐克语,斯洛文尼亚语,索马里语,塞索托语,西班牙语,苏丹语,斯瓦希里语,瑞典语,塔吉克语,泰米尔语,泰卢固语,泰语,土耳其语,乌克兰语,乌尔都语,乌兹别克语,越南语,威尔士语,西弗里斯语,科萨语,意第绪语,约鲁巴语,祖鲁语。

注意:mT5仅在mC4上进行了预训练,没有进行任何监督训练。因此,在将其用于下游任务之前,必须进行Fine-tuning。

预训练数据集: mC4

其他社区检查点: here

论文: mT5: A massively multilingual pre-trained text-to-text transformer

作者:Linting Xue, Noah Constant, Adam Roberts, Mihir Kale, Rami Al-Rfou, Aditya Siddhant, Aditya Barua, Colin Raffel

数据集的详细信息 ?

TyDi QA 是一个问答数据集,涵盖了11种类型多样的语言,包含204K个问答对。 TyDi QA中的语言在其语言类型上具有多样性,即每种语言表达的语言特征集合,在这个数据集上表现良好的模型可望在世界上的众多语言中具有概括能力。它包含在仅以英语为主的语料库中找不到的语言现象。为了提供一个现实的信息获取任务并避免启发效应,问题是由想要知道答案但尚不知答案的人编写的(与SQuAD及其后续版本不同),并且数据是直接在每种语言中收集的(与MLQA和XQuAD不同,它们使用了翻译)。

Dataset Task Split # samples
TyDi QA GoldP train 49881
TyDi QA GoldP valid 5077

验证集上的结果 ?

Metric # Value
EM 41.65

模型动态展示 ?

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
tokenizer = AutoTokenizer.from_pretrained("mrm8488/mT5-small-finetuned-tydiqa-for-xqa")
model = AutoModelForCausalLM.from_pretrained("mrm8488/mT5-small-finetuned-tydiqa-for-xqa").to(device)

def get_response(question, context, max_length=32):
  input_text = 'question: %s  context: %s' % (question, context)
  features = tokenizer([input_text], return_tensors='pt')

  output = model.generate(input_ids=features['input_ids'].to(device), 
               attention_mask=features['attention_mask'].to(device),
               max_length=max_length)

  return tokenizer.decode(output[0], skip_special_tokens=True)
  
# Some examples in different languages

context = 'HuggingFace won the best Demo paper at EMNLP2020.'
question = 'What won HuggingFace?'
get_response(question, context)

context = 'HuggingFace ganó la mejor demostración con su paper en la EMNLP2020.'
question = 'Qué ganó HuggingFace?'
get_response(question, context)

context = 'HuggingFace выиграл лучшую демонстрационную работу на EMNLP2020.'
question = 'Что победило в HuggingFace?'
get_response(question, context)

Manuel Romero/@mrm8488 创建 | LinkedIn

西班牙制造 ♥