[GPT]Andrej Karpathy微软Build大会GPT演讲(下)--该如何使用GPT助手

2023-12-14 13:01

本文主要是介绍[GPT]Andrej Karpathy微软Build大会GPT演讲(下)--该如何使用GPT助手,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

该如何使用GPT助手--将GPT助手模型应用于问题

现在我要换个方向,让我们看看如何最好地将 GPT 助手模型应用于您的问题。

现在我想在一个具体示例的场景里展示。让我们在这里使用一个具体示例。

假设你正在写一篇文章或一篇博客文章,你打算在最后写这句话。

加州的人口是阿拉斯加的 53 倍。因此出于某种原因,您想比较这两个州的人口。

想想我们自己丰富的内心独白和工具的使用,以及在你的大脑中实际进行了多少计算工作来生成这最后一句话。

这可能是你大脑中的样子:

好的。对于下一步,让我写博客——在我的博客中,让我比较这两个人群。

好的。首先,我显然需要得到这两个人群。

现在我知道我可能根本不了解这些人群。

我有点,比如,意识到我知道或不知道我的自我知识;正确的?

我去了——我做了一些工具的使用,然后我去了维基百科,我查找了加利福尼亚的人口和阿拉斯加的人口。

现在我知道我应该把两者分开。

同样,我知道用 39.2 除以 0.74 不太可能成功。

那不是我脑子里能做的事情。

因此,我将依靠计算器。

我打算用一个计算器,把它打进去,看看输出大约是 53。

然后也许我会在我的大脑中做一些反思和理智检查。

那么53有意义吗?

好吧,这是相当大的一部分,但是加利福尼亚是人口最多的州,也许这看起来还可以。

这样我就有了我可能需要的所有信息,现在我开始写作的创造性部分了。

我可能会开始写类似,加利福尼亚有 53 倍之类的东西,然后我对自己说,这实际上是非常尴尬的措辞,让我删除它,然后再试一次。

在我写作的时候,我有一个独立的过程,几乎是在检查我正在写的东西,并判断它是否好看。

然后也许我删除了,也许我重新构造了它,然后也许我对结果感到满意。

基本上,长话短说,当你创造这样的句子时,你的内心独白会发生很多事情。

这里Andrej从一个具体的例子开始讲起,首先假设我们需要写一篇博客,在博客的最后希望写一句话“加州的人口是阿拉斯加的53倍”,为了能够给出这个结论,我们的大脑中需要进行很多前置工作,如下图所示,先想一下我得知道他们各自的人口是多少,但是这不在我的脑海中,因此我需要去检索。然后通过wiki我知道了加州有39.2M的人,阿拉斯加有0.74M的人,然后我需要计算一下两者的除法,但我没法心算,所以我用计算器算了一下,得到39.2/0.74=53. 快速的在脑海中确认一下,这个数值是否合理,加州人确实比阿拉斯加多很多,感觉应该合理,于是我确信加州的人是阿拉斯加的53倍,并写到我的博客中,在写的过程中可能还会觉得辞藻不够美妙,反复修改一下。 所以为了达成这个目标,我的脑海中需要经过很多很多的事项才可以。

但是,当我们在其上训练 GPT 时,这样的句子是什么样的?

从 GPT 的角度来看,这只是一个标记序列。因此,当 GPT 读取或生成这些标记时,它只会进行分块、分块、分块,每个块对每个标记的计算工作量大致相同。

这些 Transformer 都不是很浅的网络,它们有大约 80 层的推理,但 80 仍然不算太多。

这个Transformer将尽最大努力模仿...但是,当然,这里的过程看起来与你采用的过程非常非常不同。

特别是,在我们最终的人工制品中,在创建并最终提供给 LLM 的数据集中,所有内部对话都被完全剥离(只给出最后结果作为训练数据)。

并且与您不同的是,GPT 将查看每个标记并花费相同的算力去计算它们中的每一个,实际上,你不能指望它对每个标记做太多的工作。

基本上,这些Transformer就像标记模拟器。它们不知道自己不知道什么,它们只是模仿(预测)下一个标记;它们不知道自己擅长什么,不擅长什么,只是尽力模仿(预测)下一个标记。

它们不反映在循环中,它们不检查任何东西,它们在默认情况下不纠正它们的错误,它们只是对标记序列进行采样。

它们的头脑中没有单独的内心独白流,它们正在评估正在发生的事情。

现在它们确实有某种认知优势,我想说,那就是它们实际上拥有大量基于事实的知识,涵盖大量领域,因为它们有几百亿个参数,这是大量存储和大量事实。

而且我认为,它们也有相对大而完美的工作记忆。

因此,任何适合上下文窗口的内容都可以通过其内部自注意机制立即供Transformer使用,它有点像完美的记忆。它的大小是有限的,但Transformer可以非常直接地访问它,它可以无损地记住其上下文窗口内的任何内容。

这就是我比较这两者的方式。

我之提出所有这些,是因为我认为在很大程度上,提示只是弥补了这两种架构之间的这种认知差异。就像我们人类大脑和 LLM 大脑(的比较),你可以这么看。

这样的一个过程其实就是一连串的token序列。在GPT处理时,他只会一块一块又一块的逐个去处理这些token,花差不多的时间去计算下一个词是什么,他并不像我们人类一下具有丰富的心理活动。他不知道他知道什么,他只是去模拟下一个词。他不知道什么好什么坏,他只是去模拟下一个词。他不会反思,不会检查,不会修正自己的问题。他的优势在于具备大量的基础知识,涵盖了大量的领域,保存在他的几百亿的参数中,并且对于他们的context windows可以完美处理。

人们发现有一件事,在实践中效果很好。

特别是如果您的任务需要推理,您不能指望Transformer对每个标记进行太多推理,因此

这篇关于[GPT]Andrej Karpathy微软Build大会GPT演讲(下)--该如何使用GPT助手的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/492616

相关文章

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地