模型:
bigscience/T0pp
如何发音这个模型的名称?T0 应该发音为 "T Zero"(就像在 "T5 for zero-shot" 中的 "T5" 发音一样),而 "p" 代表 "Plus",所以 "T0pp" 应该发音为 "T Zero Plus Plus"!
官方库: bigscience-workshop/t-zero
T0* 展示了对英语自然语言提示的零射击任务泛化能力,在许多任务上优于 GPT-3,同时体积缩小了16倍。它是一系列在大量不同任务上进行了训练的编码器-解码器模型,这些任务由自然语言提示指定。我们将大量的英语监督性数据集转换为提示,每个提示使用不同的表述方式,包括多个模板。这些提示数据集允许评估模型在自然语言中执行完全未见过的任务的能力。为了获得 T0*,我们在这个多任务混合物上对预训练的语言模型进行微调,其中包含了许多不同的 NLP 任务。
你可以使用这些模型来根据自然语言中的查询执行任务推理,模型将生成一个预测结果。例如,你可以询问 "这个评论是积极的还是消极的?评论:这是你购买过的最好的铸铁煎锅",模型将生成 "积极"。
以下是一些你可以尝试的例子:
我们提供了在我们的 paper 中展示的模型以及消融模型。我们建议使用 T0pp (发音为 "T Zero Plus Plus")的检查点,因为它在各种 NLP 任务上的表现(平均而言)最好。
Model | Number of parameters |
---|---|
1235321 | 11 billion |
1236321 | 11 billion |
1237321 | 11 billion |
1238321 | 11 billion |
1239321 | 11 billion |
12310321 | 3 billion |
以下是如何在 PyTorch 中使用模型的方式:
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM tokenizer = AutoTokenizer.from_pretrained("bigscience/T0pp") model = AutoModelForSeq2SeqLM.from_pretrained("bigscience/T0pp") inputs = tokenizer.encode("Is this review positive or negative? Review: this is the best cast iron skillet you will ever buy", return_tensors="pt") outputs = model.generate(inputs) print(tokenizer.decode(outputs[0]))
如果你想使用其他检查点,请在 AutoTokenizer 和 AutoModelForSeq2SeqLM 中替换路径。
注意:模型是使用 bf16 激活进行训练的。因此,我们强烈不建议使用 fp16 进行推理。应优先使用 fp32 或 bf16。
T0* 模型基于 T5 ,这是一个基于 Transformer 的编码器-解码器语言模型,使用遮蔽语言建模样式的目标在 C4 上进行预训练。我们使用了公开可用的 language model-adapted T5 checkpoints ,它们通过使用标准的语言建模目标训练 T5 进行了额外的10万步。
在高层次上,输入文本被输入到编码器中,目标文本由解码器生成。通过标准的最大似然训练,对模型进行微调以自动回归地生成目标文本。模型从未被训练以生成输入文本。我们将训练数据的详细信息在下一节中说明。
训练细节:
我们使用不同的数据集混合训练了不同变体的 T0。
Model | Training datasets |
---|---|
T0 | - Multiple-Choice QA: CommonsenseQA, DREAM, QUAIL, QuaRTz, Social IQA, WiQA, Cosmos, QASC, Quarel, SciQ, Wiki Hop - Extractive QA: Adversarial QA, Quoref, DuoRC, ROPES - Closed-Book QA: Hotpot QA*, Wiki QA - Structure-To-Text: Common Gen, Wiki Bio - Sentiment: Amazon, App Reviews, IMDB, Rotten Tomatoes, Yelp - Summarization: CNN Daily Mail, Gigaword, MultiNews, SamSum, XSum - Topic Classification: AG News, DBPedia, TREC - Paraphrase Identification: MRPC, PAWS, QQP |
T0p | Same as T0 with additional datasets from GPT-3's evaluation suite: - Multiple-Choice QA: ARC, OpenBook QA, PiQA, RACE, HellaSwag - Extractive QA: SQuAD v2 - Closed-Book QA: Trivia QA, Web Questions |
T0pp | Same as T0p with a few additional datasets from SuperGLUE (excluding NLI sets): - BoolQ - COPA - MultiRC - ReCoRD - WiC - WSC |
T0_single_prompt | Same as T0 but only one prompt per training dataset |
T0_original_task_only | Same as T0 but only original tasks templates |
T0_3B | Same as T0 but starting from a T5-LM XL (3B parameters) pre-trained model |
为了重现实验结果,我们在 P3 dataset 中发布了我们用于训练(和评估)的数据。提示示例可以在数据集页面找到。
*:由于输入序列长度过长,我们将 Hotpot QA 转换为了闭书 QA。
我们在一套保留的任务上评估我们的模型:
Task category | Datasets |
---|---|
Natural language inference | ANLI, CB, RTE |
Coreference resolution | WSC, Winogrande |
Word sense disambiguation | WiC |
Sentence completion | COPA, HellaSwag, Story Cloze |
我们还在一部分 BIG-bench benchmark 上评估了 T0、T0p 和 T0pp:
即使我们刻意决定在微调中排除具有潜在有害内容的数据集,所训练的模型也不是无偏的。根据一些实验,T0++ 可能生成可以被归类为阴谋论、有偏见、冒犯或过度强调性话题的答案:
语言模型可能会重现出现在它们进行预训练的大型语料库中的不良社会偏见。我们通过两种方式评估我们的模型:首先是它们识别或标记性别偏见的能力,第二是它们复制这些偏见的程度。
为了衡量模型识别性别偏见的能力,我们使用了 WinoGender Schemas(在 SuperGLUE 下也称为 AX-g)和 CrowS-Pairs 进行了评估。WinoGender Schemas 是一组最小对句子,仅通过句子中的一个代词的性别而不同,旨在测试性别偏见的存在。我们使用将 WinoGender 转换为文本蕴涵任务的 Diverse Natural Language Inference Collection( Poliak et al., 2018 )版本,并报告准确率。CrowS-Pairs 是一个用于测量掩蔽语言模型中的 U.S. 刻板偏见程度的挑战数据集,使用最小的句子对来预测哪个句子是刻板化的(或反刻板化的),并报告准确率。对于每个数据集,我们评估了 5 到 10 个提示。
Dataset | Model | Average (Acc.) | Median (Acc.) |
CrowS-Pairs | T0 | 59.2 | 83.8 |
T0p | 57.6 | 83.8 | |
T0pp | 62.7 | 64.4 | |
T0_single_prompt | 57.6 | 69.5 | |
T0_original_task_only | 47.1 | 37.8 | |
T0_3B | 56.9 | 82.6 | |
WinoGender | T0 | 84.2 | 84.3 |
T0p | 80.1 | 80.6 | |
T0pp | 89.2 | 90.0 | |
T0_single_prompt | 81.6 | 84.6 | |
T0_original_task_only | 83.7 | 83.8 | |
T0_3B | 69.7 | 69.4 |
为了衡量模型复制性别偏见的程度,我们使用了 WinoBias Schemas 进行评估。WinoBias Schemas 是代词共指解析任务,可能会受到性别偏见的影响。WinoBias Schemas 有两个模式(type1 和 type2),它们被分为亲刻板和反刻板子集。一个 "亲刻板" 示例是一种正确答案符合刻板印象的示例,而一个 "反刻板" 示例是一种反对刻板印象的示例。所有示例都有一个明确的正确答案,因此 "亲-" 和 "反-" 子集之间的分数差异衡量了刻板印象导致模型被误导的程度。如果目标名词出现在模型的预测中,我们将正确率作为准确率进行报告。我们在 6 个提示上进行评估。
Model | Subset | Average (Acc.) | Median (Acc.) | ||||
Pro | Anti | Pro - Anti | Pro | Anti | Pro - Anti | ||
T0 | Type 1 | 68.0 | 61.9 | 6.0 | 71.7 | 61.9 | 9.8 |
Type 2 | 79.3 | 76.4 | 2.8 | 79.3 | 75.0 | 4.3 | |
T0p | Type 1 | 66.6 | 57.2 | 9.4 | 71.5 | 62.6 | 8.8 |
Type 2 | 77.7 | 73.4 | 4.3 | 86.1 | 81.3 | 4.8 | |
T0pp | Type 1 | 63.8 | 55.9 | 7.9 | 72.7 | 63.4 | 9.3 |
Type 2 | 66.8 | 63.0 | 3.9 | 79.3 | 74.0 | 5.3 | |
T0_single_prompt | Type 1 | 73.7 | 60.5 | 13.2 | 79.3 | 60.6 | 18.7 |
Type 2 | 77.7 | 69.6 | 8.0 | 80.8 | 69.7 | 11.1 | |
T0_original_task_only | Type 1 | 78.1 | 67.7 | 10.4 | 81.8 | 67.2 | 14.6 |
Type 2 | 85.2 | 82.3 | 2.9 | 89.6 | 85.4 | 4.3 | |
T0_3B | Type 1 | 82.3 | 70.1 | 12.2 | 83.6 | 62.9 | 20.7 |
Type 2 | 83.8 | 76.5 | 7.3 | 85.9 | 75 | 10.9 |
@misc{sanh2021multitask, title={Multitask Prompted Training Enables Zero-Shot Task Generalization}, author={Victor Sanh and Albert Webson and Colin Raffel and Stephen H. Bach and Lintang Sutawika and Zaid Alyafeai and Antoine Chaffin and Arnaud Stiegler and Teven Le Scao and Arun Raja and Manan Dey and M Saiful Bari and Canwen Xu and Urmish Thakker and Shanya Sharma Sharma and Eliza Szczechla and Taewoon Kim and Gunjan Chhablani and Nihal Nayak and Debajyoti Datta and Jonathan Chang and Mike Tian-Jian Jiang and Han Wang and Matteo Manica and Sheng Shen and Zheng Xin Yong and Harshit Pandey and Rachel Bawden and Thomas Wang and Trishala Neeraj and Jos Rozen and Abheesht Sharma and Andrea Santilli and Thibault Fevry and Jason Alan Fries and Ryan Teehan and Stella Biderman and Leo Gao and Tali Bers and Thomas Wolf and Alexander M. Rush}, year={2021}, eprint={2110.08207}, archivePrefix={arXiv}, primaryClass={cs.LG} }