GPT系列之:GPT-1,GPT-2,GPT-3详细解读

news2024/11/13 13:22:02

一、GPT1

论文:Improving Language Understanding by Generative Pre-Training
链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf

启发点:生成loss和微调loss同时作用,让下游任务来适应预训练模型

(一) Introduction

  • Abstract:generative pre-training of a language model on a diverse corpus of unlabeled text, followed by discriminative fine-tuning on each specific task. 在大量无标注数据集上做生成式预训练,在下游特定任务做微调。
  • Motivation:The ability to learn effectively from raw text is crucial to alleviating the dependence on supervised learning in natural language processing 有效从原始文本学习的能力有助于减轻nlp对有监督学习的依赖
  • Introduction: Explore a semi-supervised approach using a combination of unsupervised pre-training and supervised fine-tuning, learn a universal representation that transfers with little adaptation. 探索一种新的半监督的方式,融合了无监督预训练和有监督微调,学到通用表示以在迁移时只需要小的改变。
(二) Methods

Framework:two-stage training procedure - 大量文本无监督学习后进行微调模式 generative pre-training and discriminative fine-tuning

  1. First Stage
    语言模型建模,k为上下文窗口大小
    在这里插入图片描述
    仅包含decoder模块,多层Transformer&多头自注意力机制
    在这里插入图片描述

  2. Second Stage
    有监督微调阶段主要预测Label y
    在这里插入图片描述
    为了提高有监督学习的泛化性以及加速收敛,加入语言模型的loss,所以在微调阶段仅需引入一个参数矩阵W_y
    在这里插入图片描述
    在这里插入图片描述
    对于特定任务需要进行输入转换: 文本分类任务可以直接输入,但是文本蕴含和问答任务需要一些特定转换,如图所示。
    (1)Textual entailment:concat premise and hypothesis with delimiter $
    (2)Similarity:两个句子没有顺序关系,输入包含所有句子序的组合,two emb added element-wise,最后输入线性层
    (3)Question Answering and Commonsense Reasoning:normalized via a softmax produce an output distribution over possible answers

(三) Experiments
  1. 预训练
    a. 数据:BooksCorpus 超过 7000 unpublished books,长连续文本使生成模型更好地学习长范围信息 + 1B Word Benchmark shuffled at a sentence level
    b. 模型细节:12-layer decoder-only transformer(768 dimensional states and 12 attention heads),3072 dimensional inner states
    c. 训练细节:100 epoch,bs=64,max-seq-len=512,bytepair encoding (BPE) vocabulary with 40,000 merges

  2. 微调
    a. 训练细节:3 epoch,bs=32,lr small than pretrain,语言模型损失权重0.5
    b. 实验结果
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    与 LSTM 相比,Transformer 的结构化注意力记忆有助于迁移,语言建模能力更强,下图右边在zero shot方差较大
    两个方向:
    • 模型在ZERO-SHOT的设定下,模型的表现与堆叠的解码器层数有直接的正相关性
    • 研究大规模语料下的生成式预训练模型为什么对下游任务有帮助
    在这里插入图片描述

  3. 消融实验:w LM在更大的数据集受益与辅助目标
    在这里插入图片描述

二、GPT2

论文:Language Models are Unsupervised Multitask Learners
链接:https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf

启发点:能不能有一种模型完全不需要对下游任务进行适配就可以表现优异

(一) Introduction
  • Abstract:The capacity of the language model is essential to the success of zero-shot task transfer and increasing it improves performance in a log-linear fashion across tasks.
  • Motivation:Machine learning systems now excel (in expectation) at tasks they are trained for by using a combination of large datasets, high-capacity models, and supervised learning,these systems are brittle and sensitive to slight changes in the data distribution and task specification。narrow experts rather than competent generalists。move towards more general systems which can perform many tasks – eventually without the need to manually create and label a training dataset for each one。现有模型受益于大量的数据集,大模型参数以及监督学习的组合训练,但对数据分布和特定任务的微小变化非常敏感,成为狭隘的专家而非通用。所以需要转向更通用的系统,不需要为每个任务手动创建标记数据集。简而言之,单领域单任务的训练使模型缺少泛化性。
  • Introduction: 结合多任务学习提升性能的泛化性与预训练微调下游任务两条线,引入zero-shot。Language models can perform down-stream tasks in a zero-shot setting – without any parameter or architecture modification.
