ChatGPT的生成原理原理神经网络翻译

2022年11月30日,一家名不见经传的公司(OpenAI)悄悄上线了一个产品ChatGPT。彼时,谁也没有想到这款产品会在短短几个月内风靡全球;而2023年3月14日GPT-4的发布更是激起了一场属于生成式人工智能(artificialintelligencegeneratedcontent,AIGC)的科技革命。对于普通人来说,面对这个正在给生产和生活带来巨大改变的人工智能产品,不禁会产生无数的疑问:

●ChatGPT为什么引起如此大的重视

●它的原理是什么

●它真的具备人类的智慧吗

●它将给人类社会带来哪些变化

比如我们问ChatGPT:“苹果是一种水果吗”,ChatGPT会基于这句话进行文字接龙,大概流程如下:

(1)考虑下一个可能的词汇及其对应的概率,如右表(为了方便理解只写了3个可能的形式)所示。

(2)基于上述概率分布,ChatGPT会选择概率最大的答案,即“是的”(因为其概率0.8明显大于其他选项)。

(3)此时这句话的内容变成“苹果是一种水果么是的”,ChatGPT会看下一个可能的词和对应概率是什么。

不断重复这个步骤,直到得到一个完整的回答。

从上面例子可以看出:

(1)不同于传统问答基于数据库或搜索引擎,ChatGPT的答案是在用户输入问题以后,随着问题自动生成的。

(2)这种生成本质上是在做文字接龙,简单来说是不断在所有可能词汇中选择概率最大的词汇来生成。

有些聪明的读者会有一个疑问,ChatGPT是怎么知道该选择什么词汇,又是如何给出各个可能词汇的概率呢这正是机器学习技术的神奇之处。

机器学习的核心:模仿人类进行学习

ChatGPT是机器学习的一个非常典型的应用,那么什么是机器学习呢

机器学习和模型训练卡通示意图

理解了机器学习是什么,另一个概念是机器学习模型的数学表达能力。机器学习模型本质上是想要尽可能接近真实世界对应的那个函数。然而正如我们不能指望仅仅通过几条直线就画出精美绝伦的美术作品,如果机器学习模型本身比较简单,比如高中学到的线性函数

Y=kx+b

那么它无论如何也不可能学习出一个复杂的函数。因此机器学习模型的一个重要考虑点就是模型的数学表达能力,当面对一个复杂问题的时候,我们希望模型数学表达能力尽可能强,这样模型才有可能学好。

过去几十年科学家发明了非常多不同的机器学习模型,而其中最具影响力的是一种叫作“神经网络”的模型。神经网络模型最初基于生物学的一个现象:人类神经元的基础架构非常简单,只能做一些基础的信号处理工作,但最终通过大脑能够完成复杂的思考。受此启发,科学家们开始思考是否可以构建一些简单的“神经元”,并通过神经元的连接形成网络,从而产生处理复杂信息的能力。

基于此,神经网络的基础单元是一个神经元的模型,其只能进行简单的计算。假设输入数据有2个维度(x1,x2),那么这个神经网络可以写成

y=σ(w1x1+w2x2+b)

从神经元到神经网络(a)神经元架构(生物);(b)基础神经元架构(人工智能);(c)简单多层感知机。

上述神经元的数学表达能力非常弱,只是一个简单的线性函数和一个激活函数的组合;但是我们可以很轻松地把模型变得强大起来,方案就是增加更多的“隐藏节点”。在这个时候虽然每个节点依然进行非常简单的计算,但组合起来其数学表达能力就会变得很强。感兴趣的读者可以尝试类比上述公式写出下图中简单多层感知机对应的公式,将会得到一个非常复杂的公式。这个模型也是日后深度学习的基础模型,即多层感知机[1]。

多层感知机的原理非常简单,但是透过它可以很好地了解神经网络的原理:虽然单个神经元非常简单,但是通过大量节点的组合就可以让模型具备非常强大的数学表达能力。而之后整个深度学习的技术路线,某种程度上就是沿着开发并训练更大更深的网络的路线前进的。

深度学习新范式:预训练+微调范式与ScalingLaw

深度学习领域从2012年开始蓬勃发展,更大更深且效果更好的模型不断出现。然而随着模型越来越复杂,从头训练模型的成本越来越高。于是有人提出,能否不从头训练,而是在别人训练好的模型基础上训练,从而用更低的成本达到更好的效果呢

例如,科学家对一个图像分类模型进行拆分,希望研究深度学习模型里的那么多层都学到了什么东西[2]。结果发现,越接近输入层,模型学到的是越基础的信息,比如边、角、纹理等;越接近输出层,模型学到的是越接近高级组合的信息,比如公鸡的形状、船的形状等。不仅仅在图像领域如此,在自然语言、语音等很多领域也存在这个特征。

深度神经网络中不同层的输出接近输入层(左侧)一般是基础信息,接近输出层(右侧)一般是某个具体的物体等信息[2]。

