大模型学习之GPT系列

GPT系列

  • 预备知识
  • GPT-1
    • 无监督预训练
    • 有监督的微调
    • 训练
  • GPT-2
    • 数据集:
    • 输入表示
    • 模型
    • 实验
  • GPT-3
    • 模型
    • 数据集
    • 实验
    • 局限性
  • InstructGPT
  • GPT-4
    • GPT-4 新特性
    • 基础能力
  • 参考文献

大模型
在这里插入图片描述
GPT演进路线图
在这里插入图片描述

预备知识

Transformer 结构图
在这里插入图片描述

GPT-1

GPT1
首先使用未标注的数据训练一个预训练语言模型,然后再使用有标注的数据在子任务上做微调。
下图为Transformer Decoder 和 GPT1结构图的对比
在这里插入图片描述
GPT只能关注上文的信息,无法关注到下文的信息。

无监督预训练

GPT使用标准的语言模型的目标函数来最大化似然函数:
在这里插入图片描述

语言模型就是要预测第 i 个词出现的概率

Transformer 编码器和解码器的区别:输入一个序列到编码器中,对第 i 个元素抽取特征的时候,可以看到整个序列的所有元素,而对于解码器来说,因为有掩码的存在,在对第 i 个元素抽取特征的时候,只能看到当前元素和它前边的元素,它后边的元素通过一个掩码使得在计算注意力机制的时候变为0。

GPT和BERT的区别:
BERT 用的不是标准的语言模型,用的是一个带掩码的语言模型,是一个完形填空,给定一个句子,把中间的词挖掉,然后预测中间的那个词,在预测这个词的时候既能看到它之前的词,又能看到它之后的词,所以用的是Transformer 的编码器。
主要区别在于两者目标函数的选取:GPT的预测更难,只通过前边的来预测下一个词。

有监督的微调

在这里插入图片描述

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

训练

GPT数据集:

  • BooksCorpus:7000多本未出版的书籍
  • Word Benchmark:10亿

GPT模型大小:12层,768维
参数量:1.17亿

BERT数据集:

  • BooksCorpus:8亿个词
  • English Wikipedia:25亿词

BERT大小:

  • base:12层,768维(对标GPT)
  • large:24层,1024维

GPT和BERT实验对比
在这里插入图片描述

GPT-2

在这里插入图片描述

增大数据集 + 增大模型 + zero-shot

通过任务提示来训练一个预训练模型,然后无需进行有监督的fine-tune就可以执行下游任务。比如翻译任务可以输入为
(translate to french, english text, french text),阅读理解任务可以输入为 (answer the question, document, question, answer)

数据集:

  • 网页爬取:WebText 只抓取了人类策划/过滤的网页,800万文档(40G)

输入表示

BPE(Bype Pair Encoder)这种输入表示能够将词级 LM 的经验优势与字节级方法的通用性相结合。由于我们的方法可以为任何 Unicode 字符串分配一个概率,这允许我们在任何数据集上评估我们的 LM,而不管预处理、标记化或词汇大小。

https://zhuanlan.zhihu.com/p/589086649

模型

与 GPT1 类似,有如下的修改

  1. 层归一化移动到每个子块的输入,并且在最终的子注意力块之后额外添加了一个层归一化
  2. 改进初始化:按残差层个数进行缩放,缩放比例为 1 N \frac{1}{\sqrt{N}} N 1, N N N 是残差层数
  3. 词汇表扩展到 50257
  4. 上下文大小从 512 增加到 1024,使用 512 的batch size
    在这里插入图片描述

实验

zero-shot
在这里插入图片描述
在这里插入图片描述

GPT-3

在这里插入图片描述
Few-shot(不做梯度)

in-context learning

在这里插入图片描述

模型

与GPT-2类似,但是使用稀疏注意力机制

在这里插入图片描述

数据集

在这里插入图片描述

  1. 根据与一系列高质量参考语料库的相似性下载和过滤了 CommonCrawl 版本
  2. 文档级别、内部和跨数据集执行模糊重复数据删除,以防止冗余并保持验证集的完整性作为过度拟合的准确度量
  3. 已知的高质量参考语料库

实验

局限性

