引言
本文旨在为没有计算机科学背景的人士提供关于ChatGPT及类似AI系统(GPT-3、GPT-4、Bing Chat、Bard等)的工作原理的洞察。ChatGPT是一种聊天机器人——一种基于大型语言模型构建的对话式AI。这些肯定是些专业术语,我们将逐一解析。在此过程中,我们将讨论它们背后的核心概念。阅读本文不需要任何技术或数学背景。我们将大量使用隐喻来阐述这些概念。我们将讨论这些核心概念为何以这种方式工作,以及我们可以期待或不期待像ChatGPT这样的大型语言模型能做什么。
我们将要做什么呢?我们将会轻松地走过一些与大型语言模型和ChatGPT相关的术语,尽量避免使用行话。如果我必须使用专业术语,我会尽量用简单的语言解释。我们将从最基础的“什么是人工智能”开始,逐步深入。我会尽可能使用一些反复出现的比喻。我还会讨论这些技术的含义,包括我们应该期待它们做什么或不应该期待它们做什么。
开始吧!
什么是人工智能?
但首先,让我们从一些你可能经常听到的基本术语开始。什么是人工智能?
•人工智能:一个实体,如果人类做类似的事情,人们可能会合理地称之为智能的行为。
使用“智能”这个词来定义人工智能有点问题,但没有人能就“智能”的好定义达成一致。然而,我认为这种定义仍然相当合理。它基本上是说,如果我们观察到一些人造的东西,它做的事情既吸引人又有用,而且看起来有些非平凡,那么我们可能会称之为智能。例如,我们经常将“AI”这个术语归因于电脑游戏中的电脑控制角色。这些机器人中的大多数是简单的if-then-else代码(例如,“如果玩家在射程内则射击,否则移动到最近的大石头后面躲避”)。但是,如果它们做得很好,能够让我们保持参与和娱乐,并且没有做任何明显愚蠢的事情,那么我们可能会认为它们比实际上更为复杂。
一旦我们开始理解某样东西是如何运作的,我们可能就不会那么感到惊讶了,而是期待背后有更复杂的机制。这一切都取决于你对幕后发生的事情了解多少。
关键点是人工智能不是魔法。正因为它不是魔法,所以它是可以被解释的。
那么,让我们深入了解一下。
什么是机器学习?
另一个你经常会听到与人工智能联系在一起的术语是机器学习。
•机器学习:通过接收数据、形成模型,然后执行模型来创造行为的一种方式。
有时,手动创建一大堆if-then-else语句来捕捉一些复杂的现象,比如语言,是非常困难的。在这种情况下,我们尝试找到大量数据并使用可以在数据中找到模式的算法来建模。
但什么是模型呢?模型是某种复杂现象的简化。例如,模型车只是真实汽车的一个更小、更简单的版本,它具有许多相同的特征,但并不意味着要完全替代原始物品。模型车可能看起来很真实,并且对某些目的而言是有用的,但我们不能驾驶它去商店。
一张DALL-E生成的桌上模型车的图片。
就像我们可以制造一辆更小、更简单的汽车一样,我们也可以创建人类语言的更小、更简单的版本。我们使用术语大型语言模型,因为从使用它们所需的内存量的角度来看,这些模型确实是大型的。目前投入生产的最大型号模型,如ChatGPT、GPT-3和GPT-4,其规模之大需要在数据中心服务器中运行的庞大超级计算机来创建和运行。
什么是神经网络?
有许多方法可以从数据中学习模型。神经网络就是其中一种方式。这项技术大致基于人脑是由一个称为神经元的相互连接的脑细胞网络组成,这些脑细胞通过来回传递电信号,不知怎的让我们能够做所有我们所做的事情。神经网络的基本概念在1940年代被发明,而关于如何训练它们的基本概念则是在1980年代被发明的。神经网络非常低效,直到大约2017年,计算机硬件才足够好,能够大规模使用它们。
但我更喜欢用电路的比喻来思考神经网络,而不是大脑。你不需要成为一名电气工程师就能知道,电流会通过导线流动,我们有一种叫做电阻的东西,它使得电流更难通过电路的某些部分。
想象一下,你想制造一辆能够在高速公路上行驶的自动驾驶汽车。你已经在汽车的前面、后面和侧面装配了接近传感器。当有东西非常靠近时,接近传感器会报告1.0的值,当附近没有检测到任何东西时,会报告0.0的值。
你还对你的车进行了改装,以便机器人机制可以转动方向盘、踩下刹车和踩下油门。当油门接收到1.0的值时,它会使用最大加速度,而0.0意味着没有加速。同样,发送给刹车机制的1.0值意味着猛踩刹车,而0.0意味着不刹车。方向盘机制接收-1.0到+1.0的值,负值意味着向左转,正值意味着向右转,而0.0意味着保持直行。
你还记录了有关你如何驾驶的数据。当前方道路畅通时,你会加速。当前方有车时,你会减速。当左侧有车太靠近时,你会向右转并换道。当然,除非你右边也有车。这是一个涉及不同动作组合(向左转向、向右转向、加速或减速、刹车)的复杂过程,基于不同组合的传感器信息。
现在你需要将传感器与机器人机构连接起来。你怎么做呢?这不太清楚。所以你将每个传感器都连接到每个机器人执行器上。
神经网络作为连接传感器和执行器的电路。
当你开车上路时会发生什么呢?电流从所有传感器流向所有机器人执行器,汽车同时向左转向、向右转向、加速和刹车。这简直是一团糟。
当我们的一些传感器发送能量时,该能量会流向所有的执行器,汽车会同时加速、刹车和转向。
这样不行。所以我拿起我的电阻,开始将它们放置在电路的不同部位,这样可以让电能在某些传感器和某些机器人执行器之间更自由地流动。例如,我希望电能从前方接近传感器更自由地流向刹车,而不是方向盘。我还安装了一些被称为门的东西,它们会阻止电流的流动,直到积累足够的电量来触发开关(只有当前方接近传感器和后方接近传感器报告高数值时,才允许电流流动),或者只有在输入电力强度低时才向前发送电能(当前方接近传感器报告低值时,向加速器发送更多电力)。
但我应该把这些电阻和门放在哪里呢?我不知道。我开始随机地把它们放到各处。然后我再试一次。也许这次我的汽车驾驶得更好了,意味着有时它会在数据显示最好刹车的时候刹车,在数据显示最好转向的时候转向,等等。但它并没有做到所有事情都正确。并且有些事情它做得更糟(在数据显示最好刹车的时候却加速)。所以,我继续随机尝试不同的电阻和门的组合。最终,我会偶然发现一个运作得足够好的组合,我宣布成功。也许它看起来是这样的:
一个完全训练好的神经网络。较暗的线条代表电路中能量流动更自由的部分。中间的圆圈是门,它们可能会从下方积累大量能量,然后再将任何能量发送到顶部,或者即使下方几乎没有能量时也可能将能量发送到上方。
在现实中,我们并不是添加或减少门(它们始终存在),而是修改门的设置,使其在来自下方的能量较少时也能激活,或者需要更多来自下方的能量才能激活,或许在来自下方的能量非常少时释放大量能量。机器学习的纯粹主义者可能会对这种描述有点反感。技术上,这是通过调整称为偏置的东西来完成的,这在这类图表中通常不会显示,但如果用电路的比喻来说,可以被认为是一根直接插入电源的线进入每个门,然后可以像所有其他线一样被修改。
我们来试驾一下!
随机尝试实在是太糟糕了。一种叫做反向传播的算法在猜测如何改变电路配置方面相当有效。除了知道它通过对电路进行微小的调整,使电路的行为更接近数据所建议的动作,并且通过成千上万次的调整,最终能够得到与数据相近似的结果之外,这个算法的细节并不重要。
我们将电阻器和门电路称为参数,因为实际上它们无处不在,而反向传播算法所做的就是声明每个电阻器的强度是强还是弱。因此,如果我们知道电路的布局和参数值,那么整个电路就可以在其他汽车中复制。
什么是深度学习?
深度学习 是一个认识,我们可以在电路中放入其他东西,而不仅仅是电阻和门。例如,我们可以在电路中间放入一个进行加法和乘法计算的数学运算,然后再向前发送电流。深度学习仍然使用相同的基本增量技术来猜测参数。
什么是语言模型?
当我们做汽车的例子时,我们试图让我们的神经网络执行与我们的数据一致的行为。我们在问,我们是否能创建一个电路,以与驾驶员在类似情况下操作汽车的机制相同的方式来操纵这些机制。我们可以以相同的方式对待语言。我们可以查看人类编写的文本,并想知道一个电路是否能产生一系列单词,这些单词看起来与人类倾向于产生的单词序列非常相似。现在,当我们看到单词时,我们的传感器会触发,我们的输出机制也是单词。
我们在尝试做什么?我们尝试创建一个电路,它能够根据一系列输入单词猜测一个输出单词。例如:
“从前有一个____”
看起来应该在空白处填入“时间”,而不是“犰狳”。
我们倾向于用概率来谈论语言模型。数学上,我们将上面的例子写成:
如果你不熟悉这种符号表示,不用担心。这只是数学上的一种表达,意味着在给定一串单词“once”、“upon”和“a”的情况下,单词“time”的概率(P)。我们期望一个好的语言模型能够产生比单词“armadillo”更高的“time”单词概率。
我们可以将其概括为:
这意味着计算序列中第n个单词的概率,给定它之前的所有单词(位置在1到n-1之间的单词)。
但让我们稍微退后一点来看。想象一下老式打字机,那种有打字臂的。
这张图片是由DALL-E2生成的。看看所有那些打字臂!
但不同的是,与其说每个字母有一个不同的打字臂,不如说我们对每个单词都有一个打字器。如果英语有50,000个单词,那么这将是一台非常大的打字机!
不要想象汽车的网络,而是想象一个类似的网络,不同之处在于我们的电路顶部有50,000个输出,每个都连接着一个打击臂,对应每一个词。相应地,我们将有50,000个传感器,每个传感器检测不同输入词的存在。因此,我们在一天结束时所做的就是选择一个获得最高电信号的打击臂,那就是填入空白处的词。
我们的情况是这样的:如果我想制作一个简单的电路,输入一个单词并输出一个单词,我需要制作一个电路,它拥有50,000个传感器(每个单词一个)和50,000个输出(每个击键臂一个)。我只需将每个传感器和每个击键臂连接起来,总共需要50,000 x 50,000 = 25亿根电线。
每个底部的圆圈能感知一个单词。识别“once”这个单词需要50,000个感应器。那股能量通过某个任意网络被发送。顶部的所有圆圈都连接到每个单词的打击臂。所有的打击臂都会接收到一些能量,但是其中一个将会接收到比其他更多的能量。
这是一个庞大的网络!
但情况会更糟。如果我想要做“从前有一个___”的例子,我需要感知每一个输入位置的词语。我将需要50,000 x 3 = 150,000个传感器。连接到50,000个敲击臂,这意味着我需要150,000 x 50,000 = 75亿根电线。截至2023年,大多数大型语言模型能够处理4,000个单词,最大的能处理32,000个单词。我的眼睛都模糊了。
一个需要输入三个单词的网络,每个词需要50,000个传感器。
我们需要一些技巧来应对这种情况。我们将分阶段进行。
AI时代的职场新潮流
听说AI要来抢工作了?别担心,新岗位可比旧岗位有趣多了!想象一下,你从搬砖工升级成了机器人操作员,从算盘小能手变成了大数据分析师,这不是美滋滋吗?所以,社会生产效率提升了,我们也能更轻松地工作。不过,想成为AI界的佼佼者?那就得赶紧学起来,不然就会被同行们甩得连AI的尾巴都摸不着了!
一、大模型全套的学习路线
学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。
L1级别:AI大模型时代的华丽登场
L2级别:AI大模型API应用开发工程
L3级别:大模型应用架构进阶实践
L4级别:大模型微调与私有化部署
一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。
以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。