(二) Methods

Framework:由建模p(output|input)转为p(output|input, task),通用系统应不仅以输入为条件,对要执行的任务进行条件处理。
For example: a translation training example can be written as the sequence (translate to french, english text, french text). a reading comprehension training example can be written as (answer the question, document, question, answer).
优势:without the need for explicit supervision of which symbols are the outputs to be predicted
观点:Our speculation is that a language model with sufficient capacity will begin to learn to infer and perform the tasks demonstrated in natural language sequences in order to better predict them, regardless of their method of procurement. 不论什么任务,只要模型足够大,就可以很好地预测语言序列。

  1. 数据集构建
    a. 出发点:构建尽可能大和多样的各种领域和上下文数据集
    b. 问题:数据爬取虽然数量级大,但是质量参差不齐,有很多难以理解的内容。下采样至原有数据集的方法虽然可以提高特定任务性能,但是应避免对任务做出假设
    c. 方案:a new web scrape which emphasizes document quality(curated/filtered by humans)但由于人工过滤昂贵,又爬取了Reddit数据,容易判断网页是否有趣等。
    d. 45 million links,Dragnet和Newspaper提取内容,文章中用到的数据8 million documents for a total of 40 GB of text(去重去老),去掉了Wikipedia
  2. 输入表征
    a. Byte Pair Encoding (BPE) between character and word level effectively interpolates between word level inputs for frequent symbol sequences and character level inputs for infrequent symbol sequences.
  3. 模型
    a. 模型基本和GPT-1保持一致,只有少量修改,Layer normalization移至每个sub-block之前,在最后一个自注意力模块之后新增一个layer normalization。
    b. 词表大小50257,上下文大小由512增长至1024,bs=512
    c. 参数量如下:最小的参数量=GPT-1,参数量1.5B的被称为GPT-2
    在这里插入图片描述
(三)Experiments

PPL:给测试集的句子赋予较高概率值的语言模型较好,当语言模型训练完之后,测试集中的句子都是正常的句子,那么训练好的模型就是在测试集上的概率越高越好,其计算公式如下,P(w1…)为句子概率,句子概率越大越好

在这里插入图片描述
在这里插入图片描述

完形填空任务准确率
在这里插入图片描述

The Winograd Schema challenge:通过测量系统解决文本中歧义的能力来衡量系统执行常识推理的能力
在这里插入图片描述

摘要:专注于文章中的最新内容或混淆特定细节,效果不好,TL;DR是指加了标记,这证明了在具有自然语言的语言模型中调用特定于任务的行为的能力。
在这里插入图片描述

翻译&问答也做了实验
Generalization vs Memorization:
在这里插入图片描述

三、GPT3

论文:Language Models are Few-Shot Learners
链接:https://arxiv.org/pdf/2005.14165.pdf

启发点:扩大模型规模至175B,让模型像人类一样只需要简单的指令和少量的示例就可以完成新的语言任务。few-shot,首次提出"in-context learning"

(一) Introduction

背景:(1)每个新任务都需要大量标记数据集,限制了语言模型的适用性。(2)并且模型被设计为在预训练期间吸收信息很大,然后在非常狭窄的任务分布上进行微调,导致模型泛化性能不好,虽然预训练-微调范式能够在某一任务达到非常好的效果,实际性能很差。(3)很多任务只需要简短的自然语言指令,不需要大型监督数据集,而且语言模型允许在很多任务之间切换,具有通用性。
方案:

  • meta-learning(指模型在训练时拥有广泛的技能和模式识别能力并在推理时快速适应和识别所需要的任务) & in context-learning,并使用"zero-shot", “one-shot”, or "few-shot"表示使用了多少示例。(指出GPT-2效果比微调还差很远)。
    在这里插入图片描述

  • 作者发现很多任务使用8B、11B乃至17B的任务带来了性能提升,这表明对数损失与许多下游任务的提升正相关。

  • 上下文学习又能解决多任务和多技能的问题,结合二者提出了GPT-3 to measuring its in-context learning abilities。

  • 文中给出性能曲线,模型越大,上下文越多性能越好,越大的模型越适合上下文学习。
    在这里插入图片描述
    在这里插入图片描述

此外,作者对数据污染进行了系统研究(测试集包含在训练集合中),这对模型效果进行夸大。

(二) Method