虽然 GPT-3 取得了非常亮眼的效果,但是出于严谨的学术态度,论文里还是客观的分析了自己的一些局限性:

  1. 当生成文本长度较长时,GPT-3 还是会出现各种问题,比如重复生成一段话,前后矛盾,逻辑衔接不好等等;

  2. 模型和结构的局限性,对于某一些任务,比如填空类型的文本任务,使用单向的自回归语言模型确实存在一定的局限性,这时候如果同时考虑上文和下文的话,效果很可能会更好一些;

  3. 预训练语言模型的通病,在训练时,语料中所有的词都被同等看待,对于一些虚词或无意义的词同样需要花费很多计算量去学习,无法区分学习重点;

  4. 样本有效性或者利用率过低,训一个模型几乎要把整个互联网上的文本数据全都用起来,这与我们人类学习时所需要的成本存在非常大的差异,这方面也是未来人工智能研究的重点;

  5. 有一个不太确定的点是,模型到底是在“学习”还是在“记忆”?我们当然希望它能够学习,但是在使用数据量如此大的情况下,很难去判断它到底是什么样的;

  6. 众所周知,GPT-3 的训练和使用成本都太大了;

  7. GPT-3 跟很多深度学习模型一样,都是不可解释的,没办法知道模型内部到底是如何作出一系列决策的;

  8. 模型最终呈现的效果取决于训练数据,这会导致模型会出现各种各样的“偏见”;

InstructGPT

在这里插入图片描述

使用标注的数据集在比GPT-3小100倍的模型微调的效果甚至比GPT-3还要好一点(标注的数据信噪比更小)

GPT-3 虽然在各大 NLP 任务以及文本生成的能力上令人惊艳,但是他仍然还是会生成一些带有偏见的,不真实的,有害的造成负面社会影响的信息,而且很多时候,他并不按人类喜欢的表达方式去说话。在这个背景下,OpenAI 提出了一个概念“Alignment”,意思是模型输出与人类真实意图对齐,符合人类偏好。因此,为了让模型输出与用户意图更加 “align”,就有了 InstructGPT 这个工作。

在这里插入图片描述
InstructGPT总共干了三件事情:

1、将 prompt 和答案标出来,然后用最正常的 GPT 微调出一个模型

2、训练一个奖励模型去拟合人对模型中多个输出之间的排序,训练好之后将其放入到强化学习的框架中

3、通过强化学习模型调整 SFT 模型,使得输出的结果在排序上更符合人的喜好

GPT-4

GPT-4是一个大型多模态模型(Large Multimodal Model),能够接受图像和文本输入,并输出文本。 OpenAI首先发布了GPT-4的文本输入功能,图像输入功能敬请期待。
实验表明,GPT-4 在各种专业和学术考试中表现出了与人类水平相当的性能(human-level performance)。例如,它通过了模拟律师考试,且分数在应试者的前 10% 左右;相比之下,GPT-3.5 的得分在倒数 10% 左右。
GPT-4的训练稳定性是史无前例的,这得益于对抗性测试计划和来自于ChatGPT的经验教训,对 GPT-4 进行迭代调整,从而在真实性、可控性等方面取得了有史以来最好的结果。
在过去的两年里,OpenAI重建了整个深度学习堆栈,并与Azure共同设计了一台超级计算机以便于应付他们的工作负载。 将继续专注于可靠的扩展,进一步完善方法,以帮助其实现更强大的提前预测性能和规划未来的能力,这对安全至关重要。
OpenAI还开源了OpenAI Evals,这是他们的自动化评估AI模型性能的框架,任何人都可以提交他们模型的缺陷以帮助改进。
OpenAI 正在通过 ChatGPT 和 API(有候补名单)发布 GPT-4 的文本输入功能。图像输入功能方面,为了获得更广泛的可用性,OpenAI 正在与其他公司展开合作。
OpenAI 还在为机器学习模型设计的传统基准上评估了 GPT-4。GPT-4 大大优于现有的大型语言模型,以及大多数 SOTA 模型

GPT-4 新特性

  • 重点强化了创作能力,作曲,写小说,能够生成歌词、创意文本、实现风格变化等
  • 强大的识图能力,除本身带了对于图片 OCR 外,还有对位置和细节的理解能力。解析报表图片并进行汇总,直接回答图片中包含的提问内容等
  • 增加了对于长文本的处理能力:GPT-4 文字输入限制提升至 2.5 万字,ChatGPT 4096字
  • 回答准确性显著提高
  • 多了一种新的交互方式,就是对于图片的理解

基础能力

