英文

T5-base 在 QuaRTz 上进行微调

在 QA 下游任务上,T5 在 QuaRTz 上进行了微调。

T5 的详细信息

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的迁移学习的研究,我们发布了我们的数据集、预训练模型和代码。

数据集的详细信息 ?

QuaRTz 是一个众包数据集,包含了3864个关于开放领域定性关系的多项选择题。每个问题都与405个不同的背景句子(有时是短段落)之一配对。QuaRTz 数据集 V1 包含了3864个关于开放领域定性关系的问题。每个问题都与405个不同的背景句子(有时是短段落)之一配对。该数据集被分割为:

Set Samples
Train 2696
Valid 384
Test 784

模型微调 ?️‍

训练脚本是根据 this awesome one 稍作修改的版本,由 Suraj Patil 提供。问题、背景(para字段)和选项(choices字段)被连接在一起并传递给编码器。解码器通过查询answerKey字段接收正确答案。有关数据集字段/格式的更多详细信息 here

结果 ?

Set Metric Score
Validation Accuracy (EM) 83.59
Test Accuracy (EM) 81.50

模型运作 ?

from transformers import AutoModelWithLMHead, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("mrm8488/t5-base-finetuned-quartz")
model = AutoModelWithLMHead.from_pretrained("mrm8488/t5-base-finetuned-quartz")

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

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

  return tokenizer.decode(output[0])
  
fact = 'The sooner cancer is detected the easier it is to treat.'
question = 'John was a doctor in a cancer ward and knew that early detection was key. The cancer being detected quickly makes the cancer treatment'
opts = 'Easier, Harder'

get_response(question, fact, opts)

# output: 'Easier'

Manuel Romero/@mrm8488 创建 | LinkedIn

用 ♥ 制作,位于西班牙