草庐IT

ChatGPT 速通手册——ChatGPT 的极简理解

云哲-吉吉2021 2023-12-22 原文

Stephen Wolfram 写了一篇文章,深入浅出的介绍了 ChatGPT 的原理。不过对于本书的读者,或者说 ChatGPT 的使用者们而言,是否掌握 Transformer、BERT、GPT、zero-shot、InstructGPT 的原理,并不影响我们基于 ChatGPT 技术进行实际运用和上层应用开发。

我们尝试让 ChatGPT 替我们总结一下文章,尽量以完全没有 IT 知识的水平来讲解。因为 ChatGPT 不能联网,所以借用 bing chat 来实现:

Q: 请帮我概述下面这个网页的内容 https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/ 按照这个内容,讲述一下 ChatGPT 的原理,要完全不懂 IT 的人也能听懂的那样浅显。 A: 好的,我可以尝试用一种简单的方式来讲述 ChatGPT 的原理。

您可以把 ChatGPT 想象成一个非常聪明的学生,它的老师给了它很多很多的书籍、文章、对话等等,让它仔细阅读和学习。这些书籍、文章、对话都是从互联网上收集来的,所以它们涵盖了各种各样的话题和风格。

ChatGPT 通过阅读这些文本,就能够学习到人类是如何使用语言来表达自己的想法和情感的。它也能够学习到不同类型和主题的文本有不同的结构和逻辑。比如说,一篇新闻报道通常会先说最重要的事实,然后再补充一些细节和背景信息;而一首诗歌通常会用比喻和押韵来增加美感和节奏。

当 ChatGPT 要生成一段文本时,它会先看看已有的文本是什么类型和主题的,然后根据自己学习到的规律和特征,来预测下一个最合理的单词是什么。比如说,如果已有的文本是“今天天气真好”,那么下一个最合理的单词可能是“我”、“我们”、“你”等等。然后 ChatGPT 会把这个单词加到已有的文本后面,再重复这个过程,直到生成一段完整的文本。

这就是 ChatGPT 的基本原理,您能听懂吗?

Q: 那么 ChatGPT 是怎么判断一个单词是否合理呢? A: ChatGPT 是怎么判断一个单词是否合理呢?这是一个很好的问题。

ChatGPT 的判断依据是它学习到的语言模型,也就是它对人类语言的规律和特征的统计和分析。它会根据已有的文本,计算出每个可能的单词出现在下一个位置的概率,然后选择概率最高的那个单词。

比如说,如果已有的文本是“今天天气真好”,那么 ChatGPT 会根据它阅读过的所有文本,计算出“我”、“我们”、“你”等等单词出现在下一个位置的概率。如果“我”这个单词出现在下一个位置的概率是0.8,“我们”是0.1,“你”是0.05,其他单词都是0.01或更低,那么 ChatGPT 就会选择“我”这个单词,因为它有最高的概率。

当然,这个概率并不是绝对准确的,因为它只能反映 ChatGPT 学习到的语言模型,而不一定能反映真实世界中人类语言的多样性和复杂性。所以有时候 ChatGPT 也会生成一些不合理或者错误的单词,比如说“今天天气真好猫”。这就需要我们对 ChatGPT 的输出进行一些检查和修正。

Q: 那么 ChatGPT 是如何学习到语言模型的呢? A: ChatGPT 是如何学习到语言模型的呢?这是一个很深入的问题。

ChatGPT 的学习过程是基于一个神经网络模型,也就是一种可以模拟人类大脑神经元之间连接和传递信息的计算机程序。神经网络模型有很多层,每一层都有很多节点,每个节点都有一些权重和偏置,这些权重和偏置就决定了节点如何处理输入和输出信息。

ChatGPT 的神经网络模型有175亿个参数(编者注:其实是 1750 亿个,bing chat 可能直译 175B 出错了),也就是175亿个权重和偏置。这些参数在初始时是随机设置的,所以 ChatGPT 一开始并不知道任何关于语言的知识。但是当 ChatGPT 阅读了大量的文本后,它就会根据文本中单词之间的关系,调整自己的参数,使得自己能够更好地预测下一个单词。

比如说,如果 ChatGPT 阅读了很多句子中都出现了“我爱”和“你”的组合,那么它就会增加“我爱”后面出现“你”的概率,并且减少其他单词的概率。这样 ChatGPT 就学习到了“我爱你”是一个常见的语言表达方式。

通过不断地阅读和调整参数,ChatGPT 就能够逐渐形成一个语言模型,也就是对人类语言规律和特征的统计和分析。这个语言模型就储存在 ChatGPT 的神经网络模型中,可以用来生成新的文本。

image::images/begin/bingchat-explain.png[]

事实上,你还可以根据 bing chat 给出的提示,继续问下去,了解ChatGPT 的神经网络算法等等。但对于普通用户而言,了解到这里,已经足够了。

为了方便,我把这些内容抽象成最简单的一句话:GPT 是按概率,一个接一个单词的输出,同时为了争取全局最优,有时也会在单个词时选择概率不是最高的。

“全局最优”这个概念很容易让人联想到围棋。人工智能领域的上一轮高潮,也正是 2016 年震惊世界的 alphago 围棋 AI。多年后,现在几乎所有围棋爱好者在看棋的时候,都会说类似这样的话:某某棋手的 AI 吻合度是多少;某一手是 AI 最优选;某一手下完以后,AI 胜率涨跌了多少……