GPT-4 是一个多模态大模型,支持接受图像和文本输入,输出文本。
虽然没一步到位,把音视频也覆盖上,但如果能把图像与文本这两块做好,相信其应用潜力无限。
在团队进行的多个 GPT-4 与 GPT-3.5 的考试测试中,发现这两个模型间存在很微妙的差异。当任务的复杂性足够高时,GPT-4 比 GPT-3.5 更可靠、更有创意,并且能够处理更细微的指令。
在 GPT-4 发布之前,Open AI 团队花了 6 个月的时间 ,使用对抗性测试程序,以及从 ChatGPT 得到的经验教训,对 GPT-4 进行了迭代调整 ,进而在其真实性、可操控性等方面取得了有史以来最好的结果。

专业和学术表现
即便 GPT-4 在许多现实世界场景中能力不如人类,但在各种专业和学术基准上的表现,还是超过了人类的平均水平。这里有一个数据是,在律师模拟考中,GPT-4 的成绩排在应试生的前 10% 中,而此前发布的 GPT-3.5,则在倒数 10% 的行列。参加的多种不同领域的专业应试,能够排到多靠前的位置。

模型评估对比
在与当前机器学习模型进行基准评估对比后,GPT-4 大大优于现有的大型语言模型,以及大多数最先进的 (SOTA) 模型。

图像处理能力
GPT-4 本次最为令人看重的,还是它接受与处理图像的具体能力。

GPT-4可以接受文本和图像输入,并且这两个是可以掺杂着用,它允许你用跟之前文本一样的使用方式。

在官方报告中,团队提供了多个实际交互示例。一共有7个例子,总结起来,它可以识别搞笑图片,可以做复杂的物理化学之类的题目,可以做看图题,可以读论文,可以识别meme图片,总之,非常的强,可惜还不能开放使用。

GPT-4 技术报告
OpenAI 公开的技术报告中,不包含任何关于模型架构、硬件、算力等方面的更多信息。

下面是稍微具体一点的技术报告 https://cdn.openai.com/papers/gpt-4.pdf

与 GPT-3.5/ChatGPT 技术路线完全相同。GPT-4 is a Transformer-style model pre-trained to predict the next token in a document, using both publicly available data (such as internet data) and data licensed from third-party providers. The model was then fine-tuned using Reinforcement Learning from Human Feedback (RLHF). ;
用一系列 alignment 方案来确保 GPT-4 输出的安全性。The post-training alignment process results in improved performance on measures of factuality and adherence to desired behavior.
用千分之一的计算量去预测 GPT-4 在一定计算规模下的性能,不用花时间训练大模型去探索,即 Predictable Scaling。A core component of this project was developing infrastructure and optimization methods that behave predictably across a wide range of scales. This allowed us to accurately predict some aspects of GPT-4’s performance based on models trained with no more than 1/1,000th the compute of GPT-4.
很想看到 OpenAI 是如何做到 Multi-modal GPT 的,我大致是这么猜的:GPT-4 的训练方法应当与最近微软发布的 KOSMOS-1 相同 (Language Is Not All You Need: Aligning Perception with Language Models)。预训练阶段,输入任意顺序的文本和图像,图像经过 vision encoder (如 ViT,CLIP ViT)成 embedding,文本经过 text tokenizer 也成 embedding,组成 multimodal sentence embedding,训练目标仍然是 next-token generation。KOSMOS-1 数据从哪来,直接爬网页训,网页里有图有文字。别看 KOSMOS-1 性能比较拉,那是因为它参数量少,就 1.3 B。同样的方式放到 GPT-4 的参数规模,能成大事。
GPT-4参数量,没有找到相关描述。

训练过程
与之前的 GPT 模型一样,GPT-4 基础模型经过训练可以预测文档中的下一个单词。OpenAI 使用公开可用的数据(例如互联网数据)以及已获得许可的数据进行训练。训练数据是一个网络规模的数据语料库,包括数学问题的正确和错误解决方案、弱推理和强推理、自相矛盾和一致的陈述,以及各种各样的意识形态和想法。

因此,当提出问题时,基础模型的回应可能与用户的意图相去甚远。为了使其与用户意图保持一致,OpenAI 依然使用强化学习人类反馈 (RLHF) 来微调模型的行为。请注意,该模型的能力似乎主要来自于预训练过程 ——RLHF 不会提高考试成绩(甚至可能会降低它)。但是模型的控制来自后训练过程 —— 基础模型甚至需要及时的工程设计来回答问题。

GPT-4 的一大重点是建立了一个可预测扩展的深度学习栈。主要原因是,对于像 GPT-4 这样的大型训练,进行广泛的特定模型调整是不可行的。团队开发了基础设施和优化,在多种规模下都有可预测的行为。为了验证这种可扩展性,他们提前准确地预测了 GPT-4 在内部代码库(不属于训练集)上的最终损失,方法是通过使用相同的方法训练的模型进行推断,但使用的计算量为 1/10000。

