GPT-2:无监督多任务学习语言模型
创始人
2024-06-01 12:41:34
0

论文标题:Language Models are Unsupervised Multitask Learners

论文链接:https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf

论文来源:OpenAI

一、概述

机器学习系统现在通过使用大型数据集、高容量模型和监督学习的组合,在任务中表现出色。然而这些系统很脆弱,对数据分布和任务规范的微小变化很敏感。目前的机器学习系统更像一个狭隘的专家而非合格的通用人才。我们希望转向更通用的系统,可以执行许多任务,最终不需要为每个任务手动创建和标注训练数据集。建立机器学习系统的主要流程是为想要执行的任务训练数据来表现特定的行为,然后训练一个系统来模仿这些行为,并且在独立同分布的测试集上测试性能。这样的模式在特定场景效果的确不错,但是对于一些特定的任务(如描述模型、阅读理解、图像分类等)来说,输入的多样性和不确定性就会把缺点给暴露出来。

我们怀疑,单一领域数据集上单一任务训练的流行是当前系统中观察到的缺乏泛化性的主要原因。在当前体系结构下,向鲁棒系统的进展可能需要在广泛的领域和任务上进行训练和评估性能。最近GLUE和decaNLP这些benchmark数据集被提出以研究这一点。多任务学习是一种提升泛化性能的很有前景的框架。然而在NLP领域多任务训练才刚刚起步。最近的两项研究分别在10个和17个(dataset, objective)对上进行训练。从元学习的视角来看,每个(dataset, objective)对都是从数据集和目标函数的分布中采样出来的单个训练样本。然而目前的机器学习系统需要成本上千个样本才能获得较好的泛化性能。多任务训练可能需要同样数量的有效训练对来达成目标。使用当前的技术,要继续扩展数据集的创建和目标设计的规模,以强制实现这一点将非常困难。因此,需要探索其他方式来执行多任务学习。

目前最优的自然语言处理系统采用预训练加有监督微调的框架。这一类的方法为了执行特定的任务仍然需要监督训练。当只有很少或者没有监督数据可用时,另一类的方法为语言模型执行特定任务展现了可观的前景,比如常识推理(commonsense reasoning)和情感分析(sentiment analysis)。在本文中,我们将这两类工作联系起来,并继续采用更通用的迁移方法。我们展示了语言模型可以在zero-shot设置下执行下游任务——无需任何参数或架构修改。我们通过强调语言模型在zero-shot设置下执行广泛任务的能力,证明了这种方法的潜力。本文的GPT-2在多个任务上取得了可观的结果。

二、方法

  1. 主要思想

GPT-2的核心是语言建模。语言建模通常是基于一组样本上的无监督分布估计,每个样本也就是一个变长的符号序列。由于语言序列具有天然的顺序,因此很自然地可以将符号序列的联合概率建模成条件概率的乘积:

❝❞

这种方法允许对以及任何这样形式的条件概率进行易于处理的抽样和估计。近年来,可以计算这些条件概率的模型的表达能力有了显著的改进,例如Transformer这样的自注意架构。

学习执行单个任务可以在概率的框架中表示为估计条件分布。由于一个通用的系统应该能够执行许多不同的任务,即使对于相同的输入,它不仅应该以输入为条件,而且还应以要执行的任务为条件,也就是说应该要建模。这在多任务和元学习的形式中广泛应用。任务条件化通常可以在模型架构层面上实现,比如采用特定于任务的encoder和decoder,或者也可在算法的层面上实现,比如MAML的内外循环优化框架。不过在语言领域,正如McCann等人(2018)所示,语言提供了一种灵活的方式来将任务、输入和输出特别表示为符号序列。举例来说,一个翻译训练样本可以被写作序列(translate to french, english text, french text),一个阅读理解训练样本可以被写作序列(answer the question, document, question, answer)。McCann等人认为可以训练一个单独的模型(也就是MQAN)在这种格式的样本上推断和执行多种不同的任务。

原则上,语言建模也能够学习McCann等人(2018)的任务,而不需要明确监督哪些符号是要预测的输出。由于监督目标与无监督目标相同,监督任务只是在序列的子集上进行测试,无监督目标的全局最小值也是监督目标的全局最小值。这意味着,如果我们可以在无监督目标函数下找到全局最小值,那么监督目标函数也会得到优化。在这种简要的设置中,对密度估计作为一个合理的训练目标的关注是被回避的。这个问题转而变成了我们能否在实践中将无监督的目标函数优化到收敛。初步的实验证实,足够大的语言模型能够在这种toy-ish的设置下执行多任务学习,但学习速度比显式监督的方法要慢得多。