但围棋终究是有限集合,一个棋盘就是 19 x 19 路黑白两色棋子。而人类语言无穷无尽,长篇小说的入门标准是 5 万字,严肃文学中最长小说的世界纪录是法国作家路易•法利古尔的《善心人》207 万字,网络小说中最长的是起点中文网明宇的《带着农场混异界》4385 万字(还在连载中)。此外,起点中文网曾经有人上传过一本用 VB 编程语言输出的小说《宇宙巨校闪级生》1.7 亿字,被起点以非人类原创为由下架。

所以,从“全局最优”这个角度来说,ChatGPT 在人类语言领域达到的高度,还远远比不上 alphago 在围棋领域的高度。做个不怎么贴切的对比,ChatGPT 大概也就是刚开始总结围棋“定式”的状态吧。

本节的原理解释不是为了真的阐述数学原理,而是佐证我们不应该过于相信 ChatGPT 真的是上帝式的强人工智能——换句话说:不是 ChatGPT 完成了很难的事情,而是这个事情过去被人类高估了难度。我们甚至可以做个更直接一点的比喻,ChatGPT 能写论文,是因为大多数“水”论文本来就是有迹可循的套路文章。有这个合理的心理预期,我们就可以继续接下来的学习练习了。

有关ChatGPT 速通手册——ChatGPT 的极简理解的更多相关文章

  1. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  2. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  3. TimeSformer:抛弃CNN的Transformer视频理解框架 - 2

    Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图

  4. ruby - 易于初学者理解的 Ruby 库 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭3年前。Improvethisquestion我正处于学习Ruby的阶段,我想查看一些小型库的源代码以了解它们是如何构建的。我不知道什么是小型图书馆,但希望SO能推荐一些易于理解的图书馆来学习。因此,如果有人知道一两个非常小的库,这是新手Rubyists学习的好例子,请推荐!我想使用Manveru'sInnatelib,因为它试图保持在2000LOC以下,但我还不熟悉其中经常使用的Ruby速记。也许大约100-5

  5. ruby - 无法理解 `puts{}.class` 和 `puts({}.class)` 之间的区别 - 2

    由于匿名block和散列block看起来大致相同。我正在玩它。我做了一些严肃的观察,如下所示:{}.class#=>Hash好的,这很酷。空block被视为Hash。print{}.class#=>NilClassputs{}.class#=>NilClass为什么上面的代码和NilClass一样,下面的代码又显示了Hash?puts({}.class)#Hash#=>nilprint({}.class)#Hash=>nil谁能帮我理解上面发生了什么?我完全不同意@Lindydancer的观点你如何解释下面几行:print{}.class#NilClassprint[].class#A

  6. ruby - 如何理解 Ruby 中的发送者和接收者? - 2

    我很难理解Ruby中sender和receiver的实际含义。它们一般是什么意思?到目前为止,我只是将它们理解为方法调用和获取其返回值的调用。但是,我知道我的理解还远远不够。谁能给我一个Ruby中发送者和接收者的具体解释? 最佳答案 面向对象中的一个核心概念是消息传递和早期概念化,这在很大程度上借鉴了计算的Actor模型。艾伦·凯(AlanKay)创造了面向对象一词并发明了最早的OO语言之一SmallTalk,他拥有voicedregretatusingatermwhichputthefocusonobjectsinsteadofo

  7. ruby-on-rails - Rails - 理解 application.js 和 application.css - 2

    rails新手。只是想了解\assests目录中的这两个文件。例如,application.js文件有如下行://=requirejquery//=requirejquery_ujs//=require_tree.我理解require_tree。只是将所有JS文件添加到当前目录中。根据上下文,我可以看出requirejquery添加了jQuery库。但是它从哪里得到这些jQuery库呢?我没有在我的Assets文件夹中看到任何jquery.js文件——或者直接在我的整个应用程序中没有看到任何jquery.js文件?同样,我正在按照一些说明安装TwitterBootstrap(http:

  8. 智能客服 | 浅谈人工智能聊天机器人ChatGPT - 2

    2022年底,OpenAI的预训练模型ChatGPT给人工智能领域的爱好者和研究人员留下了深刻的印象和启发,他展现的惊人能力将人工智能的研究和应用热度推向高潮,网上也充斥着和ChatGPT的各种聊天,他可以作诗、写小说、写代码、讨论疫情问题等。下面就是一些他的神回复:人命关天的坑: 写歌,留给词作者的机会不多了。。。 回答人类怎么样面对人工智能: 什么是ChatGPT?借用网上的一段介绍,ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动

  9. 【ChatGPT】ChatGPT 的 N 种用法 - 2

    目录ChatGPT简介技术原理应用未来发展ChatGPT的10 种用法ChatGPT简介ChatGPT是一种基于深度学习的大型语言模型,由OpenAI公司开发。技术原理GPT是GenerativePre-trainedTransformer的缩写,意为生成式预训练变压器。它的技术原理是使用了一个基于注意力机制的变压器(Trans

  10. ruby - 你如何理解 Ruby 中的这个三元条件? - 2

    我在某些代码中遇到了三元组,但我无法理解条件:str.split(/',\s*'/).mapdo|match|match[0]==?,?match:"somestring"end.join我确实理解我是在某些点上拆分字符串并将总结果转换为数组,然后依次处理数组的每个元素。除此之外,我不知道发生了什么。 最佳答案 一种(稍微)不那么令人困惑的写法是:str.split(/',\s*'/).mapdo|match|ifmatch[0]==?,matchelse"somestring"endend.join我认为多行三元语句很糟糕,尤其是

随机推荐