数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
二十八、ExT5 [2021]
迁移学习是最近的
NLP
进展的基石。虽然自监督的预训练已被证明在利用大量未标记数据方面非常有效,但关于多任务co-training
的setup
中的迁移学习,仍有许多需要探索。之前的开创性工作,如T5
和MT-DNN
已经在多任务co-training
的范式中展示了一定程度的前景,然而存在灾难性遗忘catastrophic forgetting
的挑战。为了证明与transfer
有关的positive affinity
,任务往往必须被精心挑选。在许多情况下,也可能获得负向迁移negative transfer
。这使得很难根据经验策划一组任务从而用于迁移学习。虽然标准的预训练通常采用自监督的
language modeling objective
的变体,某些类型的技能(如常识性知识),即使使用大量未标记的数据也只能以缓慢的速度获得。随着越来越大的模型被训练出来,开发更加sample-efficient
的pre-training setting
变得更重要,并且可以通过多任务学习multi-task learning
来解决。论文
《ExT5: Towards extreme multi-task scaling for transfer learning》
首次探索并提出了Extreme Multi-task Scaling
,针对多任务预训练的一种新范式。与之前最大的工作《Muppet: Massive multi-task representations with pre-finetuning》
相比,ExT5
将任务数量增加了一倍,并聚焦于多任务预训练而不是微调,这使得ExT5
能够与标准预训练进行直接比较。论文的proposal
是基于这样的洞察:尽管在微调过程中,负向迁移是常见的,但一般来说,大量的、多样化的预训练任务集合,要比针对预训练任务的最佳组合的expensive search
更好。为此,论文引入了
ExMix
:一个由107
个有监督的NLP
任务组成的庞大集合,将被纳入多任务预训练setup
。作者以encoder-decoder
友好的格式处理所有的任务,以方便支持在所有任务中共享所有的参数。作者推测,在尽可能多的任务、分布、以及领域中的ensembling effect
会产生一个一致的net-positive outcome
。这与早期的多任务学习结果相呼应(《Multitask learning》
、《A model of inductive bias learning》
),表明在足够多的任务中学习到的bias
很可能会被泛化到从同一环境中抽取的unseen
任务中。此外,论文的实验证明,所提出的ExMix mixture
优于人工筛选的任务的最佳mixture
。核心要点:
自监督任务和
107
个有监督任务,用相同的格式进行统一的训练。没必要针对具体的任务挑选最佳的监督任务组合,直接大量的监督任务组合即可。
最后,作者提出了
ExT5
模型,它是一个T5
模型,在supervised ExMix
的mixture
、以及self-supervised C4 span denoising
上进行预训练。ExT5
在公认的benchmark
上,如SuperGLUE
、GEM
、Rainbow
、以及Closed-Book QA
任务上,优于SOTA
的T5
模型。综上所述,本文的贡献如下:
提出了
ExMix
:一个由107
个有监督的NLP
任务组成的集合从而用于Extreme Multi-task Scaling
,每个任务被格式化从而用于encoder-decoder
训练。ExMix
的任务数量大约是迄今为止最大的研究(《Muppet: Massive multi-task representations with pre-finetuning》
)的两倍,在不同的任务系列中总共有18M
个标记样本。给定大量任务的集合,论文进行了严格的实验研究,评估常见任务系列之间的迁移。实验结果表明:在
fine-tuning transfer
的基础上筛选一个pre-training mixture
并不简单。因此,搜索针对多任务预训练的最佳任务子集,这是具有挑战性且难以实现的。使用
ExMix
,论文在C4
数据集的span-denoising objective
的基础上预训练一个模型,产生了一个新的预训练模型ExT5
。ExT5
在SuperGLUE
、GEM
、Rainbow
、Closed Book Question Answering
、以及ExMix
之外的其他几个任务上的表现优于SOTA
的T5
,同时也更加sample-efficient
。
相关工作:
通过多任务来改善
NLP
模型:《A unified architecture for natural language processing: Deep neural networks with multitask learning》
利用多任务学习来完成相对简单的任务,如词性标注Part-of-Speech tagging
。《Sentence encoders on stilts: Supplementary training on intermediate labeled-data tasks》
使用四个任务(具有大型数据集)intermediate
的微调阶段进行自然语言理解。类似地,
《Multi-task deep neural networks for natural language understanding》
提出了MT-DNN
,它使用的setup
规模为30
个左右的任务、以及高达440M
的参数。最近,
《Muppet: Massive multi-task representations with pre-finetuning》
使用了大约50
个任务和规模达440M
参数的模型。《Don’t stop pretraining: Adapt language models to domains and tasks》
采取了另一种方法,即继续预训练一个模型,但使用domain-specific
的数据作为intermediate step
。《The natural language decathlon: Multitask learning as question answering》
提出了一个类似于T5
的统一框架。最近,
《Finetuned language models are zero-shot learners》
也说明了多任务学习阶段如何在~137B
参数的规模上大大改善大型语言模型的zero-shot prompting
性能。人们还努力为特定的任务定制
pre-training objective
,例如,问答question answering
任务、对话任务、和span selection
任务。
不同任务之间的关系:
《Identifying beneficial task relations for multi-task learning in deep neural networks》
进行了一项与我们相似的研究,但针对更传统的NLP
任务,如chunking
、CCG tagging
、POS tagging
等。最近,
《Exploring and predicting transferability across NLP tasks》
对各种分类/回归、问答、以及序列标注任务之间的关系进行了深入研究,并提出了一个task-embedding framework
来预测这种关系。《UNIFIEDQA: Crossing format boundaries with a single QA system》
也进行了类似的实验,但具体到问答数据集/格式,形成了一个强大的QA
模型,称为UnifiedQA
。UnifiedQA
也是基于T5
框架的。最近,
《What’s in your head? emergent behaviourin multi-task transformer models》
阐述并分析了在相关的co-training
任务(如QA
和摘要)之间,encoder-only Transformer
的behavior transfer
。在
NLP
之外,《A convex formulation for learning task relationships in multi-tasklearning》
引入了一个学习task relationship
的凸优化的objective
,《On better exploring and exploiting task relationships in multitask learning: Joint model and feature learning》
在各种不同的数据集上探索和利用task relationship
。
选择要迁移的任务:
我们的实验试图从经验上选择一组任务来迁移。沿着这些思路,
《Learning to select data for transfer learning with Bayesian optimization》
使用具有相似性措施的贝叶斯优化方法来自动选择来自不同domainn
的相关数据。类似地,
《AutoSeM: Automatic task selection and mixingin multi-task learning》
使用multi-armed bandits
来选择任务,并使用高斯过程Gaussian Process
来控制所选任务的混合率。最近的另一波工作是根据人工定义的特征来选择合适的迁移语言(
《Choosing Transfer Languages for Cross-Lingual Learning》
、《Ranking Transfer Languages with Pragmatically-Motivated Features for Multilingual Sentiment Analysis》
)。除了
NLP
领域,《Efficiently identifying task groupings for multi-task learning》
提出了一种方法,根据任务梯度来选择迁移的任务。
上述所有的工作都是选择为感兴趣的下游任务定制的数据。如果试图以类似的方式训练一个通用的预训练模型,就会出现类似于我们正文部分所提到的计算瓶颈。
预训练的
Transformer
:Transformer
模型,如T5, BERT, GPT-3
依靠大型无标签语料库进行自监督学习。鉴于pre-train-finetune
范式的广泛成功,寻找合适的预训练任务也成为一个活跃的研究领域。虽然已经有证据表明,supplementary pre-training task
有助于提高性能,但这项工作是第一个大规模的多任务预训练模型。Scaling Laws
:Transformer
的scaling laws
最近引起了很多关注,特别是与模型大小有关的。在
《Scaling laws for neural language models》
中,作者进一步研究了与数据集大小有关的scaling
(在同一预训练语料库上)。为此,这项工作可以被解释为在可用于预训练的高质量的、多样化的标记任务的数量方面进行scaling up
的尝试。
28.1 ExMix 任务集合
为了探索
Extreme Task Scaling
范式,我们引入了ExMix
(Extreme Mixture
),这是一个由107
个不同的英语NLP
任务组成的集合,共有18M
个样本。遵从T5
,我们将所有的任务格式化为text-to-text
的样本,以便进行多任务训练。这种统一的格式也使简单的implementation
成为可能,而不需要像以前的工作那样来提供task-specific
的head/loss
、loss scaling
或显式的梯度积累。在从
ExMix
中选择样本时,每个数据集的样本都是按单个数据集的大小成比例来采样的,每个数据集的取样率上限为 $ 3\times 10^5 $ 个最大有效样本,以确保大型数据集和小型数据集之间的平衡。这个采样率上限是如何设定的?论文并未说明。
尽管
ExMix
中的任务来自不同的数据集,而且都有自己的细微差别,但ExMix
任务大致代表了以下任务族task family
:分类
classification
(single segment
)。自然语言推理
natural language inference
(two segments
)。阅读理解
reading comprehension
。闭卷问答
closed-book question answering: CBQA
。常识推理
commonsense reasoning
。语义解析
semantic parsing
。对话
dialogue
。摘要
summarization
。
虽然也存在其他
task group
,但上述的任务族涵盖了ExMix
的大部分。这个任务集合还可以实现多任务学习,其规模是以前工作(《Muppet: Massive multi-task representations with pre-finetuning》
)的两倍。下表总结了
ExMix
中包括的107
个数据集。表中的一些行代表了现有的benchmark
(它们将几个任务组合在一起)。在每个集合中,我们使用包含英语训练数据的数据集:GLUE benchmark
:CoLA, SST-2, MRPC, QQP, STS-B, MNLI, QNLI, RTE, WNLI
等任务。SuperGLUE benchmark
:BoolQ, CB, COPA, MultiRC, ReCoRD, RTE, WiC, WSC
等任务。KILT benchmark
:FEVER, AIDA, WNED, T-REx , NQ, HoPo, TQA, ELI5, WoW
等任务。Rainbow benchmark
:NLI, CosmosQA, HellaSWAG, PIQA, SocialIQA, WinoGrande
等任务。GEM (en)
:Wiki-Lingua, WenNLG , CommonGEN, E2E, DART, ToTTo, Wiki-Auto, TurkCorpus
等任务。DialoGLUE
:Banking77, HWU64, CLINC150, SGD, TOP
等任务。TweetEval
:Emotion Recognition, Emoji Prediction, Irony Detection, Hate Speech Detection, Offensive Language Identification, Sentiment Analysis, Stance Detection
等任务。
28.1.1 ExMix 任务之间的迁移关系
我们的目标是在
ExMix
上预训练一个模型,以提高下游的性能。要问的一个自然问题是,哪些任务对下游性能有负向影响?具体来说,在用于多任务预训练时,是否存在ExMix
的一个子集能导致更好的representation
?显然,测试所有可能的 $ 2^{M} $ 个组合是不现实的( $ M $ 为ExMix
中包含的任务数量),因为预训练过程的成本很高。相反,我们使用类似任务的代表性子集,并执行实验成本较低的co-training
程序(即,multi-task fine-tuning
)。稍后,我们将探讨这些结果是否可以为任务选择提供信息,从而用于多任务预训练。为了研究
ExMix
中任务族之间的迁移,我们构建了每3
个任务构成的子集(如下表所示),每个子集按照其任务族进行划分。利用这些子集,我们评估了多任务学习(co-training
)setup
中任务族之间的迁移。虽然其他类型的任务在ExMix
中可用,但我们没有包括它们,因为它们不足以代表一个任务族,而且会以二次方的速度scale up
需要训练的模型数量。这里考虑的不是任务之间的迁移,而是任务族之间的迁移。
实验设置:我们在每一对任务族上微调一个模型(即一次
6
个数据集)。为了确保任务之间的平衡,我们在任务族内按比例采样,但在任务族之间均匀采样。例如,在评估classification
任务和NLI
任务之间如何相互迁移时,NLI
样本和classification
样本的总体比例是1:1
,然而NLI
内部的MNLI:ANLI
的采样比例是按比例的(大约是2.4:1
)。作为reference
(即,baseline
),我们还在每个任务族上训练一个模型,每个任务族的内部是按比例采样。baseline
是没有族间迁移学习的模型;实验组是有族间迁移学习的模型。注意,这里族间采样是1 : 1
的。总的来说,这导致训练了
$ F+ \mathcal C_F^2 $ 个模型,其中 $ F $ 是任务族的数量(用于baseline
), $ \mathcal C_F^2 $ 是从 $ F $ 个元素中随机选择 $ 2 $ 个元素的数量(用于实验组)。如Table 1
所示,我们的实验使用 $ F=8 $ ,总共训练出34
个模型。每个模型在已发布的T5.1.1_BASE checkpoint
的基础上进行微调,使用batch size = 128
和 $ 10^{-3} $ 的恒定学习率微调200k steps
。我们在下表中总结了我们的结果。第
$ i $ 行第 $ j $ 列的元素表示使用在 $ i $ 族和 $ j $ 族上co-trained
的模型在 $ j $ 族上的平均性能。对于族内模型(对角线元素),我们报告了高达100k
步(相同数据预算)和200k
步(相同计算预算)的结果。最后一行中,平均数的计算不包括家族内模型(即对角线元素)。最后一列表示一个source family
为其他任务族提供的平均增益。我们观察到:
尽管存在一些特定的
task-family pair
显示出正向迁移(如,与NLI
共同训练有助于大多数其他任务),但与族内训练相比,在跨任务族训练时,负向迁移更为常见。在相同的数据预算下,
56
个族间的关系中,有21
个比族内的模型表现更差;在相同的计算预算下,表现更差的数据增加到38
。虽然不同任务族之间大量的负向迁移是一个预期的结果,但有趣的趋势体现在个别关系中。例如,摘要任务通常似乎会损害大多数其他任务族的性能,而
CBQA
任务对多任务的微调高度敏感。
我们还使用与
Table 2
相同的模型在下图中报告了族内数据集的相关性。在大多数情况下,我们看到同一族的数据集之间存在正相关关系。然而,在少数情况下,我们观察到一个相反的趋势。例如,在GEM schema-guided
的对话数据集上表现较好的微调模型在KILT Wizard-of-Wikipedia
上取得的分数较低。这里是用
baseline
模型来评估族内的两个数据集。这一初步的探索性分析强调了
ExMix
作为系统地研究task relationship
的工具的潜力,以及在预训练的representation
之上朴素地利用多任务学习的潜在挑战。族内迁移学习效果较好,族间迁移学习效果不好。
28.1.2 微调 task relationship 是否有助于定制一个 pretraining mixture?
前面的观察表明:在现有的
pre-trained checkpoint
之上进行多任务co-training
并不简单,而且常常导致负向迁移。然而,背后的task relationship
可能有助于有效地搜索ExMix
的理想子集进行多任务预训练。为此,我们选择了一组最有前景的任务族,将其纳入多任务预训练的
setup
中,按照它们对其他目标任务族提供的平均相对改善的程度对任务族进行排序(Table 2
的最后一列)。具体而言,我们将ExMix
中的NLI
、commonsense
、classification
和closed-book QA
任务纳入多任务预训练设置中,形成了48
个任务的mixture
(下表中Best-effort
这一行)。然后,我们在SuperGLUE
上对得到的模型进行微调,在下表中与T5.1.1
和ExT5
(包含所有ExMix
任务)进行比较。虽然这个模型的表现略微优于
T5.1.1
,但它并没有产生比ExT5
更好的结果。此外,正如我们在任务扩展实验(接下来的内容)中所报告的那样,它并没有优于随机选择的55
个任务的平均表现。我们的结论是,多任务微调期间的负向迁移不一定会抑制预训练。虽然我们不能直接得出结论,即
ExMix
的理想子集不存在,但我们的实验表明,随机包括更多不同的预训练任务一般会提高下游任务的性能。还必须指出的是,我们的最终目标是找到一种mixture
从而导致一个可用于大量下游任务的通用预训练模型,而不仅仅是针对SuperGLUE
定制化的mixture
。
28.1.3 多任务预训练 VS Pre-Finetuning
另一种利用多任务学习的方法不是在
ExMix
上进行预训练,而是作为预训练和微调的中间步骤,这被《Muppet: Massive multi-task representations with pre-finetuning》
称为预微调pre-finetuning
。我们进行实验来比较预训练和预微调。我们从一个标准的T5 base checkpoint
开始,用ExMix
进行预微调。在这个阶段之后,我们在SuperGLUE
上进行微调。下表比较了预微调和我们提出的多任务预训练。我们还报告了两种方案中模型的总计算量(以处理的
token
总数来衡量)。结果表明:多任务预训练明显优于预微调。一个潜在的假设是:多任务预训练缩小了预训练数据分布和微调数据分布之间的差距,因为预训练阶段更接近于微调。相反,将预训练和预微调分离成两个不同的阶段可能会诱发对预训练任务的灾难性遗忘。因此,在
ExT5
中,我们选择了多任务预训练而不是预微调。
28.1.4 应该混合多少标记数据
这里我们将探讨在大规模多任务预训练中,
C4
与ExMix
样本的比例如何影响性能。正如后面的内容所提到的,这是由一个超参数 $ R $ 控制的。 $ R $ 的物理含义是,在一个pre-training batch
中,C4
样本的数量大约是ExMix
样本数量的 $ R $ 倍。C4
是自监督预训练数据,ExMix
是多任务监督数据。从下图的结果中,我们发现:
在多种
$ R $ 的取值下,ExMix
在与自监督C4
预训练混合时提高了下游性能。用
$ R=0 $ (即 ,没有C4
预训练)训练的模型的效果最差。
这个结果很重要,因为它表明,虽然
ExMix
改善了预训练过程,但在大型非结构化语料库上的自监督训练仍然是至关重要的。
28.1.5 Task Scaling
这里我们探讨了模型的性能如何随着大规模多任务预训练设置中的任务数量的增加而变化。我们随机选择
30
、55
和80
个任务(每个任务都是最后一个任务的超集),对一个BASE
大小的模型进行524k
步的预训练,并在SuperGLUE
上对其进行微调。我们用batch size=128/256
(两种实验配置) 、以及 $ R=2 $ (C4
样本和ExMix
样本的比例)来训练我们的模型,因为这种配置对我们的BASE
大小的模型效果最好。我们在三个随机种子(用于任务子集选择)上重复这个过程,并在下图中报告平均分数。总的来说,我们可以看到:
在大
batch size
的情况下,增加任务数量通常有助于下游的性能。这加强了我们的直觉,即scale up
任务有助于模型效果。在小
batch size
的情况下,上升趋势较小,表明大的batch size
对大量的任务是必不可少的。这是直观的,因为多任务学习导致梯度是有噪声的(《Gradient surgery for multi-task learning》
)。关于为什么会出现这种情况的另一个解释是:大
batch
训练甚至可以为单任务模型提供好处(《Don’t decay the learning rate,increase the batch size》
),《An empirical model of large-batch training》
正式确定了这种趋势。
28.1.6 利用 ExMix 改善 Sample Efficiency
我们假设,
extreme multi-task scaling
也能提高预训练的样本效率。为了测试这一点,我们从ExMix
中排除了SuperGLUE
,对一个large model
进行了200k
步的预训练,并在预训练的早期阶段在SuperGLUE
上对其进行了几次微调。即,最多进行了
200k
步的预训练,然后把其中的第20k, 50k, 100k, 200k
预训练的checkpoint
用于下游微调。结果如下图所示。我们发现:
ExMix
的预训练明显比普通的自监督预训练更节省样本。注意,仅在20k
的预训练step
上,我们的ExT5
模型已经达到了75.8
的SuperGLUE score
,比完全预训练的BERT large model
高出约+4%
(注,BERT large model
的数据并没有在下图中展示)。注意,这里的预训练指的是利用
pre-trained model
初始化的预训练,并没有从头开始。
28.2 ExT5 模型
为了克服多任务
co-training
的挑战,即前面讨论的负向迁移和灾难性遗忘,本文的剩余部分通过extreme multi-task scaling
重新审视T5
引入的多任务预训练范式。这里引入ExT5
,一个预训练的sequence-to-sequence Transformer encoder-decoder
模型,它基于流行的T5
框架。
28.2.1 训练 T5
预训练:我们在混合了
C4
和ExMix
的mixture
上进行预训练,以 $ R $ 比例来混合。其中, $ R $ 是一个超参数,表示C4
样本相对于ExMix
样本的采样比例。我们使用的C4 objective
与T5
使用的objective
相同,每个任务都优化了标准的sequence-to-sequence cross-entropy loss
。ExT5
的训练step
数量与T5
模型相同,并且ExT5
看到的token
总数也与T5
模型相同。具体而言,我们对我们的模型进行预训练,总step
数量为1M
,batch size = 2048
,序列长度为512
。结果在预训练期间,模型总共看到了大约1T
的token
(包括无监督数据集和有监督数据集)。我们在所有的实验中使用
T5.1.1
架构,它使用GEGLU
激活函数而不是经典Transformer
模型中的ReLU
。对于优化,我们使用Adafactor
。学习率的schedule
为:在开始的10k
个step
使用0.01
的常数学习率,然后使用平方根倒数的学习率。ExT5
也使用与T5
相同的tokenizer
。虽然我们发现
$ R=2 $ 的混合比例对我们的BASE
大小的模型很有效,但我们使用 $ R=4 $ 来预训练更大的ExT5
模型。这是因为我们推测,更大容量的模型会更容易过拟合监督数据集,而且也更不容易受到灾难性遗忘的影响。模型越大,则自监督数据集占比越大,因为监督数据集太小从而容易陷入过拟合,以及更不容易受到灾难性遗忘的影响。
微调:为了公平比较,我们对
T5
和ExT5
采用了相同的微调程序,尽管我们发现ExT5
在微调时通常受益于较小的学习率(ExT5
采用 $ 10^{-4} $ 的效果较好,T5
变体采用 $ 10^{-3} $ 的效果较好)。这里是下游任务,而不是前面提到的 “多任务” (用于预训练)。
具体到每个任务:
SuperGLUE
:我们以类似于T5
的方式,将整个SuperGLUE
作为一个mixture
进行微调。我们总共微调了200k
步,batch size = 128
。在SuperGLUE
上选择checkpoint
时,我们遵循T5
的惯例,为每个任务选择最佳checkpoint
,以便与在单个任务上进行微调的模型进行公平比较。一次预训练得到多个
checkpoint
,每个任务一个checkpoint
。GEM
:我们报告了所有数据集的测试集结果,除了CommonGen
和ToTTo
,我们在这两个数据集上报告了验证集结果。我们扫描了不同的学习率 $ \{10^{-3}, 5\times 10^{-4}, 10^{-4}\} $ 。所有结果都是用GEM-metrics
计算的。对于每个数据集,我们使用验证集上的BLEU
、ROUGE-1
、ROUGE-2
和ROUGE-L
分数的平均值来选择最佳model checkpoint
。我们使用贪婪解码策略,以与最初的GEM
论文保持一致。CBQA
:我们报告验证集的结果,并扫描了不同的学习率 $ \{10^{-3}, 10^{-4}\} $ 。Rainbow
:我们在所有数据集上进行多任务co-train
,并扫描了不同的学习率 $ \{10^{-3}, 10^{-4}\} $ 。WMTMachine Translation
:我们在三个WMT
集合上微调我们的模型,即EnDe
、EnFr
和EnRo
。我们使用一个恒定的学习率 $ 10^{-3} $ ,dropout rate = 0.1
。我们用batch size = 4096
,最多400k
步,并报告峰值的验证集BLEU score
。 我们使用beam size = 4
,以及 $ \alpha = 0.6 $ 的长度惩罚因子。ARC
:我们报告了Challenge set
的分数,batch size = 32
,并扫描了不同的学习率 $ \{10^{-3}, 10^{-4}\} $ 。CoNLL-03 NER
:我们将NER
转换为seq2seq
,将target
写成tags
和entities
的有序序列(例如"When Alice visited New York" -> "[PER] Alice [LOC] New York"
)。准确率是在sentence level
上衡量的,只有当prediction
与reference sequence
完全匹配时,才认为它是正确的。
28.2.2 实验
实验配置:我们的实验同时考虑了
within-mixture task
和out-of-mixture task
(即一个任务是否包括在ExMix
中)。within-mixture task
衡量任务从多任务预训练和extreme task scaling
中受益的程度。与T5
的co-trained model
类似,我们继续从预训练的ExT5 checkpoint
对目标任务进行微调。对于
out-of-mixture task
,我们考虑可能是新的未见过的任务、未包括在ExMix mixture
中的任务,以测试对unseen task
的泛化效果。
within-mixture task
实验结果:我们报告了SuperGLUE (Table 5)
、GEM (Table 6)
、Rainbow (Table 7)
、MsMarco (Table 8)
、以及CBQA datasets (Table 9)
的结果。总的来说,我们观察到ExT5
在一系列的模型大小上都持续地超过了强大的T5 baseline
。在
SuperGLUE
上,我们的BASE/LARGE/XL
模型分别取得了相对+5%/+2.3%/+0.7%
的收益。在
GEM
上,ExT5
在9
个任务中的6
个超越了T5
,而在其他3
个任务中保持了相同的水平。值得注意的是,在WebNLG
这样的数据集上,large model
的收益大约是+11% ROUGE
。在
Rainbow
上,ExT5
比T5
平均高出+0.7%
。最后,在
question answering
和ranking
方面,ExT5
在两种不同的规模下都大大超过了T5
。
out-of-mixture task
实验结果:我们也有兴趣在ExMix
之外的任务上评估ExT5
,并假设ExT5
的extreme multi-task pre-training
将导致在新的未见过的环境中获得更好的性能。具体来说,我们在以下任务中微调和评估:Machine Translation
:将句子从英语翻译成其他语言。推理
Reasoning
:回答ARC
上的科学问题。命名实体识别
Named Entity Recognition
:从CoNLL-2003 NER
数据集的句子中提取所有实体。
实验结果如下表所示。可以看到:
ExT5
超越了T5 baseline
。最大的改进是在ARC
科学推理任务上,也许是由于ExMix
中大量的QA
任务。然而,NER
和MT
任务并在ExMix
中并没有类似的数据集,但是性能也得到了改善。这表明ExT5
所学到的representation
更具有通用性,可以适应新的objective
,即使输出是一种新的语言。从实用的角度来看,
ExT5
的这种改进的通用性是非常令人鼓舞的,因为对于任何新的目标任务 $ t $ ,用 $ \text{ExMix}\cup \{t\} $ 再次进行预训练是非常昂贵的。相反,我们看到ExT5
的extreme multi-task pre-training
已经提供了改进的结果。因此,只有当训练数据集的数量大幅增加时,才值得重复预训练ExT5
。
28.3 结语
局限性:尽管我们尽最大努力在尽可能多的代表性任务上进行评估,同时为一组给定的迁移学习实验保持
task partition
之间的平衡,但任何显式地将数据集抽象为 "任务族" 的研究都高度依赖于与任务族的representative dataset
的性质、domain
和表达能力有关的细微差别。在本文中,我们构建了子集从而包含多样化的数据集,我们试图将任务族划分为尽可能的相互排斥。然而,必须承认,没有一个数据集是完全孤立的,任何一组数据集都只是一个更大的 "任务族" 的代表。另外,像
BLEU/ROUGE
这样的lexical metric
是有用的,但并不能全面反映一个模型在文本生成任务上的真正表现。未来工作:
我们相信,
ExT5
的多语言版本将是这项工作的自然延伸。这样一个模型将需要特别注意,不仅要平衡任务族,而且要平衡任务语言。ExMix
的多语言版本可以为分析多语言NLP
模型如何在不同语言间迁移提供一个更强大的基础。我们还假设,引入旨在利用多任务学习
setup
的inductive bias
的建模创新可以推动ExT5
所显示的强大性能的边界。其他解决方案,如梯度操作,也可能进一步改善
extreme multi-task scaling
,尽管代价是更复杂的实现。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论