局限性
尽管功能已经非常强大,但 GPT-4 仍与早期的 GPT 模型具有相似的局限性,其中最重要的一点是它仍然不完全可靠。OpenAI 表示,GPT-4 仍然会产生幻觉、生成错误答案,并出现推理错误。
目前,使用语言模型应谨慎审查输出内容,必要时使用与特定用例的需求相匹配的确切协议(例如人工审查、附加上下文或完全避免使用) 。
GPT-4 跟 GPT-3.5 类似,对训练数据中断后(2021 年 9 月)所发生的事情不太了解,也会犯一些在我们看来很简单的推理性错误,给用户提供不合理的建议,以及在生成的代码中引入安全漏洞。
总的来说,GPT-4 经过多次迭代和改进,在 OpenAI 的内部对抗性真实性评估中,GPT-4 的得分比最新的 GPT-3.5 模型高 40%

GPT-4 风险和应对措施
GPT-4 的训练在去年 8 月完成,剩下的时间都在进行微调提升,以及最重要的去除危险内容生成的工作。
OpenAI一直在对GPT-4进行迭代,以使其更加安全。
GPT-4与以前的模型一样具有风险,但由于其额外的能力,从而会导致新的风险。
邀请了50多名专家对模型进行对抗测试,以提高模型的安全性能。
GPT-4在RLHF训练过程中加入了额外的安全奖励信号,通过训练模型拒绝对此类内容的请求来减少有害的输出。
为了防止模型拒绝有效请求,收集了多样化的数据集,并在允许和不允许的类别上应用安全奖励信号。
缓解措施显著提高了GPT-4的安全性能,例如将模型对于不允许内容请求的响应率降低了82%。 对敏感请求(如医疗建议和自我伤害)的响应符合政策的频率提高了 29%。

开源项目:OpenAI Evals
为了让开发者能更好的评测 GPT-4 的优缺点,OpenAI 的技术团队还开源了 OpenAI Evals 项目,可用于自动评估 AI 模型性能的框架,以便用户能更专业的指导团队,进一步优化与改进模型。

该项目具有以下功能特性:

使用数据集生成提示;
衡量 OpenAI 模型提供的补全质量;
比较不同数据集和模型的性能。
GitHub:https://github.com/openai/evals

参考文献

GPT,GPT-2,GPT-3论文精读
https://github.com/Mooler0410/LLMsPracticalGuide
拆解追溯 GPT-3.5 各项能力的起源

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mac电脑html文件 局域网访问

windows html文件 局域网访问 参考 https://blog.csdn.net/qq_38935512/article/details/103271291mac电脑html文件 局域网访问 开发工具vscode 安装vscode插件 Live Server 完成后打开项目的html 右键使用Live Server打开页面 效果如下,使用本地ip替换http://12…

LVS负载均衡器(nat模式)+nginx(七层反向代理)+tomcat(多实例),实现负载均衡和动静分离

目录 前言 一、配置nfs共享存储 二、配置2个nginx节点服务的网页页面 节点1:192.168.20.10 步骤一:修改网关指向调度器的内网ip地址 步骤二:将nfs共享的目录进行挂载,并修改nginx的配置文件中location的root指向挂载点 步骤三&#xff…

lua安装

lua安装 1.Lua介绍 特点:轻量、小巧。C语言开发。开源。 设计的目的:嵌入到应用程序当中,提供灵活的扩展和定制化的功能。 luanginx,luaredis。 2.windows安装lua windows上安装lua: 检查机器上是否有lua C:\U…

Shopee ERP:提升电商管理效率的终极解决方案

Shopee ERP(Enterprise Resource Planning,企业资源规划)是一款专为Shopee卖家设计的集成化电商管理软件。通过使用Shopee ERP系统,卖家可以更高效地管理他们的在线商店,实现库存管理、订单处理、物流跟踪、财务管理、…

[Knowledge Distillation]论文分析:Distilling the Knowledge in a Neural Network

文章目录 一、完整代码二、论文解读2.1 介绍2.2 Distillation2.3 结果 三、整体总结 论文:Distilling the Knowledge in a Neural Network 作者:Geoffrey Hinton, Oriol Vinyals, Jeff Dean 时间:2015 一、完整代码 这里我们使用python代码进…

vue 使用 Echarts做地图及飞线效果

