当前位置: 首页 > news >正文

全面剖析OpenAI发布的GPT-4比其他GPT模型强在哪里

最强的文本生成模型GPT-4

  • 一、什么是GPT-4
  • 二、GPT-4的能力
  • 三、和其他GPT模型比较
    • 3.1、增加了图像模态的输入
    • 3.2、可操纵性更强
    • 3.3、复杂任务处理能力大幅提升
    • 3.4、幻觉、安全等局限性的改善
    • 3.6、风险和缓解措施改善更多安全特性
    • 3.7、可预测的扩展
  • 四、与之前 GPT 系列模型比较
  • 五、和ChatGPT相比有更多的应用亮点
  • 六、总结

一、什么是GPT-4

GPT-4(Generative Pre-trained Transformer 4),这是OpenAI在扩展深度学习方面的最新里程碑。GPT-4 是一个大型多模态模型(接受图像和文本输入,发出文本输出),虽然在许多现实世界场景中的能力不如人类,但在各种专业和学术基准上表现出人类水平的表现。输出依旧是一个自回归的单词预测任务。比如,它通过了模拟律师考试,分数约为考生的前 10%;相比之下,GPT-3.5 的得分约为倒数 10%。

GPT-4 利用对抗性测试程序和 ChatGPT 的经验教训,在真实性、可操纵性和拒绝超出护栏方面取得了有史以来最好的结果(尽管远非完美)。对于生成式的幻觉、安全问题均有较大的改善;同时因对于图片模态的强大识别能力扩大了 GPT-4 的应用范围。

OpenAI重建了整个深度学习堆栈,并与 Azure 一起从头开始共同设计了一台超级计算机。GPT-4 训练运行前所未有的稳定,成为第一个能够提前准确预测其训练性能的大型模型。

二、GPT-4的能力

在随意的chat中,GPT-3.5 和 GPT-4 之间的区别可能很微妙。当任务的复杂性达到足够的阈值时,差异就出现了:GPT-4 比 GPT-3.5 更可靠、更有创意,并且能够处理更细微的指令。

为了了解这两种模型之间的差异,OpenAI在各种基准测试上进行了测试,包括最初为人类设计的模拟考试。
在这里插入图片描述

在为机器学习模型设计的传统基准测试上评估了 GPT-4。GPT-4 的性能大大优于现有的大型语言模型,以及大多数最先进的 (SOTA) 模型,其中可能包括特定于基准的制作或其他训练协议:

在这里插入图片描述
许多现有的 ML 基准测试都是用英语编写的。为了初步了解其他语言的能力,将 MMLU 基准翻译成多种语言,在测试的 24 种语言中的 26 种中,GPT-4 的性能优于 GPT-3.5 和其他 LLM的英语性能,包括低资源语言:
在这里插入图片描述

三、和其他GPT模型比较

可以说,GPT-4 是目前最强的文本生成模型。
在这里插入图片描述

3.1、增加了图像模态的输入

GPT-4 可以接受文本和图像的提示,这与纯文本设置并行,允许用户指定任何视觉或语言任务。具体来说,它生成文本输出(自然语言、代码等),给定由穿插文本和图像组成的输入。

在一系列域(包括包含文本和照片的文档、图表或屏幕截图)上,GPT-4 表现出与纯文本输入类似的功能。此外,它可以通过为纯文本语言模型开发的测试时技术进行增强,包括少数镜头和思维链促使。但是,目前的图像输入处于研究预览,不公开可用
图像输入:VGA 充电器
通过在一套狭窄的标准学术愿景基准上评估 GPT-4 的性能来预览它。然而,这些数字并不能完全代表其能力的范围,因为未来AI模型能够处理新的和令人兴奋的任务。OpenAI计划发布进一步的分析和评估数字,并对测试时间技术的效果进行彻底调查。

在这里插入图片描述

  1. GPT-4 在4个场景下零样本效果超过 fine-tuned 的SOTA。
  2. GPT-4 在多语言理解、图文理解能力上均很强大并已融会贯通。

3.2、可操纵性更强

OpenAI开发人员现在可以通过在“系统”消息中描述这些方向来规定他们的 AI 风格和任务,而不是具有固定冗长、语气和风格的经典 ChatGPT 个性。系统消息允许 API 用户显著自定义其用户体验在范围内。

