[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

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详