从精心设计的实验设置转向从“混乱”的自然语言中学习是很大的一步。Weston(2016)认为在对话的背景下需要开发能够直接从自然语言中学习的系统,并证明了一种概念——通过对teacher模型的输出进行前向预测来学习问答任务,而不需要奖励信号。问答任务虽然是种有吸引力的方法,但是本文认为这会受到一些限制,主要是因为互联网中的大量信息只需要被动获取,而非需要(像问答任务一样)互动交流。作者的推测是,一个具有足够容量的语言模型将开始学习推断和执行自然语言序列中展示的任务,以更好地预测它们,而不管它们的获取方法如何,下图是GPT-2训练语料中的一些翻译任务的自然语言演示。如果一个语言模型能够做到这一点,它将实际上执行无监督的多任务学习。作者通过分析语言模型在zero-shot设置下的表现来测试这个想法的可行性。

3c1fb4ec1225ebced34fa88f86f0bb44.png
自然语言演示
  1. 训练数据集

大多数先前的研究在一个域的文本上训练语言模型比如新闻文章、维基百科、小说类书籍等。我们的方法促使构建尽可能大且多样化的数据集,以便在尽可能多的领域和上下文中收集任务的自然语言演示。本文利用网络爬虫来构建大规模的训练文本数据,然而常规的不加筛选的爬取方式将会导致数据集面临严重的文档质量问题。因此本文采用一种新的强调文档质量的网络爬取方式。为了做到这一点,我们只抓取了由人类策划/过滤的网页。我们从社交媒体平台Reddit抓取了所有的出站链接,每个链接至少得到3个karma(Reddit平台通过被点赞获得的分数)。这可以被认为是一种启发式指标,用于判断其他用户是否认为该链接有趣、有教育意义或只是好笑。通过这种方式本文构建了WebText数据集,其包含这样的4500万个链接的文本子集。本文使用初步版本的WebText,它包含超过800万份文档,总文本量为40GB。

  1. 输入表示

通用语言模型应该能够计算任何字符串的概率或者生成任何字符串。目前大规模的语言模型包括一些预处理步骤,如小写、token化和out-of-vocabulary token的处理,这些步骤限制了可建模字符串的空间。将Unicode字符串处理成UTF-8字符序列可以满足这个需求,然而目前的研究表明字符级的语言模型相比与word级的语言模型并没有竞争力,本文在实验中也观察到了这一点。

Byte Pair Encoding (BPE)是一种实际上介于字符和word级别语言建模之间的方法,它有效地插值了频繁出现的符号序列的word级别输入和不频繁出现的符号序列的字符级别输入。然而,BPE的实现通常是基于Unicode编码点而不是字节序列的,这要求包括Unicode的全部符号才能建模所有的Unicode字符串。这会导致一个超过130,000的基本词汇表(不包括多符号token),与BPE通常使用的32,000到64,000令牌词汇表相比,这是无法承受的。如果采用字符级别的BPE版本,它只需要大小为256的基本词汇表。然而,直接将BPE应用于字符序列会导致合并效果不佳,因为BPE使用一种贪心的基于频率的启发式算法来构建token词汇表。作者发现BPE包括了许多常见单词的多个版本,比如dog.、dog!、dog?等,这会导致有限的词汇槽和模型容量的分配不够优化。为了避免这种情况,作者防止BPE在任何字节序列中跨字符类别(dog和.!?属于不同的字符类别)合并。他们为空格添加了一个例外,这显著提高了压缩效率,同时只对多个词汇token中的单词进行了最小的分段处理。

这种输入表示允许我们将词级语言模型的好处与字符级方法的一般性结合起来。由于我们的方法可以为任何Unicode字符串计算概率,这允许我们在任何数据集上评估,而不管预处理、token化或词汇表大小。

  1. 模型

GPT-2的模型与GPT差不多,只是做了一些修改。Layer normalization被转移到每个sub-block的输入上,并且在最后一个自注意力block后添加一个layer normalization。采用一种改进的初始化方法,该方法考虑了残差路径与模型深度的累积。在初始化时将残差层的权重按的因子进行缩放,其中是残差层的数量。词汇表扩大到50,257。我们还将上下文大小从512增加到1024个token,并使用512的更大的batchsize。

三、实验

  1. 模型大小

GPT-2主要包括四个size的模型:

58623576ee26cd94e7fefdf1bb2913bd.png
模型大小
  1. 主要实验结果

GPT-2在多个数据集上的zero-shot实验性能:

de66df8059a901271090d99f852f023d.png
实验
  1. 其他实验