前言: 效果图 一. 项目中安装以及引入Echarts 1.1 npm 命令安装echarts库 npm install echarts --save 1.2 yarn命令安装echarts库 yarn add echarts 1.3 引用 a. 在使用页面上引入 在Vue组件的script标签中引入echarts库 使用 echarts import * as echarts f…

Kafka-Kafka基本原理与集群快速搭建(实践)

Kafka单机搭建 下载Kafka Apache Download Mirrors 解压 tar -zxvf kafka_2.12-3.4.0.tgz -C /usr/local/src/software/kafkakafka内部bin目录下有个内置的zookeeper(用于单机) 启动zookeeper(在后台启动) nohup bin/zookeeper-server-start.sh conf…

MySQL运维5-Mycat配置

一、schema.xml 1.1 简介 schema.xml作为Mycat中最重要的配置文件之一,涵盖了Mycat的逻辑库、逻辑表、分片规则、分片节点即数据源的配置。主要包括一下三组标签 schema标签 datanode标签 datahost标签 1.2 schema标签 用于定于Mycat实例中的逻辑库,一个…

如何用 Cargo 管理 Rust 工程系列 丙

以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/viSsCaFR2x9hZOvo1PoRqA 添加依赖项 前面已经提到过在 cargo 配置文件 Cargo.toml 中如何手动添加工程依赖项,cargo 同样提供了 add …

万户 OA OfficeServer.jsp 任意文件上传漏洞复现

0x01 产品简介 万户OA是面向政府组织及企事业单位的FlexOffice自主安全协同办公平台。 0x02 漏洞概述 万户OA OfficeServer.jsp接口存在任意文件上传漏洞,攻击者可通过该漏洞上传任意文件从而控制整个服务器。 0x03 复现环境 FOFA: (banner="OASESSIONID" &a…

音频ncm格式转mp3格式

做个笔记,ncm格式转mp3格式 参考:传送门 import os import json import base64 import struct import logging import binascii from glob import glob from tqdm.auto import tqdm from textwrap import dedent from Crypto.Cipher import AES from mu…

鸿蒙开发ArkTS语言-XML解析

XML概述 XML(可扩展标记语言)是一种用于描述数据的标记语言,旨在提供一种通用的方式来传输和存储数据,特别是Web应用程序中经常使用的数据。XML并不预定义标记。因此,XML更加灵活,并且可以适用于广泛的应用…

深入理解 hash 和 history:网页导航的基础(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

C语言——输出魔方阵

目录 一、前言: 二、算法设计: 三、代码实现: 五、效果展示: 一、前言: 魔方矩阵又称幻方,是有相同的行数和列数,并在每行每列、对角线上的和都相等的矩阵。魔方矩阵中的每个元素不能相同。你…

华为数通——网络参考模型

OSI参考模型 七层 应用层:最靠近用户的一层,为应用程序提供网络服务。 六层 表示层:数据格式转换编码格式UTF-8。 五层 会话层:双方之间建立、管理和终止会话。 四层 传输层:建立、维护和取消端到端的数据传输过…

七. 使用ts写一个贪吃蛇小游戏

之前学习了几篇的ts基础,今天我们就使用ts来完成一个贪吃蛇的小游戏。 游戏拆解 我们将我们的任务进行简单拆解分析。 首先我们应该有一个窗口,我们叫做屏幕。让蛇在里面移动,所有我们应该想到要设计一个大盒子当作地图。考虑到食物以及蛇…

Spark编程实验一:Spark和Hadoop的安装使用

一、目的与要求 1、掌握在Linux虚拟机中安装Hadoop和Spark的方法; 2、熟悉HDFS的基本使用方法; 3、掌握使用Spark访问本地文件和HDFS文件的方法。 二、实验内容 1、安装Hadoop和Spark 进入Linux系统,完成Hadoop伪分布式模式的安装。完成Ha…

字符串——OJ题

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、字符串相加1、题目讲解2、思路讲解3、代码实现 二、仅仅反转字母1、题目讲解2、思路讲解3…

DSP的ADC简单笔记

DSP不需要复用GPIO,是单独的ADC引脚,与GPIO不共用 ADC时钟在PCLKCR0寄存器 所以还要配置HSPCLK HISPCP/HSPCLK寄存器 所以ADC的输入时钟,有固定公式; 控制寄存器1 简单配置3个东西; 控制寄存器2 设置为1软件触发 控…

如何使用ArcGIS Pro拼接影像

为了方便数据的存储和传输,我们在网上获取到的影像一般都是分块的,正式使用之前需要对这些影像进行拼接,这里为大家介绍一下ArcGIS Pro中拼接影像的方法,希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的…