Model, data, and training 和GPT-2相似,只是对模型和数据大小与多样性进行了缩放。系统的探索了不同的配置下上下文学习的效果。
在这里插入图片描述

  1. 8个不同大小的模型,模型结构与GPT-2的区别是:alternating dense and locally banded sparse attention patterns。上下文窗口大小均为2048.
    在这里插入图片描述

  2. 训练数据集:Common Crawl dataset,万亿数据,通过3步提高数据集质量:(1)根据与一系列高质量参考语料库的相似性下载和过滤了 CommonCrawl 版本,(2)在文档级别、内部和跨数据集执行模糊重复数据删除,以防止冗余并保持我们保留验证集的完整性作为过度拟合的准确度量(3)将已知的高质量参考语料库添加到训练混合中以增强 CommonCrawl 并提高其多样性。训练期间数据集不会按其大小成比例采样,更高质量的数据集更频繁地采样。
    在这里插入图片描述

  3. 评估:示例数通常为10-100,较大的 K 值通常但不总是更好。beam=4,长度惩罚=0.6

(三) Experiments
  1. 训练曲线对于上面给出的8个模型,后续实验任务包括:完形填空、问答、翻译、Winograd Schema、常识推理、阅读理解等,还探索了为上下文学习能力而设计的额外任务
    在这里插入图片描述

  2. 语言建模能力(困惑度)
    在这里插入图片描述
    LAMBADA衡量输入很长的段落预测最后一个词的能力
    在这里插入图片描述

  3. Closed Book Question Answering,反映了模型容量直接转化为模型参数中吸收的更多“知识”
    在这里插入图片描述

  4. 翻译:翻译成英文的效果比从英文翻译的更好
    在这里插入图片描述
    在这里插入图片描述
    后续还有很多实验可以自行翻看原文

Conlusion:尽管有许多局限性和劣势,结果表明,非常大的语言模型可能是开发适应性通用语言系统的重要因素。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2115871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java常用集合方法

目录 一、Iterator接口二、Iterable接口三、Collection接口四、Collection与Iterable关系 一、Iterator接口 Iterator 是一个集合迭代器接口,它提供了以下方法: 判断迭代器中是否还拥有元素,有则返回true,否则返回false boolean …

实验八 输入/输出流

实验目的及要求 目的:通过实验掌握java提供的输入/输出包中类的使用,特别是一些常用的类的方法的使用,运用流的概念实现对象的序列化。 要求: (1)编写程序使用BufferedReader和BufferedWriter对文件进行…

Java高级编程—网络编程(完整详解,包括UDP通信方式、TCP通信方式、TCP三次握手、TCP四次挥手,附有代码+案列)

文章目录 二十九.网络编程29.1 概述29.2 InetAddress29.3 UDP通信29.3.1 UDP通信发送数据29.3.2 UDP通信接收数据29.3.3 Test 29.4 UDP的三种通信方式29.4.1 单播29.4.2 组播29.4.3 广播 29.5 TCP通信29.6 TCP通信三次握手29.7 TCP通信四次挥手29.8 Test29.8.1 多次发送 二十九…

Java数据结构(九)——选择排序、堆排序

文章目录 选择排序算法介绍代码实现复杂度和稳定性 堆排序算法介绍代码实现复杂度和稳定性 选择排序 算法介绍 选择排序是一种简单直观的排序算法。它的工作原理是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置…

【二分查找】锦集

二分查找锦集 二分前言1. 二分查找1.1 题目来源1.2 题目描述1.3 代码展示 2. 在排序数组中查找元素的第一个和最后一个位置2.1 题目来源2.2 题目描述2.3 解题分析 3. 搜索插入位置3.1 题目来源3.2 题目描述3.3 解题分析 4. x 的平方根4.1 题目来源4.2 题目描述4.3 解题分析 5. …

Oracle rman 没有0级时1级备份和0级大小一样,可以用来做恢复 resetlogs后也可以

文档说了 full backup 不能 用于后续的level 1,没说level 1没有level 0 是不是level 1就是level 0? 1级备份变0级的原因 及 Enabling Change Tracking生效没有-CSDN博客 这个文档说明1级备份时没有找到0级就是0级备份,可以用来完整恢复的。…

春日美食家:SpringBoot网上订餐系统