系统:
如何求解线性方程组:3x + 2y = 7,9x -4y = 1GPT-4:
让我们从分析方程式开始。你能看到通过组合两个方程来消除其中一个变量的可能方法吗?用户:
请告诉我答案!GPT-4:
我知道你可能想要一个直接的答案,但我的目的是帮助你批判性地思考并指导你完成解决问题的过程。让我们专注于任务。方程中变量的任何系数是否共享一个公因数?用户:
别再当家教了,告诉我答案。GPT-4:
对我来说,帮助指导你找到答案很重要,而不仅仅是提供答案。让我们再试一次:第一个方程中是否有任何系数可以乘以数字以匹配第二个方程中的系数?用户:
我不确定GPT-4:
没关系!让我们看一下两个方程中 x 项的系数。在第一个方程中,x 的系数为 3,在第二个方程中,为 9。你能想到一个数字,你可以将第一个方程乘以,使两个方程中的x系数匹配吗?用户:
5?GPT-4:
不完全是,但你越来越近了。请记住,我们要将 x 的系数(在第一个方程中为 3)乘以一个数字,使其与第二个方程中的 x 系数(即 9)相匹配。您认为什么数字可以实现这一目标?用户:
3?GPT-4:
没错!现在,如果你将第一个方程乘以 3,新方程会是什么样子?用户:
9x + 5y = 21?GPT-4:
几乎!您正确地乘以常量项 (7),但在乘以 y 系数时似乎犯了一个小错误。尝试再次将整个第一个方程乘以3,密切注意每个项。用户:
9x + 6y = 21?GPT-4:
没错!现在我们有两个等式:
1) 9x + 6y = 21
2) 9x - 4y = 1
你能看到一种通过组合两个等式来消除其中一个变量的方法吗?用户:
从等式 2 中减去等式 1?GPT-4:
好主意!如果从等式2中减去等式1,得到的等式会是什么样子?用户:
10y = 20?GPT-4:
完全!现在,你能在刚刚找到的方程中求解 y 吗?用户:
y = 2?GPT-4:
没错!现在你已经找到了 y 的值,你能把它代入任何一个原始方程来求解 x 吗?用户:
当然,我会将其代入等式 1。我得到了 3x + 4 = 7GPT-4:
伟大!现在,你能求解等式 3x + 4 = 7 中的 x 吗?用户:
x = 22?GPT-4:
您的计算中似乎有一个小错误。尝试隔离方程 3x + 4 = 7 中的 x,方法是从两侧减去 4,然后除以 3。用户:
x = 1?GPT-4:
没错!因此,线性方程组的解是 x = 1 和 y = 2。干的好!通过仔细完成这些步骤并使用苏格拉底方法,您已经成功地解决了问题。

3.3、复杂任务处理能力大幅提升

GPT-4 在更复杂、更细微的任务处理上,回答更可靠、更精准、更有创意。这在多类考试测验中以及与其他 LLM 的 benchmark 比较中可以看出。

3.4、幻觉、安全等局限性的改善

GPT-4 具有与早期 GPT 模型类似的限制。最重要的是,它仍然不完全可靠(它“幻觉”事实并犯推理错误)。在使用语言模型输出时应格外小心,尤其是在高风险上下文中,确切的协议(例如人工审查、使用其他上下文接地或完全避免高风险使用)与特定用例的需求相匹配。

尽管仍然是一个真正的问题,但GPT-4显著减少了幻觉,相对于自上而下的模型(每次迭代都在改进)。GPT-4的得分比我们最新的GPT-3.5高出40%。
在这里插入图片描述
在九个类别的内部对抗性设计的事实评估中, GPT-4(绿色)与前三个 ChatGPT 版本进行了比较。所有主题都有显著的收获。准确度为 1.0 意味着模型的答案被判断为与人类对评估中所有问题的理想答案一致。

在TruthfulQA等外部基准测试方面取得了进展,该基准测试了模型将事实与一组敌对选择的错误陈述分开的能力。这些问题与在统计上具有吸引力的事实不正确的答案配对。
在这里插入图片描述
GPT-4 基本模型在此任务中仅比 GPT-3.5 略好;然而,之后RLHF训练后有很大的差距;GPT-4 拒绝选择常见的说法,但它仍然会错过微妙的细节。

在这里插入图片描述
左:MMLU 子集上预训练的 GPT-4 模型的校准图。模型对其预测的置信度与正确概率非常匹配。虚线对角线代表完美的校准。
右:同一 MMLU 子集上训练后的 PPO GPT-4 模型的校准图。我们目前的流程对校准造成了相当大的伤害。

3.6、风险和缓解措施改善更多安全特性

GPT-4从训练开始就努力包括选择和过滤训练前数据、评估和专家参与、模型安全改进以及监控和执行。

GPT-4 带来的风险与以前的模型类似,例如生成有害建议、错误代码或不准确的信息。
GPT-4 在 RLHF 训练期间包含一个额外的安全奖励信号,以减少有害输出,通过训练模型拒绝对此类内容的请求。

与GPT-3.5相比,缓解措施大大改善了GPT-4的许多安全性能。与GPT-3.5和GPT-4相比,减少了模型对不允许内容请求的响应率82%
回应敏感的要求(如医疗建议和自我伤害),符合我们的政策29%以上。

