Re65:读论文 GPT-3 Language Models are Few-Shot Learners

news2025/5/25 9:18:23

诸神缄默不语-个人CSDN博文目录
诸神缄默不语的论文阅读笔记和分类

论文全名:Language Models are Few-Shot Learners
ArXiv网址:https://arxiv.org/abs/2005.14165
2020 NeurIPS:https://papers.nips.cc/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html

官方GitHub项目:openai/gpt-3: GPT-3: Language Models are Few-Shot Learners(模型没开源,但是如果对人造数据集感兴趣可以看看)

GPT-3没有开源,只能通过API调用。OpenAI官方没有明确说现在哪些API是GPT-3的,我猜测https://platform.openai.com/docs/models/gpt-base这两个文本生成模型应该是GPT-3的,但是官方也不建议继续使用GPT-3的API了,建议大家用3.5和4。因此GPT-3的主要价值就是承前启后、了解GPT系列模型的发展史了。

Re45:读论文 GPT-1 Improving Language Understanding by Generative Pre-Training
Re62:读论文 GPT-2 Language Models are Unsupervised Multitask Learners

GPT-3的框架跟GPT-1、2的差不多,但是扩大了网络参数规模,使用了更多的高质量训练数据,就使得其模型效果实现了显著提升,可以不用微调,直接通过少样本学习/上下文学习的方式,在prompt中给出任务示例,就能在新的预测样例上得到想要的结果。有些少样本学习效果比微调的SOTA模型还好。

