找回密码
 立即注册
查看: 693|回复: 0

ChatGPT系列——GPT-1 Paper解读

[复制链接]

1

主题

1

回帖

10

积分

新手上路

积分
10
发表于 2023-9-25 20:50:14 | 显示全部楼层 |阅读模式
一、前言

近期ChatGPT非常火热,它的各种神奇能力让人耳目一新,例如能够准确理解提问者的话,并给出准确、简洁地反馈,此外ChatGPT提升英文写作的能力也很绝。
然而,ChatGPT并不是俄然凭空呈现的,它的终极方针是实现通用的ChatBot(方针并不是AGI,后面呈现的LLM powered agent也是它的下游应用)。在ChatGPT发布(2022年底)之前,OpenAI已经做了一系列工作来完善GPT的能力。因此,我发生了阅读与ChatGPT相关论文的想法,并在此做一个记录。这里先介绍ChatGPT系列的开山之作:GPT-1。
GPT-1论文 [1]地址:
其它系列文章:GPT2:摆脱fine-tuning
二、核心想法

GPT的全称是Generative Pre-Training,即生成式预训练。它与之前工作的分歧之处在于:GPT先在无监督的语料库上做预训练,再在各种有监督的数据集上做微调(这种训练方式不确定是否为GPT初创,有知道的同学可以说一下)。
这种训练方式有一个巨大优势:无监督文本数据很容易获得,尤其是互联网上的开放数据,可以说是海量的;而有监督数据集需要人工标注question-answer,非常耗时耗力。尽管已经有很多开源有标识表记标帜数据集,如文本摘要(CNN/Daily Mail)、逻辑推理、文本翻译等,但有标签数据对比于无标签数据还是沧海一粟。事实证明,这种训练方式后续取得了巨大成功,大大提升了语言模型的鲁棒性(可以想一下这种训练方式有什么问题,后面的文章也会讨论这一点,如果有的话)。
三、训练过程

1. 无监督预训练

GPT首先在大语料库上做无监督预训练,优化方针是最大化以下似然概率:
\mathcal{L}_1(\mathcal{U})=\sum_{i} \log P(u_i|u_{i-k},\cdots,u_{i-1})
此中 \mathcal{U}=\{u_1,\cdots,u_n\} 暗示语料库数据,这里用的神经网络是Transformer的decoder。
可以看出,在做无监督预训练时,我们但愿GPT能在给定任意文本输入的情况下,接着往后输出,并讲出像模像样的话来。在实际训练时,GPT用的是BooksCorpus [2]数据集,包含7000本为发表的册本,
2. 有监督Fine-tuning

预训练完成后,GPT在有监督数据集 \mathcal{C} 上做微调(Fine-tuning),优化方针是最大化以下似然概率:
\mathcal{L}_2(\mathcal{C})=\sum_{(x,y)\sim \mathcal{C}} \log P(y|x_{1},\cdots,x_{m})
即将数据集中的数据(也就是问题)输入模型,但愿GPT模型能够输出尺度答案。此中, x=(x_1,\cdots,x_m) 是数据集中的一个数据, y是其对应的标签。凡是 y 并不只是一个单一的token,概略率也对应一个token序列,所以具体训练时应该还是涉及到序列优化。原文里没有提怎么措置序列的,猜测是用自回归的方式训练的,即每次给定前置的token序列,只预测下一个token,迭代训练,直至最后一个token。
在实际训练时,优化的以下似然函数:
\mathcal{L}_3(\mathcal{C})=\mathcal{L}_2(\mathcal{C}) + \lambda \mathcal{L}_1(\mathcal{C})
此中 \lambda 被设为0.5。
3. Task Specific Input Transformations

在监督学习Fine-tuning阶段,针对分歧任务类型的数据集(如分类、多选题等),还需要对输入做一些额外措置,如下图所示。



GPT-1 网络布局(左,即Transformer的decoder布局)与Task specific input transformations(右)

此中有两方面内容需要存眷一下:
一是在输入中插手了很多分歧类型的token,包罗起始token (Start),终止token (文章里没细写,猜测是图里的Extract)和一个特殊的分割token (Delim)。个人认为分割token是斗劲重要的,可以使语言模型理解数据中的分歧成分。
二是针对分歧任务的措置方式。文本分类任务(Classification)是尺度的输入到输出的映射,给一段文本,直接让语言模型输出其类别。文本蕴含任务(Entailment)则比分类任务多了一步措置,把Premise和Hypothesis分成了两段。最有意思的是多选题,对于每个Answer单独计算了一次,最终汇总计算概率。
这种措置方式虽然能使GPT-1用一个单一模型同时应对多种分歧的NLP任务,我们也可以看到这种方式的泛化性是受限的。例如,我们很难直接拿一个训练好的GPT-1模型去做translation任务。GPT-1也不具备ChatGPT那样的对话能力。后续也呈现了更具通用性的措置方式,例如instruction tuning [3]或 instruction learning [4]
四、尝试

具体尝试细节可以参考论文原文的第四章。尝试主要从两方面展开,一是在多任务上做训练时的表示,用原文的话总结来说就是:
Overall, our approach achieves new state-of-the-art results in 9 out of the 12 datasets we evaluate on, outperforming ensembles in many cases. Our results also indicate that our approach works well across datasets of different sizes, from smaller datasets such as STS-B (≈5.7k training examples) – to the largest one – SNLI (≈550k training examples).



在分歧task上的表示

另一方面是GPT的zero-shot能力,这也是本文强调的无监督预训练+有监督微调的优势:


在zero-shot尝试上,GPT-1远超了传统的语言模型LSTM。
五、总结

总结来说,GPT-1的呈现提出了一种大规模无监督预训练的思路,这一思路沿用至今,但在有监督fine-tuning时的措置还是相对暴力,使训练得到的模型缺少必然的泛化性。可能当时研究者也没想到,这项工作引领了一波基于语言模型的人工智能浪潮。
参考


  • ^Radford A, Narasimhan K, Salimans T, et al. Improving language understanding by generative pre-training. 2018.
  • ^Y. Zhu, R. Kiros, R. Zemel, R. Salakhutdinov, R. Urtasun, A. Torralba, and S. Fidler. Aligning books and movies: Towards story-like visual explanations by watching movies and reading books. ICCV 2015.
  • ^Jason Wei, Maarten Bosma, Vincent Y. Zhao, Kelvin Guu, Adams Wei Yu, Brian Lester, Nan Du, Andrew M. Dai, Quoc V. Le: Fine-tuned Language Models are Zero-Shot Learners. ICLR 2022.
  • ^Renze Lou, Kai Zhang, Wenpeng Yin: Is Prompt All You Need? No. A Comprehensive and Broader View of Instruction Learning. CoRR abs/2303.10475 2023.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|T9AI - 深度人工智能平台 ( 沪ICP备2023010006号 )

GMT+8, 2024-12-22 18:43 , Processed in 0.055205 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表