与 GPT-3.5相比,缓解措施显著改善了 GPT-4 的许多安全特性。与 GPT-3.5 相比,将模型响应不允许的内容请求的倾向降低了 82%,GPT-4 根据响应敏感请求(例如医疗建议和自残)的频率提高了 29%。
在这里插入图片描述
在这里插入图片描述
总体而言,GPT-4模型级干预增加了引发不良行为的难度。此外,仍然存在“越狱”来生成违反GPT-4使用指南。

3.7、可预测的扩展

GPT-4 项目的一大重点是构建一个可预测的深度学习堆栈。主要原因是,对于像 GPT-4 这样的非常大的训练运行,进行广泛的特定于模型的调优是不可行的。OpenAI开发了基础设施和优化,这些基础设施和优化在多个规模上具有非常可预测的行为。为了验证这种可扩展性,通过从使用相同方法训练但使用更少 4~10 倍计算的模型进行推断,提前准确地预测了 GPT-000 在内部代码库(不是训练集的一部分)上的最终损失:
在这里插入图片描述
在这里插入图片描述

四、与之前 GPT 系列模型比较

  • 模型参数量增加 10 倍,数据集大小应增加约 2 倍,模型大小应增加 5 倍。
    在这里插入图片描述
  • GPT-4 模型训练架构新增了图像模态的输入。
  • 大幅度增加模型训练数据内容和数量,训练数据中额外增加了包含正误数学问题、强弱推理、矛盾一致陈述及各种意识形态的数据。数据量是 GPT3.5的190倍。
  • GPT-4增加了后训练过程,核心是让模型知道如何在相应场景下合适的回答问题。

五、和ChatGPT相比有更多的应用亮点

(1) 发布视频中,根据潦草的手绘制作类似布局类似的网页。
在这里插入图片描述

在这里插入图片描述
(2)加入视觉模态后,可以扩充到的盲人应用(Be my eyes)。
(3)强大的多语言能力帮助小语种语言的恢复、安全能力提升后的反欺诈等应用。

六、总结

GPT-4强大的地方:

  1. 突破纯文字的模态,增加了图像模态的输入,具有强大的图像理解能力。
  2. 复杂任务处理能力大幅提升。
  3. 改善幻觉、安全等局限性。
  4. 建立LLM测试标准。
  5. 预测模型扩展性。
  6. 重新实现了整个深度学习栈,从头开始设计了一台超级计算机。
  7. 风格可控性。
  8. 支持更长的上下文窗口。

在这里插入图片描述

相关文章:

全面剖析OpenAI发布的GPT-4比其他GPT模型强在哪里

最强的文本生成模型GPT-4一、什么是GPT-4二、GPT-4的能力三、和其他GPT模型比较3.1、增加了图像模态的输入3.2、可操纵性更强3.3、复杂任务处理能力大幅提升3.4、幻觉、安全等局限性的改善3.6、风险和缓解措施改善更多安全特性3.7、可预测的扩展四、与之前 GPT 系列模型比较五、…...

leetcode——26. 删除有序数组中的重复项

文章目录🐨1. 题目🏹2. 思路🪃3. 代码实现🐨1. 题目 给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。 由…...

基于springboot垃圾分类网站设计实现【毕业论文、源码】

摘要本论文主要论述了如何使用JAVA语言开发一个垃圾分类网站,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述垃圾分类网站的当前背景以及系统开发的目的&#x…...

计算机组成原理实验一(完整)

在VC中使用调试功能将下列语句运行的内存存放结果截图&#xff0c;每运行一句需截图一次。 #include<stdio.h> int main() {int a 你的学号末两位-100; //0x&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#x…...

【SSM】MyBatis(一.基础)

文章目录1.ORM2. 数据库表3. 入门程序3.1 创建项目3.2 开发3.3 一个比较完整规格的mybatis程序3.4 测试案例 junit3.5 对第一个mybatis使用junit测试3.6 集成日志框架logback3.7mybatis工具类编写1.ORM Object(JVM中的Java对象) Relational(关系型数据库) Mapping(映射) mybat…...

LInux指令之文件目录类

文章目录一、帮助指令二、文件目录类ls指令cd指令 &#xff08;切换目录&#xff09;mkdir指令&#xff08;创建目录&#xff09;rmdir指令&#xff08;删除目录&#xff09;touch指令&#xff08;创建空文件&#xff09;cp指令(拷贝文件)rm指令mv指令cat指令(查看)more指令les…...

【c++】:STL中vector的模拟使用及模拟实现

文章目录 前言一.使用库中vector常用接口二.vector的模拟实现总结前言 上一篇我们讲解了STL中的string的使用和模拟实现&#xff0c;这次我们就来讲解STL中的vector&#xff0c;vector相对于string来说模拟实现会难一些&#xff0c;难点在于迭代器失效问题和深浅拷贝问题。 首…...