模型越大越好(scaling laws1
是谓大力出奇迹。
文中有很多验证不同规模模型上效果的图。

本文没有做GPT-3微调效果的实验。

我觉得前置知识我已经写够多了,本文就只写一些值得在意的点了。

文章目录

  • 1. 上下文学习
  • 2. GPT-3
    • 1. 数据集
    • 2. 实验结果
      • 1. 语言模型
      • 2. 文本补全和完形填空任务
      • 3. 开放域QA
      • 4. 翻译
      • 5. Winograd-Style Tasks
      • 6. 常识推理
      • 7. 阅读理解
      • 8. SuperGLUE
      • 9. NLI
      • 10. Synthetic and Qualitative Tasks
    • 3. 防止数据泄露问题
  • 4. 限制
  • 5. 公平性
  • 6. 资源消耗

1. 上下文学习

优势是不用大规模微调数据集。效果随模型尺寸增长而变好(但是不如微调)。而且模型不会产生微调导致的分布局限问题,在通用任务上表现能力不会下降。

示意图:
在这里插入图片描述

instruction

术语“demonstration”就是上下文中的样例(输入+输出 a context and a desired completion)

给出新输入,让模型给出输出

few-shot learning(10-100个)
one-shot learning
zero-shot learning

在这里插入图片描述

随着模型参数和数据集规模增长而效果越来越好:
在这里插入图片描述

在这里插入图片描述

前人的工作已经证明了log loss随模型变大而下降,交叉熵损失下降也会带来在下游任务上效果的提升。

2. GPT-3

模型在GPT-2的基础上增加了alternating dense and locally banded sparse attention patterns(sparse transformer2

最大的GPT-3是175B

模型越大,batch size应该越大,学习率越小1 3,用gradient noise scale来选择batch size3(我也不知道这是啥玩意儿,以后看)
在这里插入图片描述

context window:2048

在Common Crawl数据集上预训练1个epoch

在这里插入图片描述
↑这个纵轴应该大概类似于训练算力的评估指标

model parallelism

训练过程中的scale loss:
在这里插入图片描述

具体训练细节在附录,我没看。

1. 数据集

数据集清洗3步走(有噪音的效果不够好):① 靠近高质量语料 ② 去重 ③ 添加高质量语料(高质量语料抽样频率更高)

构建了一个预测高质量文本的分类器。

为了测试,删除了数据泄露的训练集数据。(文中有很大篇幅分析数据泄露问题)

数据集比例:
在这里插入图片描述

2. 实验结果

评估指标略。有些参考了T5的做法,这两个模型的思路也确实很像哈。

1. 语言模型

在这里插入图片描述

2. 文本补全和完形填空任务

类似语言模型训练任务
在这里插入图片描述

在这里插入图片描述

3. 开放域QA

Closed Book Question Answering
在这里插入图片描述
开卷(open-book)QA一般用的是信息检索方案。
↑ SSM指的是Q&A-specific pre-training procedure

在这里插入图片描述
↑ 模型越大,知识越多

4. 翻译

在这里插入图片描述

在这里插入图片描述
翻译到英文的效果比较好。

5. Winograd-Style Tasks

指代消歧

在这里插入图片描述

在这里插入图片描述

6. 常识推理

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

7. 阅读理解

在这里插入图片描述

在要求严格回答格式的数据集上表现最差

8. SuperGLUE

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

9. NLI

在这里插入图片描述

10. Synthetic and Qualitative Tasks

  1. 算术
    少样本:
    在这里插入图片描述
    ↑ N-digit指的是数字的最高位数
    composite是带运算符的(如Q: What is 6+(4*8)? A: 38

    所有setting:
    在这里插入图片描述

  2. 恢复单词中的字母顺序
    在这里插入图片描述

    少样本:
    在这里插入图片描述

  3. SAT-style analogy
    示例:audacious is to boldness as (a) sanctimonious is to hypocrisy, (b) anonymous is to identity, (c) remorseful is to misdeed, (d) deleterious is to result, (e) impressionable is to temptation
    感觉算是一种英语词汇量考试题?
    在这里插入图片描述

  4. 定性问题

    1. 生成新闻
      输入标题和小标题
      在这里插入图片描述
      在这里插入图片描述
      ↑95%置信度区间的幂律函数

      在这里插入图片描述
      用户正确预测出新闻是模型生成的,或者不确定是不是模型生成的,都算预测正确
      可以看到GPT-3的生成真实性用户几乎猜不出来,即使是长文本(50%基本等如瞎猜)
      用户可能用以判断新闻是否由AI生成的依据:事实错误,重复,不合逻辑的推理过程,异常短语
      在这里插入图片描述


      在这里插入图片描述
    2. 学习和使用新词:看定义后使用,或者从示例中推理词义(论文中测试的是前者)
      在这里插入图片描述
      灰色是prompt,粗体是模型生成结果,模型生成结果会塞进对话继续生成后续内容
    3. 英语语法纠错
      Poor English Input: <sentence>nn Good English Output: <sentence>
      在这里插入图片描述

3. 防止数据泄露问题

具体的我没看,就放点图吧。

在这里插入图片描述
↑ 在训练集中抽取出一个去重的验证集切片,训练集和验证集的损失函数。
说明没有过拟合。在下游任务上表现不好就是因为任务太难了。

clean benchmarks:制造去除训练集中可能泄露的样本
在clean benchmarks上和原版的表现差异 ↓
在这里插入图片描述

4. 限制

大部分我懒得写了,列举一些我认为值得在意的。

  1. 人类偏好:(2019 OpenAI) Fine-Tuning Language Models from Human Preferences
  2. 通过图片提供世界模型:(2020 ECCV 微软) UNITER: UNiversal Image-TExt Representation Learning
  3. few-shot是从0开始学习新任务,还是将新任务视作见过的任务?

5. 公平性

性别:
在这里插入图片描述

种族(用词的情感得分):
在这里插入图片描述

宗教:
在这里插入图片描述
(好地狱笑话的表)

6. 资源消耗

单位:
petaflop/s-days
kW-hr

这一块以后如果有机会了我再详细看看。


  1. (2020 OpenAI) Scaling Laws for Neural Language Models ↩︎ ↩︎

  2. 在模型结构中的注意力层,GPT3采用Sparse Transformer中的方案,相对于原始Transformer需要对一个序列中的任意两个词元都进行注意力计算,时间复杂度为 O ( n 2 ) O(n^2) O(n2) ,Sparse Transformer通过稀疏矩阵仅为每个词元计算和其他部分词元的注意力,时间复杂度为 O ( n log ⁡ n ) O(n\log n) O(nlogn) ,因此可以减少注意力计算量 from AIGC系列-GPT3论文阅读笔记 - 知乎
    理论来源原论文:(2019 OpenAI) Generating Long Sequences with Sparse Transformers ↩︎

  3. (2018) An empirical model of large-batch training ↩︎ ↩︎

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

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

相关文章

ELK企业级日志分析系统以及多种部署

目录 ELK简介 ELK简介 ELK平台是一套完整的日志集中处理解决方案&#xff0c;将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用&#xff0c; 完成更强大的用户对日志的查询、排序、统计需求。 ●ElasticSearch&#xff1a;是基于Lucene&#xff08;一个全文检索引…

74HC595引脚图时序图工作原理

74HC595和74hc164一样是在单片机系统中常用的芯片之一他的作用就是把串行的信号转为并行的信号&#xff0c;常用在各种数码管以及点阵屏的驱动芯片&#xff0c; 使用74HC595可以节约单片机mcu的io口资源&#xff0c;用3个io就可以控制8个数码管的引脚&#xff0c;他还具有一定的…

【算法基础2】前缀和与差分

目录 前缀和与差分1.综述2.前缀和&#xff08;1&#xff09;一维前缀和&#xff08;2&#xff09;二维前缀和&#xff08;子矩阵的和&#xff09; 3.差分&#xff08;1&#xff09;一维差分&#xff08;2&#xff09;二维差分&#xff08;差分矩阵&#xff09; 前缀和与差分 1…

[攻防世界]Reversing-x64Elf-100

1.查壳 无壳&#xff0c;ELF文件 2.用IDA64打开 找到关键部分 这里有坑&#xff0c;看清楚v3是长度为3数组&#xff0c;里面放三个字符串 3.脚本解密 v1"Dufhbmf" v2"pGimos" v3"ewUglpt" v4[v1,v2,v3] a1[0,0,0,0,0,0,0,0,0,0,0,0] for i …

GET与POST:详述HTTP两大请求方法的语义、数据处理机制、安全特性与适用场景

GET和POST方法在HTTP请求中具有明确的角色分工和特性差异。GET适用于读取操作和不敏感数据的传递&#xff0c;强调可缓存性和安全性&#xff0c;而POST适用于写入操作和敏感数据的提交&#xff0c;提供了更大的数据承载能力和更强的隐私保护。本文详细介绍了GET与POST请求方法的…

网格(mesh)生成算法

mesh网格生成算法 1. 简介2. Points clouds Vs Meshes3. 为什么要生成mesh网格以及生成mesh网格的难点4. 常见的mesh网格生成算法 1. 简介 基于 3D视觉的新兴应用场景蓬勃发展&#xff0c;3D点云越来越受到人们的广泛关注。点云有着广泛的应用领域包括机器人技术、3D图形、自动…

150个 HTML5 网站模版 量大慢选

HTML5 网站模版 No.1 HTML5 网站模版 No.1

SDK-0.7.8-Release-实体管理 - ApiHug-Release

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace 更多精彩…

数据结构:打造高效的通讯录项目

✨✨小新课堂开课了&#xff0c;欢迎欢迎~✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;http://t.csdnimg.cn/oHJAK&#xff08;数据结构与算法&#xff09; 小新的主页&#xff1a;编程版小新-CSDN博客 …

windows应急中的快捷键

windows应急中的快捷键 应急的时候&#xff0c;快捷键很重要&#xff0c;记录一下windows主机排查需要用到的快捷键 windows快捷键 appwiz.cpl 是打开安装面板 程序和功能 控制面板程序和功能 搜索程序和功能 控制而板主页 卸载或更改程序 若要卸酸程序,请从列表中将其…

Python十大常用库:让你的Python编程更上一层楼

Python是一种功能强大的编程语言&#xff0c;拥有众多的第三方库和框架&#xff0c;使得开发者可以更加高效、便捷地进行编程工作。本文将介绍Python中最常用的十大库&#xff0c;这些库在数据科学、机器学习、Web开发等领域有着广泛的应用&#xff0c;可以帮助你更好地提升Pyt…

flask后端+网页前端:基于 socket.io 的双向通信和服务器部署

我想实现的效果是&#xff0c;我的服务器提供两个路由网址&#xff0c;网页A用于拍照、然后录音&#xff0c;把照片和录音传给服务器&#xff0c;服务器发射信号&#xff0c;通知另一个路由的网页B更新&#xff0c;把刚刚传来的照片和录音显示在网页上。 然后网页B用户根据这个…

分享 WebStorm 2024 激活的方案,支持JetBrains全家桶

大家好&#xff0c;欢迎来到金榜探云手&#xff01; WebStorm公司简介 JetBrains 是一家专注于开发工具的软件公司&#xff0c;总部位于捷克。他们以提供强大的集成开发环境&#xff08;IDE&#xff09;而闻名&#xff0c;如 IntelliJ IDEA、PyCharm、和 WebStorm等。这些工具…

K3 BOS插件实现作息时间的选择

要求做一个工时登记表&#xff0c;其中要扣减中午休息时间。公司夏令休息1.5个小时、冬令休息1个小时是不变的&#xff0c;基本思路是根据日期来判断&#xff0c;但在做表单时发现值更新事件中这个日期判断不好写&#xff0c;于是通过写BOS插件来实现这个功能。 首先新建的BOS…

【学习】软件信创测试中,如何做好兼容性适配

在软件信创测试的领域中&#xff0c;兼容性适配是至关重要的一环。如何确保软件在不同的操作系统、硬件设备和软件环境中稳定运行&#xff0c;是每个测试人员需要面对的挑战。本文将从几个方面探讨如何做好兼容性适配&#xff0c;以提高软件的稳定性和用户体验。 首先&#xf…

网页端HTML使用MQTTJs订阅RabbitMQ数据

最近在做一个公司的日志组件时有一个问题难住了我。今天问题终于解决了。由于在解决问题中&#xff0c;在网上也查了很多资料都没有一个完整的实例可以参考。所以本着无私分享的目的记录一下完整的解决过程和实例。 需求&#xff1a;做一个统一日志系统可以查看日志列表和一个可…

轻量化模块整理,即插即用

轻量化模块整理&#xff0c;即插即用&#xff08;持续更新&#xff09; 整理一些轻量化的结构&#xff0c;作为知识储备&#xff0c;可以用到后续的项目和研究中 Mobilenetv3 深度可分离卷积 MobileNetV3 是一个轻量级的深度学习模型&#xff0c;专为移动和边缘设备上的高效…

IntelliJ IDEA 2024 for Mac/Win:引领Java开发新纪元的高效集成环境

在日新月异的软件开发领域&#xff0c;一款高效、智能的集成开发环境&#xff08;IDE&#xff09;无疑是程序员们不可或缺的神兵利器。今天&#xff0c;我要为大家介绍的&#xff0c;正是这样一款集大成之作——IntelliJ IDEA 2024。无论是Mac用户还是Windows用户&#xff0c;只…

Golang | Leetcode Golang题解之第27题移除元素

题目&#xff1a; 题解&#xff1a; func removeElement(nums []int, val int) int {left, right : 0, len(nums)for left < right {if nums[left] val {nums[left] nums[right-1]right--} else {left}}return left }

8个 可以让 Python 加速的 tips

Python 是一种脚本语言&#xff0c;相比 C/C 这样的编译语言&#xff0c;在效率和性能方面存在一些不足。但是&#xff0c;有很多时候&#xff0c;Python 的效率并没有想象中的那么夸张。本文对一些 Python 代码加速运行的技巧进行整理。 0. 代码优化原则 本文会介绍不少的 P…