基础信息往往是领域通用的信息,比如图像领域的边、角、纹理等,在各类图像识别中都会用到;而高级组合信息往往是领域专用信息,比如猫的形状只有在动物识别任务中才有用,在人脸识别的任务就没用。因此一个自然而然的逻辑是,通过领域常见数据训练出一个通用的模型,主要是学好领域通用信息;在面对某个具体场景时,只需要使用该场景数据做个小规模训练(微调)就可以了。这就是著名的预训练+微调的范式。

预训练+微调这一范式的出现与普及对领域产生了两个重大影响。一方面,在已有模型基础上微调大大降低了成本;另一方面,一个好的预训练模型的重要性也更加凸显,因此各大公司、科研机构更加愿意花大量成本来训练更加昂贵的基础模型。那么大模型的效果到底与什么因素有关呢OpenAI在2020年提出了著名的ScalingLaw,即当模型规模变大以后,模型的效果主要受到模型参数规模、训练数据规模和使用算力规模影响[3]。

ScalingLaw积极的一面是为提升模型效果指明了方向,只要把模型和数据规模做得更大就可以,这也是为什么近年来大模型的规模在以指数级增长,以及基础算力资源图形处理器(graphicsprocessingunit,GPU)总是供不应求;但ScalingLaw也揭示了一个让很多科学家绝望的事实:即模型的每一步提升都需要人类用极为夸张的算力和数据成本来“交换”。大模型的成本门槛变得非常之高,从头训练大模型成了学界的奢望,以OpenAI、谷歌、Meta、百度、智谱AI等企业为代表的业界开始发挥引领作用。

GPT的野心:上下文学习与提示词工程

除了希望通过训练规模巨大的模型来提升效果以外,GPT模型在发展过程中还有一个非常雄大的野心:上下文学习(in-contextlearning)。

正如前文所述,在过去如果想要模型“学”到什么内容,需要用一大堆数据来训练我们的模型;哪怕是前文讲到的预训练+微调的范式,依然需要在已训练好的模型基础上,用一个小批量数据做训练(即微调)。因此在过去,“训练”一直是机器学习中最核心的概念。但OpenAI提出,训练本身既有成本又有门槛,希望模型面对新任务的时候不用额外训练,只需要在对话窗口里给模型一些例子,模型就自动学会了。这种模式就叫作上下文学习。

下面是一些中文翻译成英文的例子:

我爱中国→IloveChina

我喜欢写代码→Ilovecoding

人工智能很重要→AIisimportant

现在我有一句中文,请翻译成英文。这句话是:“我今天想吃苹果”。

这时候原本“傻傻的”模型就突然具备了翻译的能力,能够自动翻译了。

有过ChatGPT使用经历的读者会发现,这个输入就是提示词(prompt)。在ChatGPT使用已相当普及的今天,很多人意识不到这件事有多神奇。这就如同找一个没学过英语的孩子,给他看几个中英文翻译的句子,这个孩子就可以流畅地进行中英文翻译了。要知道这个模型可从来没有专门在中英文翻译的数据集上训练过,也就是说模型本身并没有中英文翻译的能力,但它竟然通过对话里的一些例子就突然脱胎换骨“顿悟”了中英文翻译,这真的非常神奇!

ChatGPT原理总结如下:

(1)ChatGPT本质是在做文字接龙的游戏,在游戏中它会根据候选词汇的概率来挑选下一个词。

(2)ChatGPT背后是一个非常庞大的神经网络,比如GPT-3有1700亿个参数(训练成本在100万美元以上)。

(3)基于庞大的神经网络,面对一句话时,模型可以准确给出候选词汇的概率,从而完成文字接龙的操作。

(4)这种有巨大规模进行语言处理的模型,也叫作大语言模型(largelanguagemodel)。

(5)以GPT为代表的大语言模型具备上下文学习的能力,因此一个好的提示词至关重要。

参考文献:

[1]RumelhartDE,HintonEG,WilliamsRJ.Learningrepresentationsbyback-propagatingerrors.Nature,1986,323(6088):533–536.

[3]KaplanJ,McCandlishS,HenighanT,etal.Scalinglawsforneurallanguagemodels.arXivpreprintarXiv:2001.08361,2020.

[4]ZhaoWX,ZhouK,LiJ,etal.Asurveyoflargelanguagemodels.arXivpreprintarXiv:2303.18223,2023.

[5]BoikoDA,MacKnightR,KlineB,etal.Autonomouschemicalresearchwithlargelanguagemodels.Nature,2023,624(7992):570-578.