Children’s Book Test数据集上性能与模型容量的关系:

d8f06e9905e08fae137d2334994a9ffb.png
实验

Winograd Schema challenge实验性能与模型容量的关系:

e51d2469780401d85f75c9280eab10fa.png
实验

Summarization实验:

f1a6e05b87c5b5f33d3e75e3a9ca9985.png
实验

问答实验的前30个信心分数最高的回答:

3ba6d88c7671d19fc105f9df4c77b51f.png
实验

为了分析模型是在泛化还是记忆,调研了数据集直接的重复比例:

c8b2f48fe9e4fd86a4d12a2973d5c8bd.png
实验

WebText上的性能,下图表明即使是最大size的GPT-2对于WebText数据集仍然是欠拟合的:

52c38ce57e6151dd9be1a7b8feff0a75.png
实验

相关内容

热门资讯

cmseasy oday-CM... 大家好,今天我要给大家爆个猛料!你们听说过CMSEasy吗?就是那个看起来挺靠谱的建站系统,最近居然...
番茄花园u盘装系统-番茄花园 ... 嘿,大家好!今天我要来聊聊那个让我爽到飞起的经历——用番茄花园U盘装系统!没错,就是那个传说中的神器...
windows81正式版密钥-... 哎呀,说到这个Windows8.1正式版密钥,我可是有一肚子的话要说啊!记得那会儿,我刚装上了这个新...
win10驱动开发-Win10... 哎呀,说到Win10驱动开发,我可真是有话要说!这可不是什么轻松的活儿,简直就像是在数字世界里打怪升...
什么是心悸-心悸:身体与情绪的... 心悸,这个词听起来就像是一首未完的旋律,总是在不经意间悄悄响起。它不是那种平淡无奇的感觉,而是让你的...
帝国cms 列表内容模板-帝国... 哎呀,说到帝国CMS的列表内容模板,我这心里真是五味杂陈啊!你知道吗,每次我打开后台,看到那些密密麻...
蛋白肺:默默无闻的健康守护者,... 在这个世界上,有一种东西,它默默无闻,却支撑着我们的每一次呼吸,那就是蛋白肺。听起来可能有点陌生,但...
河南省户籍管理规定-河南户口:... 哎呀,说到河南的户口,我这心里头就像打翻了五味瓶,酸甜苦辣全都有啊!你知道吗,在咱河南,户口这事儿可...
cad丢失msvcp140dl... 哎呀,真是气死我了!今天本来想好好画个图,结果一打开CAD,就弹出来一个什么“丢失msvcp140d...
arcscene中的三维符号-... 大家好!今天我要带你们一起跳进ArcScene这个神奇的世界,去看看那些让人眼花缭乱的三维符号!想象...
window mac主题-Wi... 嘿,朋友们,今天咱们来聊聊那些天天陪着我们的电脑小伙伴——Windows和Mac。你知道吗,每次我打...
全国查重名网站数据惊人,你的名... 哎呀,说到这个全国查重名网站,我这心里就五味杂陈的!你知道吗,现在想要一个独一无二的名字,比中彩票还...
server2024企业版is... 哎呀,说到这个Server2024企业版ISO,我这心里头的小激动真是按捺不住!你知道吗,这不仅仅是...
windows 2024 sp... 哎呀,说到这Windows2024SP1补丁啊,真是让人又爱又恨!你知道的,每次系统更新,心里总是七...
公安系统网站:信息全、办事便捷... 哎呀,说到公安系统的网站,那可是咱们老百姓的贴心小棉袄啊!每次有什么事情,比如身份证丢了,或者想知道...
狗狗肛门失禁怎么办?快来看看这... 哎呀,说到这个话题,我这心里就五味杂陈的。我家那小可爱,最近不知道怎么了,总是时不时地就“漏”了。你...
探索电控系统电路图:现代科技的... 大家好,我是电控系统电路图的狂热爱好者,今天我要和大家聊聊这些常常藏在机器背后的神秘图纸。你们知道吗...
浅表性胃炎用什么药-浅表性胃炎... 哎呀,说到浅表性胃炎,真是让人头疼啊!每次胃一疼,整个人都不好了。你知道吗,这浅表性胃炎,其实就是胃...
易分销21-易分销 21:销售... 在商海沉浮的日子里,每一次的销售都是一场心跳加速的冒险。今天,我要跟大家聊聊这颗新星——易分销21,...
高血脂的护理计划-高血脂别头疼... 哎呀,说到高血脂,我这心里就五味杂陈的。你知道吗,这胆固醇就像是个调皮的小鬼,悄悄地在我身体里捣乱,...