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

2024-02-25 13:40

本文主要是介绍[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/745653

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他