1 绪论 1.1 研究背景 随着互联网技术的快速发展,网络时代的到来,网络信息也将会改变当今社会。各行各业在日常企业经营管理等方面也在慢慢的向规范化和网络化趋势汇合[13]。电子商务必将成为未来商务的主流,因此对于餐饮行业来说,…

51单片机的无线病床呼叫系统【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温湿度传感器模块矩阵按键时钟模块等模块构成。适用于病床呼叫系统、16床位呼叫等相似项目。 可实现基本功能: 1、LCD1602实时显示北京时间、温湿度信息、呼叫床位等信息; 2、DHT11采集病房温湿度信息&…

RTMP播放器延迟最低可以做到多少?

技术背景 RTMP播放器的延迟可以受到多种因素的影响,包括网络状况、推流设置、播放器配置以及CDN分发等。因此,RTMP播放器的延迟并不是一个固定的数值,而是可以在一定范围内变化的。 正常情况下,网上大多看到的,针对R…

【GIS系列】通过Java代码高效实现ArcGIS SDE数据库的数据叠加分析

作者:后端小肥肠 🍇 我写过的文章中的相关代码放到了gitee,地址:xfc-fdw-cloud: 公共解决方案 🍊 有疑问可私信或评论区联系我。 🥑 创作不易未经允许严禁转载。 本文涉及GDAL及GeoTools代码实践&#xff…

计算机毕业设计选题推荐-宠物店管理系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

机器学习(9.2-9.8)pytorch学习(二)

文章目录 摘要Abstract 1 torch 和 torchvision1.1 查看CIFAR10数据集内容1.2 Dataloader的使用 2 神经网络的构建2.1 神经网络的基本骨架2.2 卷积层原理2.2.1 卷积基本原理2.2.2 padding 2.3 构建一个卷积神经网络2.4 池化层2.5 非线性激活2.5.1 RELU的使用2.5.2 Sigmoid的使用…

【开源免费】基于SpringBoot+Vue.J大学生租房平台(JAVA毕业设计)

本文项目编号 T 019 ,文末自助获取源码 \color{red}{T019,文末自助获取源码} T019,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

java基础概念21-权限修饰符、代码块

一、权限修饰符 1-1、作用 权限修饰符,是用来控制一个成员能够被访问的范围的。 可以修饰:成员变量,方法,构造方法,内部类。 1-2、权限修饰符的分类 二、代码块 局部代码块构造代码块静态代码块 2-1、局部代码块 …

【C++ Primer Plus习题】12.5

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream> #include <cstdlib> #in…

Linux-【组管理、权限管理、定时任务调度】

目录 前言 Linux组基本介绍 文件/目录 所有者 查看文件 所有者 修改文件所有者 文件/目录 所在组 修改文件/目录 所在组 其它组 改变用户所在组 权限的基本介绍 rwx权限 rwx作用到文件 rwx作用到目录 修改权限 第一种方式&#xff1a;、-、变更权限 第二种方式…

Java进阶13讲__第11讲

配置文件 日志 1. Properties属性文件 1.1 特点、作用 都只能是键值对键不能重复文件后缀一般是.properties结尾的 1.2 读取 package cn.hdc.oop10.properties;import java.io.FileNotFoundException; import java.io.FileReader; import java.util.Properties; import j…

「iOS」折叠cell

iOS学习 前言简单的折叠cell效果原理 稍作修改总结 前言 在暑期仿写中&#xff0c;3G share项目里我们简单的使用了折叠cell。现在写一篇博客来总结该方法。 简单的折叠cell 效果 先看效果&#xff1a; 原理 将cell的高度设置为一个单元格的高度。创建一个按钮&#xff0…

【C++】作用域指针、智能指针、共享指针、弱指针

十、智能指针、共享指针 从上篇文章 【C】如何用C创建对象&#xff0c;理解作用域、堆栈、内存分配-CSDN博客 中我们知道&#xff0c;你的对象是创建在栈上还是在堆上&#xff0c;最大的区别就是对象的作用域不一样。所以在C中&#xff0c;一旦程序进入另外一个作用域&#xf…

【xinference】(19):在L40设备上通过Xinference框架,快速部署CogVideoX-5b模型,可以生成6秒视频,速度比409D快一点

1&#xff0c;关于Xinference Xorbits Inference (Xinference) 是一个开源平台&#xff0c;用于简化各种 AI 模型的运行和集成。借助 Xinference&#xff0c;您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理&#xff0c;并创建强大的 AI 应用。 htt…