🚀 mT5-base在TyDiQA上微調用於多語言問答 🗺📖❓
本項目是將 Google的mT5-base 在 TyDi QA(次要任務)上進行微調,以用於多語言問答下游任務。
✨ 主要特性
mT5模型詳情
Google的mT5 是在 mC4 語料庫上進行預訓練的,該語料庫涵蓋了101種語言:
南非荷蘭語、阿爾巴尼亞語、阿姆哈拉語、阿拉伯語、亞美尼亞語、阿塞拜疆語、巴斯克語、白俄羅斯語、孟加拉語、保加利亞語、緬甸語、加泰羅尼亞語、宿務語、齊切瓦語、中文、科西嘉語、捷克語、丹麥語、荷蘭語、英語、世界語、愛沙尼亞語、菲律賓語、芬蘭語、法語、加利西亞語、格魯吉亞語、德語、希臘語、古吉拉特語、海地克里奧爾語、豪薩語、夏威夷語、希伯來語、印地語、苗語、匈牙利語、冰島語、伊博語、印尼語、愛爾蘭語、意大利語、日語、爪哇語、卡納達語、哈薩克語、高棉語、韓語、庫爾德語、吉爾吉斯語、老撾語、拉丁語、拉脫維亞語、立陶宛語、盧森堡語、馬其頓語、馬達加斯加語、馬來語、馬拉雅拉姆語、馬耳他語、毛利語、馬拉地語、蒙古語、尼泊爾語、挪威語、普什圖語、波斯語、波蘭語、葡萄牙語、旁遮普語、羅馬尼亞語、俄語、薩摩亞語、蘇格蘭蓋爾語、塞爾維亞語、紹納語、信德語、僧伽羅語、斯洛伐克語、斯洛文尼亞語、索馬里語、索托語、西班牙語、巽他語、斯瓦希里語、瑞典語、塔吉克語、泰米爾語、泰盧固語、泰語、土耳其語、烏克蘭語、烏爾都語、烏茲別克語、越南語、威爾士語、西弗裡西亞語、科薩語、意第緒語、約魯巴語、祖魯語。
注意:mT5僅在mC4上進行了預訓練,未進行任何有監督訓練。因此,該模型在用於下游任務之前必須進行微調。
數據集詳情 📚
TyDi QA 是一個問答數據集,涵蓋11種類型多樣的語言,包含204K個問答對。TyDi QA的語言在類型學上具有多樣性,即每種語言所表達的語言特徵集合不同,因此我們期望在該數據集上表現良好的模型能夠在世界上大量語言中實現泛化。它包含了僅英語語料庫中找不到的語言現象。為了提供真實的信息搜索任務並避免引導效應,問題由想知道答案但尚未知道答案的人編寫(與SQuAD及其衍生數據集不同),並且數據是直接以每種語言收集的,不使用翻譯(與MLQA和XQuAD不同)。
數據集 |
任務 |
劃分 |
樣本數量 |
TyDi QA |
GoldP |
訓練集 |
49881 |
TyDi QA |
GoldP |
驗證集 |
5077 |
驗證數據集結果 📝
💻 使用示例
基礎用法
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])
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