模型详细情况和参数
UL2全称是Unifying Language Learning Paradigms,是谷歌发布的一个大语言模型。UL2是谷歌尝试的一种与GPT-3、PaLM不同的大语言模型路径。它是一种模型训练框架,基于该框架谷歌训练了多个不同的模型,并开源了部分训练结果。
现有的预训练模型一般都是针对某一类问题的。到目前为止,对于什么是正确的架构和预训练设置,似乎还没有达成共识。换句话说,如Decoder-only、Encoder-Decoder等。不同的结构对于不同的下游任务影响不同,意味着根据不同的目标,我们通常需要不同结构的模型去训练。而UL2是谷歌提出的一个统一的预训练模型的框架,这些模型在不同的数据集和设置中都是有效的。也就是说,即便是根据不同的下游任务和目标,UL2也可以利用自己优秀的泛化能力,以一种通用的结构来训练,获取更好的效果。
谷歌首先将架构原型与预训练目标分开,这两个概念通常被混为一谈。接下来,为NLP中的self-supervision提出了一个普遍而统一的观点,并展示了不同的预训练目标是如何相互转化的,以及不同目标之间的插值是如何有效的。
谷歌也在这个模型框架中提出了Mixture-of-Denoisers(MoD),一个将不同的预训练范式结合起来的预训练目标。并进一步介绍了模式切换的概念,其中下游的微调与特定的预训练方案相关。
广泛的实验表明UL2在多种不同的设置中超越了T5或类似GPT的模型,从而推动了Pareto-frontier的发展。最后,通过将UL2模型扩展到200亿的参数,它在50个公认的有监督的NLP任务上取得了SOTA性能,这些任务包括语言生成(有自动和人工评估)、语言理解、文本分类、问题回答、常识推理、长文本推理、结构化知识基础和信息检索。同时,UL2在语境学习方面也取得了很好的效果,在zero-shot的SuperGLUE上超过了1750亿参数的GPT-3,在one-shot的摘要任务上是T5-XXL性能的三倍。
下图是UL2在五个算数推理基准上的表现结果:
UL2模型最大的特点是开源,目前已开源的版本由3个,都是200亿参数,但是迭代的步骤分别是1870000、2050000、2650000的三个版本:
模型名称 | 参数数量 | 迭代步骤 | Config路径 | Checkpoint路径 |
---|---|---|---|---|
UL2 | 200亿 | 1870000 | https://storage.googleapis.com/scenic-bucket/ul2/ul220b/config.gin | gs://scenic-bucket/ul2/ul220b/checkpoint_1870000 |
UL2 | 200亿 | 2050000 | https://storage.googleapis.com/scenic-bucket/ul2/ul220b/config.gin | gs://scenic-bucket/ul2/ul220b/checkpoint_2050000 |
UL2 | 200亿 | 2650000 | https://storage.googleapis.com/scenic-bucket/ul2/ul220b/config.gin | gs://scenic-bucket/ul2/ul220b/checkpoint_2650000 |
Flan-UL2 | 200亿 | 2283000 | https://storage.googleapis.com/scenic-bucket/ul2/ul220b/config.gin | gs://scenic-bucket/ul2/flan-ul220b/checkpoint_2283000 |
-----2023/2/28更新----------
谷歌发布了基于UL2进行指令微调的Flan-UL2 20B版本参数的模型预训练结果,详情: https://www.datalearner.com/ai-resources/pretrained-models/flan-20b