英文

基于TyDiQA进行多语言问答的mT5-base微调 ??❓

Google's mT5-base 微调得到了 TyDi QA (次要任务),用于多语言问答的下游任务。

mT5的详细信息

Google's mT5

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

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

注意:mT5只在mC4上进行了预训练,没有任何监督训练。因此,在用于下游任务之前,需要对该模型进行微调。

预训练数据集: 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 是一个包含204K个问题-答案对的问答数据集,涵盖了11种不同类型的语言。TyDi QA的语言在语言学上多样化,即每种语言表达的语言特征集合。我们期望在这个数据集上表现良好的模型能够概括世界上大量的语言。它包含了在仅用英语语料库中找不到的语言现象。为了提供一个真实的信息获取任务并避免启发效应,问题是由想要知道答案但尚不知道答案的人撰写的,并且数据是直接采集的,而没有使用翻译工具(与MLQA和XQuAD不同)。

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

验证数据集上的结果 ?

Metric # Value
EM 60.88

模型展示 ?

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
tokenizer = AutoTokenizer.from_pretrained("Narrativa/mT5-base-finetuned-tydiQA-xqa")
model = AutoModelForCausalLM.from_pretrained("Narrativa/mT5-base-finetuned-tydiQA-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])
  
# 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)

创建者: Narrativa

关于Narrativa:自然语言生成(NLG)| Gabriele,我们的基于机器学习的平台,构建并部署自然语言解决方案。#NLG#AI