THE END
1.chatgpt怎么使用图片?Worktile社区6. 答案生成:使用训练好的ChatGPT模型对输入的问题和图像进行推断,生成对应的答案。可以使用Beam Search等策略来改进答案的质量。 需要注意的是,训练一个同时处理文本和图像的ChatGPT模型是一项复杂的任务,需要大量的数据和计算资源。此外,模型训练的过程可能需要较长的时间,需要有耐心和合适的硬件设备。 https://worktile.com/kb/ask/536988.html
2.图像识别:结合ChatGPT与图像识别技术Q: 如何将ChatGPT与图像识别技术结合使用? A: 将ChatGPT与图像识别技术结合使用的主要步骤包括图像预处理、图像描述生成、文本描述处理、自然语言处理以及结果解释等。 Q: 将ChatGPT与图像识别技术结合使用的实际应用场景有哪些? A: 将ChatGPT与图像识别技术结合使用的实际应用场景包括自动驾驶汽车、物流和仓库管理、医https://blog.csdn.net/universsky2015/article/details/135780523
3.2023ChatGPT人工智能新纪元.pdf1.1.2ChatGPT并不完美 虽然ChatGPT模型与GPT-3模型相比,性能提高了一个层次,但 ChatGPT依然有不完美的地方。 实际上,ChatGPT和GPT-3类似人类的输出和惊人的通用性只是优 秀技术的结果,而不是真正的“聪明”。不管是过去的GPT-3还是现在的 ChatGPT,都会犯一些可笑的错误,尤其是文化常识问题、数学计算题 等。而https://max.book118.com/html/2024/0112/5304213221011041.shtm
4.chatgpt图计算pert图怎么算footballboy的技术博客项目中各个工序的工作时间不肯定,通常引入概率计算方法得出工序时间。 3,PERT网络分析法的工作步骤 A,确定完成项目必须进行的每一项有意义的活动,完成每项活动都产生事件或结果 B,确定活动完成的先后次序 C,绘制活动流程从起点到终眯的图形,结果得到一幅箭线流程图,称之为PERT网络: https://blog.51cto.com/u_12196/11533769
5.如何用chatgpt辅助制几何图绘制几何图:根据ChatGPT提供的指导,使用绘图工具(例如Python中的matplotlib库)将几何图绘制出来。根据模型提供的信息,可以计算出坐标、边长、角度等,并将其绘制在图像上。 检查和修正:绘制完几何图后,检查图形的正确性并与ChatGPT进行比对。如果有错误或不符合预期的地方,可以进一步询问模型并修正图形。 https://www.chatairc.com/14085/
6.教7岁小孩搞懂ChatGPT树龙:所以大语言模型非常耗费算力。随着大语言模型越来越多,GPU(图形处理器)的需求越来越大,生产GPU的公司这两年都赚翻了。为什么不用传统电脑使用的CPU(中央处理器)呢?因为训练大语言模型需要大量、复杂的并行(同时进行的)计算,而这是GPU的强项。 小宝:那相比之下,人类的大脑真是太强大了,拥有100倍ChatGPT的神https://36kr.com/p/2596804134330501
7.AIGC从入门到实战:ChatGPT+Midjourney+StableDiffusion+行业应用近年来,人工智能领域出现了若干现象级产品,如耳熟能详的AlphaGo、AlphaFold和ChatGPT,这些现象级产品表现出较强的内容生成能力(即“无中生有”):AlphaGo根据当前落子局势,从对已有落子的学习中生成一个策略,以更好应对当前落子;AlphaFold从蛋白质的基因序列和其三维空间结构的配对数据中进行学习后,按照给定的基因序列输https://www.epubit.com/bookDetails?id=UB836243ed3382a
8.ChatGPT的狂飙之路相同的是,他们都表现出了对 ChatGPT 能力的极大惊叹,态度明显趋向于积极。由此可见,对于 ChatGPT 人们也呈现出一种既爱又恨的复杂心态。一方面,它可以大幅提高工作效率,把人们从繁琐的重复劳动中解放出来;另一方面,“AI或将取代人类”的阴云恐怕将一直笼罩在人类头顶之上。事实上,新闻、高等教育、图形和软件设计等http://www.xinminweekly.com.cn/lunbo/2023/02/16/18541.html
9.对话ChatGPT一次产品视角的GPT功能测试(基于gpt3.5模型)阿里的千义百问邀请码还没下来,故没有办法做对照测试,于是找了个套壳的GPT 3.5,借着慕课网的这次活动,从如下几个维度进行简单的测试,并将测试结果和Question:请给出通用的图形数字验证码的代码示例,分别用C#和java实现,并给出详细注释 Answer:由于图形数字验证码的实现方式和具体需求有关,因此我提供一种通用https://www.imooc.com/article/334971
10.用ChatGPT画流程图——人人都是提示工程师(10)5.3 用 ChatGPT 画流程图 流程图是一种用于描述流程或过程的图形化工具,通常用于展示 复杂流程的步骤、控制流程、决策路径和数据流等。在各个领域中,流程图都有广泛的应用。以下是一些常见的应用场景。 ·项目管理:流程图可以用于展示项目的整体流程和各个阶段的 具体步骤,帮助项目管理者与团队成员更好地了解项目的http://www.51testing.com/mobile/view.php?itemid=7799373
11.GPT的背后,从命运多舛到颠覆世界,人工神经网络的跌宕80年但该领域在学术界与产业界的飞速发展还是要等到17年前,硬件方面的突破——通用计算GPU芯片的出现,于是,才有了今天,随着ChatGPT等大型语言预训练神经网络模型,成为广为人知的名字。 从一定意义上,人工神经网络的成功是一种幸运,因为,不是所有的研究,都能等到核心的关键突破,等到万事齐备。在更多的领域,技术的突破出https://wallstreetcn.com/articles/3689779?keyword=w