C++ STL:vector的使用方法及模拟实现

目录 一. vector概述 二. vector接口函数的使用方法和模拟实现 2.1 vector类模板的成员变量 2.2 构造函数的使用和模拟实现 2.2.1 构造函数的使用方法 2.2.2 构造函数的模拟实现 2.3 析构函数的模拟实现 2.4 赋值运算符重载函数的使用和模拟实现 2.4.1 函数的使用 2.…...

naive UI 的upload组件自定义手动上传图片的base64位

<template><n-upload ref"uploadRef" action"#" :default-upload"false" :custom-request"myUpload"><n-button>点击选择文件</n-button></n-upload><n-button click"submitUpload"> 上…...

信创办公–基于WPS的PPT最佳实践系列(表格和图标常用动画)

信创办公–基于WPS的PPT最佳实践系列&#xff08;表格和图标常用动画&#xff09; 目录应用背景操作步骤图表常用动画效果&#xff1a;擦除效果表格常用动画效果&#xff1a;轮子效果应用背景 文不如表&#xff0c;表不如图。在平时用ppt做总结时&#xff0c;我们会经常用到图…...

Spring Bean实例化和初始化的过程

承接上文Spring Bean生命周期应用程序在运行过程中能否去读取当前系统的环境变量或系统属性?这里涉及到一个非常重要的接口Environment&#xff0c;System.getenv&#xff0c;System.getProperties都是获取当前系统环境变量&#xff0c;Environment接口的实现类AbstractEnviro…...

WorkTool企微机器人接入智能问答

一、前言 最新版的企微机器人已经集成 Chat &#xff0c;无需开发可快速搭建智能对话机器人。 从官方介绍看目前集成版本使用模型为 3.5-turbo。 二、入门 创建 WorkTool 机器人 你可以通过这篇快速入门教程&#xff0c;来快速配置一个自己的企微机器人。 实现的流程如图&…...

C导入正则库问题

环境 操作系统:win11 专业版 gcc: gcc (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0 编辑器&#xff1a;vscode 要求 在c中使用正则表达式 遇到的问题以及解决思路 C标准中并没有正则表达式库 从其他地方下载正则表达式库即可。 http://gnuwin32.sourcefo…...

尚融宝05-Node.js入门

目录 一、Node.js的概念 1、JavaScript引擎 2、什么是Node.js 二、下载和安装 1、下载和安装 2、查看安装是否成功 三、初始Node.js程序 1、运行一个程序 常见问题 2、文件的读取 3、服务器端程序 三、Node.js的作用 1、Node.js的应用场景 2、BFF 解决什么问题 …...

「SAP ABAP」OPEN SQL(八)【WHERE语句大全】

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后端的开发语言A…...

Ribbon负载均衡的原理(源码分析)

SpringCloud底层其实是利用了一个名为Ribbon的组件&#xff0c;来实现负载均衡功能的。1&#xff09;LoadBalancerIntercepor可以看到这里的intercept方法&#xff0c;拦截了用户的HttpRequest请求&#xff0c;然后做了几件事&#xff1a;1.request.getURI()&#xff1a;获取请…...

用sql计算两个经纬度坐标距离(米数互转)

目录 一、sql示例&#xff08;由近到远&#xff09; 二 、参数讲解 三、查询效果 - 距离&#xff08;公里 / 千米&#xff09; 四、查询效果 - 距离&#xff08;米&#xff09; 五、距离四舍五入保留后2位小数&#xff08;java&#xff09; 一、sql示例&#xff08;由近到远…...

C语言详解KMP算法

如果给你一个字符串 和 该字符串的一个子字符串 你能否快速找出该子字符串的所在位置我猜 这里会有一群杠精 说可以找到 真的吗 那下面这个字符串你可以一眼看出来吗你能找出来吗 如果能 算你眼神好 如果不能 那就看看接下来我怎么做你有想到暴力求解法吗&#xff1f;——来自百…...

redis在window上安装与自启动

需求&#xff1a; 客户window服务器使用redis&#xff0c;需要配置成在window服务中&#xff0c;并且可以随着电脑自启动服务。 下载 https://github.com/tporadowski/redis/releases打开上面的下载地址&#xff0c;这里我们下载zip压缩版本。 解压到待安装目录下&#xff…...

字符串匹配【BF、KMP算法】

文章目录:star:BF算法代码实现BF的改进思路:star:KMP算法&#x1f6a9;next数组&#x1f6a9;代码实现优化next数组最终代码⭐️BF算法 BF算法&#xff0c;即暴力(Brute Force)算法&#xff0c;是普通的模式匹配算法&#xff0c;BF算法的思想就是将主串S的第一个字符与模式串P…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...