模型:
mrm8488/t5-base-finetuned-break_data
Google's T5 在 break_data 数据集上对 QDMRs 进行了微调。
T5 模型是由 Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, Peter J. Liu 在 Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer 中提出的。下面是摘要:
迁移学习是一种先对数据丰富的任务进行预训练,然后对下游任务进行微调的强大技术,在自然语言处理(NLP)中已经被证明非常有效。迁移学习的有效性催生了各种方法、方法论和实践。在本文中,我们通过引入一个统一的框架,将每个语言问题都转化为文本到文本的格式,来探索 NLP 的迁移学习技术。我们的系统研究比较了预训练目标、架构、无标签数据集、迁移方法和其他因素在数十种语言理解任务上的表现。通过将我们探索的见解与规模和我们的新的“Colossal Clean Crawled Corpus”相结合,我们在涵盖摘要、问答、文本分类等许多基准测试中取得了最先进的结果。为了促进未来关于 NLP 的迁移学习的研究,我们发布了我们的数据集、预训练模型和代码。
Break 是一个人工标注的自然语言问题和其问题分解意义表示(QDMRs)数据集。Break 包括来自10个文本、图像和数据库问答数据集的83,978个示例。该存储库包含了 Break 数据集以及有关确切数据格式的信息。
Dataset | Split | # samples |
---|---|---|
break_data | train | 17503 |
break_data | valid | 3130 |
在 NLP Viewer 中了解更多关于此数据集以及其他数据集的信息。
训练脚本是 this awesome one 的一个稍微修改版,作者是 Suraj Patil 。主要的变化在于我们给模型提供的预处理输入和目标。我们将其作为一个释义任务进行处理。
# Tip: By now, install transformers from source from transformers import AutoModelForSeq2SeqLM, AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("mrm8488/t5-base-finetuned-break_data") model = AutoModelForSeq2SeqLM.from_pretrained("mrm8488/t5-base-finetuned-break_data") def get_decomposition(question): input_text = "paraphrase: %s </s>" % question features = tokenizer([input_text], return_tensors='pt') output = model.generate(input_ids=features['input_ids'], attention_mask=features['attention_mask'], max_length=32) return tokenizer.decode(output[0]) question = "The composer of Sands Theme plays what type of guitar?" get_decomposition(question) # output: 'return Sands Theme ;return composer of #1 ;return guitar that #2 plays'
由 Manuel Romero/@mrm8488 创作 | LinkedIn
在西班牙