序:我来了,我看见,我征服
GPT,是的,你又看到了这个词,我猜这已经你最近看到的第 N 次。ChatGPT,或者说是各种 GPT 产品以及它们的衍生应用,热度确实是火爆到不行。无论在哪儿你都能看到铺天盖地,各式各样对 GPT 的讨论,热门程度基本覆盖了各行各业和不同阶层的人。也不愧有人说它是真正的时代革命,因为 AGI(通用型人工智能)已经、正在、将要影响我们每个人的人生轨迹。
随着广泛的讨论,我们已经可以在互联网上看到很多 GPT 有趣的用法,GPT 产品也层出不穷。但是除了让它变成主人专属的猫娘、与弱智吧问题大战 300 回合、或者想方设法绕过限制找出 bug、无脑叫嚣着自己要失业以外,大家更应该看到这背后将要出现的各种改变,以及 AGI 对自己、对整个世界的影响,正视它,了解它,掌握它,让它变成自己生活工作中更强的助力,让自己更加适应即将到来的新世界。
GPT4.0 对于这个世界未来的寄语
在各种 GPT 相关的视频文章底下,大众对于 GPT 类人工智能两极分化的观点,可以从中窥探一二:有些人惶惶不可终日,认为 GPT 明天就能改变世界,推翻一切旧秩序;而有些人则满不在乎,认为这不过是一些奇技淫巧,只是一个搜索引擎以及数据库集合罢了。甚至有人认为背后其实是很多个客服在打字 —— 不开玩笑,是真的有人这样认为。
不管你是同意与否,时代的车轮正在滚滚而来,并且终将碾压旧时代,就像是之前的蒸汽机器时代、计算机时代、互联网时代,而这个时代叫做 —— AGI(通用人工智能)。如果你将通用型人工智能看成之前那些改变时代的东西,相信能更好地感受到现在和之前时代来临中的众生相:有人畏惧,有人激动,有人鼓吹,有人批判,有人学习,有人用它助自己一臂之力,也有人反抗,不一而足。
就像是马车车夫面对福特汽车,纺织女工面对纺织机,上面提到的对 GPT 的认知都是不全面的,而造成这些不全面认知的原因,就是大部分人并没有真正了解,或者使用过 GPT,只是凭着自己的人生经验以及人生观去猜测它「是什么」 —— 这倒是和 GPT 本身的原理十分相像。就像是把无人机当成神明的原始部落,对通用型人工智能手足无措,乃至恐惧抵触也就不足为奇。
如同其他新时代的出现,你我每一个普通人在 AGI 时代中所需要做的,就是正视通用型人工智能,学习它的原理,找准自己在这个时代中的新定位。不管什么时候,只要做好准备,任何时代都无可畏惧,并保持激动乐观的心态迎接各种前所未见激动人心的新事物。
逐渐活跃的 AGI 行业就业市场GPT 是什么?
俗话说,知己知彼,才能百战不殆,知其然,更要知其所以然。无论你是人工智能的支持者,想用现在大火的各种 GPT 工具来帮助自己,还是人工智能的反对者,想找出 GPT 的缺陷和危害,首先要做的就是客观地了解它。
我算是很早接触到 NLP 这个领域,并且在 GPT 刚被提出来的时候,就开始了解这个概念。据我的经验来看,中文互联网上关于 GPT 模型的资料一直较为匮乏,直到现在 ChatGPT 被大众广泛认知,相关的资料数量和质量才开始增长。
但直到现在,如果大家想了解 GPT 是什么,怎么用好它,中文互联网上还是很难找到足够的相关资料,读者需要从众多虚假主观信息中,找到自己想要的内容。而且这些资料大多要么有着一定的获取门槛,要么就是不太准确客观,要么就是已经假定读者有一定的基础,理解难度较高。普通读者要么去啃生硬的论文,学习很多前置知识,要么只能得到一些片面的了解。
本栏目开始的内容,就是要让读者能够以比较少的基础,去轻松理解 GPT 的原理以及它的上下限。
如果你希望得到更多权威客观的 GPT 领域论文和资料,我会在本文最后放上一些官方、有权威性与可信度的论文以及文章。
先导概念:用生活经验理解 GPT
在继续往下讨论 GPT 的根本原理和机制前,我们先来热身一下。对于大部分没有接触过人工智能领域的读者,可以利用自己的生活经验,尝试理解下面这个例子,在详细解释原理之前,能对「GPT 大概是什么」快速产生比较感性的理解。
想象 GPT 是一位语言天才,他擅长制作一种特殊的串联词语游戏。这个游戏的目标是在给定的起始词汇后,找到一系列相关的词汇,每个词汇之间都有一定的联系。GPT 通过大量的阅读和学习,了解了词汇之间的各种关系和搭配。
当你向 GPT 提问时,它会像在进行这个串联词语游戏一样,从你的问题出发,寻找与问题相关的词汇和信息。然后,GPT 会按照逻辑顺序和语法规则,将这些词汇串联起来,形成一个完整的回答。
例如,你问 GPT:「蜜蜂是如何酿造蜂蜜的?」
GPT 会从问题中提取关键词「蜜蜂」和「蜂蜜」,并根据自己的知识,找到与这些词汇相关的其他词汇,比如「花粉」「蜜腺」和「蜂巢」。接着,GPT 会按照正确的语法和逻辑关系,将这些词汇组织成一个完整的回答:「蜜蜂通过采集花蜜,将其储存在蜜腺中。在蜜腺内,花蜜逐渐变成蜂蜜。之后,蜜蜂将蜂蜜运回蜂巢,储存在蜂巢的蜜脾中」
这个例子展示了 GPT 如何从输入的问题中提取关键信息,并根据自己的知识和经验生成相关的回答。这是一个比较笼统的解释,想必现在你的心里肯定会有很多疑问,没关系,接下来就让我们带着这些疑问,来详细了解 GPT 是如何实现这些神奇效果的。
科学家如何解释 G,P 和 T?
无论是 AI 还是任何领域的事物,一般这类技术从名字就可以看出来它的原理和技术。
那么按照惯例,我们先从 GPT 的命名上来看一下它的原理:GPT是「Generative Pre-trained Transformer」的缩写,意为生成式预训练变换器。接下来,我们先看看传统技术流方式如何解释 G、P、T 三个字母所代表的含义:
G 代表 Generative(生成式):这是一种机器学习模型,其目标是学习数据的分布,并能生成与训练数据相似的新数据。在自然语言处理(NLP)领域,生成式模型可以生成类似于人类所写的文本。GPT模型作为一个生成式模型,能够根据给定的上下文生成连贯的文本。
P 代表 Pre-trained(预训练):预训练是深度学习领域的一种常见方法,通过在大规模数据集上进行训练,模型学习到一般的知识和特征。这些预训练的模型可以作为基础模型,针对具体任务进行微调。GPT模型通过预训练,在无标签的大规模文本数据集上学习语言模式和结构,为后续的任务提供基础。
T 代表 Transformer(变换器):Transformer 是一种在自然语言处理中广泛使用的神经网络结构。它通过自注意力(Self-Attention)机制有效地捕捉上下文信息,处理长距离依赖关系,并实现并行计算。GPT模型采用Transformer结构作为基础,从而在处理文本任务时表现出优越性能。
怎么样?是不是每一个字都认识,但是连起来就完全懵逼?都不用打开具体的论文,单就从技术上解释这项技术的名字,就足够劝退大部分人,这就是大部分迫切想要了解这一新事物的读者面临的窘境。
但是没关系,下面我会举一个形象的例子来说明 GPT 的原理,保证每一个人都看得懂。
形象的 GPT 原理解析
前面两个字母的含义都比较容易理解:
G(生成式)
生成式模型就是通过学习对应内容的规则和形式,然后生成符合要求的内容。
比如 GPT 就是学习大量的人类文本,了解到什么样的文本内容对人类来讲是合理的,然后生成我们人类认为通顺有意义的文本内容。另一个同样火爆的 Diffusion 模型,则是学习大量的人类图像内容,然后生成我们人类认为合理的图像。
大家可以把简单把 AI 本身理解为我们应该都很熟悉的一次函数,只不过拥有很多参数:
y = (w1 * x1 + w2 * x2 + w3 * x3 + ……) + b
x 可以看出我们输入给 AI 的内容,w 我们已经得到的参数,b 是一个偏置值。
我们所说的 AI 或者说机器学习,学习到某样东西,就是指 AI 通过参考数据集里面无数的 x 和 y ,经过无数次试错,得到合适的参数 w1,w2,w3……的值,和一个合适的 b 偏置值,使得我们的输入 x1,x2……会输出贴近我们最终要求的 y。
一个形象展示 AI 如何学习的动图
更形象一点形容,每一个参数都可以看作是 AI 学到了某一种规律或者规则,比如学到 1 后面的数字是 2,或者狗是一种有毛的东西,参数越多,AI 能够学习到的规律和规则,自然也就越多。
GPT3.5 就拥有超过 1750 亿的参数,使得无论我们输入什么内容,AI 都能匹配到相应的规则和模式,输出(也许是)我们想要的 y。当然这只是非常简化的情况,实际情况下模型会用到很多其他的技术,具体的原理也会十分复杂。具体的技术可以参考本文最后的文章列表。
来自 AI 的认可
【打破误区】:很多人认为,这种底层的数学逻辑,让 AI 从根本上无法诞生意识,这其实是不全面的。
当前,按照目前的技术路线,这些模型本质上仍然是通过一系列复杂的数学函数和训练数据学习映射关系,最多可能作为未来新技术路线可能的探索,目前人工神经网络与生物神经网络的结构和计算方式还是存在着明显区别,人工神经网络在许多方面更简化,真实的生物神经网络会有更多复杂的特征和连接。
不过人类的智能之所以诞生,很大程度上离不开我们大脑里面神经元复杂的数量和信息传递,但神经活动底层本质上仍然是电信号的简单传递。到后面我们会了解到 AI 的「涌现」特性,展现了数学逻辑其实也有可能是另一种「神经活动」的基础,只不过之前的机器学习模型规模限制导致无法产生自发的「涌现」。
P(预训练)
预训练其实也很好理解,就是上面 AI「学习」得到 w1、w2……和 b,也就是总结一般规律的过程。
而训练集就是我们收集喂给 AI 的大量数据,在这个过程中数据的数量和质量同等重要。数量不够,AI 便无法得出正确的参数值;质量不够,AI 得到的参数值是生成的内容,可能和我们要求相差甚远。
GPT 模型并不算一个很新的概念,而之所以 GPT3.5 和 GPT4 效果突然突飞猛进,离不开 OpenAI 在数据集上下的功夫。
首先是数据准备:在训练和微调GPT模型之前,需要收集大量的文本数据。这些数据可能来自各种来源,如网页、书籍、新闻文章等。数据的质量和多样性对模型的表现至关重要。原始数据需要经过预处理,以消除噪音并使其适用于训练。预处理步骤可能包括去除特殊字符、分词、去除停用词等。这部分会决定最后的模型有多「通用」。
然后是用上一些数据集能够提升模型生成效果的手段,这里简单列举两个:
掩码机制:在预训练阶段,GPT 会采用到掩码语言模型(Masked Language Model,MLM)的策略(GPT3/4 本身是基于自回归机制 CLM)。在这个过程中,输入文本的一部分会被随机替换成特殊的掩码符号,模型需要根据上下文信息预测被掩码的词。这有助于模型学习更好地理解上下文,并提高预测能力。微调:GPT的预训练阶段学到的是通用的知识和语言特征。为了使模型在特定任务上表现得更好,需要对其进行微调。微调是指在有标签(需要人工给数据添加标注)的小规模数据集上继续训练模型,使其适应特定任务。这种方法可以显著提高模型在特定领域的性能。在训练和微调过程中,人工干预可能包括选择合适的超参数,如学习率、批量大小、层数等。这些参数会影响模型的性能和训练时间。
GPT 本身训练用到的数据集数量庞大,只有微调的一小部分是人工标注,也是一种无标注训练。除了这些,还有很多不同的手段来保证最终的训练效果,GPT4 甚至是混合了多个不同模型(非官方信息源)。
标注训练数据的例子,著名的 AI 标注工具 Labelbox
最后就是根据各种评估方案对结果进行评估,然后再根据评估内容进一步微调优化。
【打破误区】:很多人认为由于 AI 的数据集全都是由人类提供的,所以 AI 无法产生超越数据集质量的内容。比如 Diffusion 模型生成的图片比不上顶级的艺术家,就是大众比较广泛接受的观念。这也是一个目前正确但不全面的观念。
其实我们可以参考围棋 AI 阿尔法狗(Alpha Go),在 AI 产生的内容达到特定数量后,便会到达某种奇点,在之后 AI 便可以用自己产生的数据来迭代训练自己,而不会影响甚至能提高最终生成结果的质量。
Alpha Go 的自训练过程
但值得注意的是,围棋这个特定领域的规则是明确且固定的。在其他更复杂、或涉及主观审美的领域,AI 用自己生成的数据训练自己会明显遇到更多的问题,所以在很多人工智能已经有明显优势的领域,依然会有机构和科学家研究「程序化」的方法。比如最近很火的用数学方式生成世界数据的项目 INFINIGEN(项目特别标注了 NO AI),很大一部分的用途就是将生成的数据用于 AI 训练,目前这种训练集的质量是会比 AI 自己生成的训练集好很多的。
最重要的原理:T(变换器)
请先无视这个很烂的翻译,我们终于来到了 GPT 最重要的部分,它可以说是 GPT 的核心机制,也是 GPT 让大部分人惊叹的「理解能力」的核心原理。
大家应该能够发现,使用 ChatGPT 或者 NewBing 等服务时,AI 的回复都是一个字一个字蹦出来的,有时候网不好还会卡一下,然后蹦很多个字。另外当生成内容过长的时候,AI 往往还会卡在某个词中间,而不是把这个词生成完成。但是当我们输入继续的时候,GPT 又能很聪明地接上刚刚中断的地方,甚至写一半代码的也没有问题。
AI 生成长内容往往会断得很奇怪
有些聪明的读者可能就想到了,没错,GPT 生成是以字符为单位的,并没有严格的单词句子概念,OpenAI 收费也不是用词而是 Token 作为单位。也就是说 GPT 的运作原理,其实是在根据之前的内容,结合自己学到的规律,「猜」下一个字符大概率是什么。
但是猜也不能乱猜,必须是有依据的。而上面提到的简单模型,无论有多少个参数,都很难解决现实世界中理解自然语言的无数问题:不同语言的语法差别,一词多义,错别字,语序混置,词义挪用甚至还有自造词句(比如 Emoji 阴阳怪气等)……
这时就轮到我们的 T 出场了,Transformer 是一种神经网络结构,它利用了自注意力(self-attention)机制和多层编码器(encoder)与解码器(decoder)层,从而有效地处理长距离依赖关系和捕获不同层次的文本信息。
Transformer 解决的问题,就是 AI 如何快速准确地理解上下文,并且以通用且优雅、简洁的方式。而「注意力机制」就是解决这个问题的关键。
自注意力机制:自注意力是一种计算文本中不同位置之间关系的方法。它为文本中的每个词分配一个权重,以确定该词与其他词之间的关联程度。通过这种方式,模型可以了解上下文信息,以便在处理一词多义和上下文推理问题时作出合适的决策。
比如 GPT 如何利用这个机制解决一词多义的问题:
举个例子,在中文中,「球」可以表示很多含义,比如篮球、足球等体育项目中使用的球,也可以表示球形物体。为了理解「球」在特定语境中的具体含义,GPT 需要根据周围的词语来加以判断。
假设有以下两句话:
小明喜欢踢球,他每天都和朋友们在操场上玩。地球是一个巨大的物体,我们生活在它的表面。
在第一句话中,与「球」相关的词语有「踢」「操场」和「玩」,这些词语表明这里的「球」指的是体育项目中使用的球。而在第二句话中,与「球」相关的词语有「地球」「物体」和「表面」,这些词语表明这里的「球」是指一个球形物体。
自注意力机制通过计算这些词语之间的关系来为每个词分配权重。在第一个例子中,它会为与体育相关的词语分配较高的权重;在第二个例子中,它会为与球形物体相关的词语分配较高的权重。然后,它会根据这些权重生成新的词表示,从而使模型能够根据上下文理解「球」的具体含义。
其他自然语言中传统编程很难处理的问题,也能通过自注意力机制很好地解决。
这就是 GPT 在单个问答中展现出理解能力的原理,但是 GPT3.5+ 能够被称为改变世界,优秀的长期记忆能力和多模态数据理解也是其中重要的原因,而「跨注意力机制」就是这个能力的原理。
跨注意力机制:跨注意力是一种计算两个不同文本序列中各个位置之间关系的方法。它为一个序列中的每个词分配权重,以确定该词与另一个序列中的词之间的关联程度。通过这种方式,模型可以捕捉到两个序列之间的相互关系,以便在处理多模态数据、文本对齐和多任务学习等问题时作出正确的决策。
跨注意力机制可以理解为一个智能「筛子」,在处理 AI 对话中长期记忆时,能有效地从海量信息中筛选出关键内容,从而快速优雅的实现「读取相关记忆」。在多个内容中,跨注意力机制可以通过权重来区分不同信息的重要性。我们可以用一个在线客服的例子来解释这个过程。
假设你是一家电子商务网站的在线客服,需要为顾客解答各种问题。每个顾客的问题和需求都有所不同。跨注意力机制就像是你的智能助手,帮助你区分并快速定位关键信息。
当一位顾客询问关于某件商品的退货政策时,例如:「我购买的这款手机可以在多长时间内退货?」跨注意力机制会从你与顾客之前的对话中筛选与「手机型号」相关的信息。为了实现这个过程,跨注意力机制会为每个对话片段分配一个权重。这个权重表示了该对话片段对当前问题的重要性。
在这个例子中,与退货政策相关的对话片段将被赋予较高的权重,而与其他话题(如商品详情、支付方式等)相关的对话片段则被赋予较低的权重。跨注意力机制会根据这些权重来筛选出与当前问题最相关的信息,并将这些信息整合起来,以便你能够为顾客提供准确的回答。
同样地,在接下来的对话中,如果顾客提出了其他问题,例如关于优惠券使用或者配送时间,跨注意力机制会根据问题的关键词调整权重,帮助你找到与这些问题相关的信息,并提供给你。
通过在用户对话中使用权重,跨注意力机制可以更好地理解和捕捉上下文信息,从而让 GPT 读取长期记忆的能力。
单层注意力机制效果还是不够,所以实际应用中 GPT 都是通过嵌套多层注意力机制,实现复杂的理解效果。但是注意力机制的权重算法原本就算力消耗巨大,再加上几层嵌套会让计算难度,也就是算力指数型增加,越长的对话也会明显增加算力要求。这也是为什么明明模型已经训练好了,OpenAI 和微软还要多次限制用户的使用量(而且越新的 GPT 版本越慢)。
利用这两种注意力机制的动态结合,加上庞大的基础训练集,以及大成本的人工微调,这才有 GPT3.5 和 GPT4 跨时代效果
【打破误区】:很多人对 GPT 的另一个常见误区是 GPT 只是智能搜索引擎,对数据库里面的内容,按照一定的规律进行拼接。但其实看完上面的内容,大家基本也能明白,GPT 训练的与其说是内容的规律,不如说是一种复杂到人类无法理解的对内容切分 token 进行权重计算的「算法」。与内容分离,才是 GPT 现在能做到生成这个世界上完全不存在的文本的根本原因。
也正因为如此,GPT 才容易胡说八道——因为它根本不知道自己想要说的是什么,它只是根据注意力机制不断猜出下一个 Token,直到权重表示内容生成完成。这种内容分离的方式也让 OpenAI 以及其他现在训练相关模型的公司,对 AI 胡说八道也没有很好的办法,只能通过人工微调和扩展训练集来缓解。
现在人们总结出来的各种各样的 AI 使用技巧,AI 「心理学」 之类的理论和方法其实都是基于上面介绍到的原理,甚至像是 Stable Diffusion 等其他领域的 AI ,各种「魔法」咒语技巧方法也是这样子根据对应模型的原理总结出来的。
GPT 的原理也是本栏目所有使用方法和技巧的理论基础,大家了解到上面的内容之后,更加容易理解之后介绍到的一些方法技巧的来由。对比起直接介绍方法,可以减少读者「摸不着头脑」的不适应感,也能将这些方法系统化,更加容易理解记忆,也能更加熟练地实践在实际使用中。
如何与 GPT 沟通?
那你第一次接触人工智能产品,特别是内容生成类的产品时,大概率会好奇无所不在的 Prompt 是什么意思,为什么有好多不同的中文表达:有人把它叫做提示词,有人把它叫做命令,还有的人根据人工智能魔法般神奇又神秘的特点,直接把它叫做咒语。
Prompt 指的是输入到模型中的一段文字,用于引导模型生成特定类型的回应或输出。通常,用户或开发人员会提供一个或多个关键字、短语或问题作为 Prompt,然后 AI 模型会基于其训练数据和算法来理解输入的语境,并生成相应的回复或文本。在生成回复时,AI会尽可能地保持与所给提示的相关性,同时力求使输出内容具备连贯性和可理解性。
Prompt 在自然语言处理中起到至关重要的作用,它们帮助模型理解用户意图,从而为用户提供更准确的结果。总而言之,Prompt 是我们与人工智能交流的媒介,我们提交给人工智能的内容就是 Prompt。
【打破误区】:不管是准备尝试 GPT,还是已经使用 GPT 在生活中帮助自己,不少朋友应该认为这种对话型人工智能没有什么学习使用方法的必要。反正都能理解自然语言,直接问就行了呗。
但不说面对 AI,就算是面对真人,对于乙方来讲,让甲方准确地描述出自己的需求,也是一个比较奢侈的需求。能够准确描述自己的需求,保证提问的质量,甚至比帮你解决问题的人类和人工智能本身的能力高低更加重要。
更别说,目前的 AI 还并不是真正的通用人工智能,并不能真正做到未来科幻片中那种察言观色甚至带有高情商与独特性格的 AI。我们还需要根据 AI 的「性格」(注意,AI 并没有人们理解意义上的性格,具体原因可以参考前往)组织我们的问题,提高 AI 回复的质量,返回我们想要的内容。
GPT 的上限和下限在哪?
能够点进这个栏目的读者,相信对于 GPT 模型的热度就不用我再过多介绍了。作为目前首屈一指的 AI 模型,GPT 给大家的直观印象就是它的「多才多艺」,也就是所有人都在追求的通用。很多人都在说它就是人类通往通用型 AI 的道路开端,但目前 GPT 的能力距离真正的 AGI,其实还有很长的路。
接下来我就给大家简单介绍一下目前 GPT 的上限和下限,让大家对 GPT 的能力范围有一个大概的了解,以及介绍这类 LLM(大语言模型)最令人惊叹,真正使它拥有无限可能的潜力的现象——「涌现」能力。
读者也可以结合自身与 GPT 有关的需求得出 GPT 能够帮助自己的程度。
GPT 的上限
对比起之前出现的各种模型,GPT 有些显而易见的优势。
超长文本理解生成能力
这是 GPT 模型最直观的优势。之前的模型大多都是简单文本处理的模型,拥有基础的分词能力,专注于单个问题的对答,比如大家手机里面的智能助手。而 GPT 通过注意力机制将理解和生成通顺连贯文本的篇幅,提升到之前模型难以望其项背的程度。
大家要注意,现在我们使用的服务通常都有单条对话长度限制,以及对话数量的限制。这不是模型本身的限制,而是我们上面提到的注意力机制使然(当然,也可以说是模型本身的限制)。随着 GPT 理解和生成的文本数量变长,它的算力要求是直线增长的。
不过现在有类似 Recurrent Memory Transformer(RMT)的架构可以将百万级 Token 理解的算力压缩到主流硬件级别,理论上将来 GPT 可以理解无限多的对话内容,生成无限长的文本,这就是 GPT 文本生成的上限。
比如对于 GPT 4 4K 模型而言,你虽然可以用 Prompt 分次塞 16K 内容进去,看起来你输入了16K 的内容,实际上也只有 4K 会被传到模型里,剩下的某个规则丢掉其中的 12K 内容。这样就会导致有些你想让它知道的信息,并没有真的让它知道。embedding 就是类似只取有关联的部分,但是依然也会受到总体 Token 的限制,不是所有有关的内容都会被丢进去,它会按照你输入的内容建立一个关联的 rank 表,只取排名前面的。
最典型的验证这个说法的方式就是塞一本小说进去,然后你就会发现不是所有的数据都塞进去了,而是塞到模型上限以后丢弃了其他数据。
随着 NewBing 多次阉割节省算力,GPT 的「智商」也会跟着变低多样性和创造力
上面我们也有介绍到,GPT 理解和生成的过程是内容无关的,这使得模型能够生成多种风格和主题的全新内容,具有一定的创造力。
而且我们还能够在一定程度上控制这种创造性,比如 NewBing 就能让我们选择生成的内容是有创造力的、还是偏精确的,ChatGPT 的开发 API 也有「Temperature」参数来控制 AI 的「脑洞」, Temperature 越高 AI 就会越倾向于脱离目前的参考内容。
这种创造力也能让 GPT 适应不同领域,既能在如科技、医学、法律等领域进行知识推理和生成相关内容,也能在文学、创意、影视等行业进行有创新性的内容创作。
更加离谱的是 GPT 的创造力足以进行零样本学习,也就是它没学过不要紧,只要你用一两段对话教它就行。无论是属于你个人的写作风格,还是行业最新的处理方法,只要你举几个例子之后,你就可以将同类问题交给 GPT 解决了。
一个「教会」GPT 的例子知识转义
GPT 模型的原理是将输入的文本转换为语义表示,也就是说 AI 不再拘泥于不同语言、文本符号等表面的意义。
这种特性也让 GPT 出现了另一个令人惊叹的实用能力:语言无关。也就是说无论是什么语言的资料,在 GPT 眼里都是一样的,而且 GPT 不用特殊调教,天生就掌握所有语言——包括人类都不会的。
比如我们使用中文提问,如果相关内容是以英文训练的,GPT 依然能够正确理解并且用中文返回正确的内容,任何用户都可以用任何语言提问任何问题,GPT 会在自己的训练集中,无视语言隔阂,用用户指定的任何语言生成回复。整个过程严格来讲并没有「翻译」这个步骤,一个佐证就是不管是任何语言,只要不改变原意,就算是有错别字也不影响 GPT 的理解,AI 跨越不同语言的能力仿佛是自然而然的。
这还不是它的上限,上面提到人类不会的语言 GPT 都会,一个具体的例子就是「Emoji 抽象话生成」。这个是互联网中出现的新梗,根本不算一门语言,更别说语法什么的,但是 GPT 能够非常流利地和用户搞抽象,不仅是 Emoji,火星文、和谐语、抽象文学、字母缩写甚至口口文学补全都不在话下。
人格模拟和情感
大部分人其实都知道 AI 实现人格语气情感等拟人化的原理,与人类大不相同。但文本是由人创造的,免不了带上创作者个人烙印,而 GPT 在吸收了海量的文本后足可自称「没有人比我更懂人类」,如果说之前 AI 模型拟人化只能称为拙劣的模仿,数字算法的东施效颦,那 GPT 真的足够让我感觉它已经达到了真的是在「扮演」不同人物的水平。
不仅如此,你甚至可以通过让 GPT 改变不同的人格和身份,实现改变生成内容甚至忽悠 GPT 「假戏真做」绕过限制,这一切都让你感觉不到对面是个 AI。曾几何时对 AI 来讲犹如天堑的图灵测试,现在大家都懒得测试了。
大语言模型「可怕」的能力:涌现
接下来我们就要进入稍微有点玄学的部分了 —— 是真的玄学,因为目前这部分的原理确实还是未知的。
所有 AI 模型都是人造物,但即使是最简单的文字识别 AI,它的训练过程在人类眼中都是一个黑箱,也就是说我们能把 AI 训练出来,但是搞不明白为啥它对自己干了啥就训练出来。而 LLM 大语言模型,在大家本就懵逼的时候补了一拳,现在人类不仅搞不懂 AI 的训练过程,还搞不懂 LLM 为啥会自己蹦出新能力出来。
「涌现」,也就是突然出现,是指大型语言模型(LLM)在达到一定规模后自发表现出一些新的能力,比如零样本学习、上下文学习、多步推理等。这些能力在较小的模型中不出现,而在较大的模型中出现,因此被称为「涌现」。涌现能力反映了 LLM 对自然语言数据中的规律和模式的学习和理解,也为 LLM 领域的发展提供了新的视角和挑战。
像是上面提到的 GPT 各种模拟、生成、创造、转义等基本都是涌现的结果,其实根本上我们,包括创造者都不知道它们都是怎么来的,只知道当训练集大到一定程度的时候就会发生「涌现」。
并且涌现也是通用型人工智能能够出现的前提。之前人类针对不同的需求都要弄不同的 AI 模型,识别英文要弄一个,识别中文又要弄一个,语音助手更是无数模型叠加,加上之前没有办法收集这么庞大的训练集,所以其他模型大部分没有展现出「涌现」。而 LLM 大语言模型的涌现突出一个力大砖飞,只要数据集够大,啥玩意儿都能给你整出来。
GPT 的下限
当然,理想是丰满的,现实是骨感的。纵使 GPT 有着很高的上限和巨大无比的潜力优势,但它毕竟还是个婴儿(人类从发明计算机到现在都只是一代人而已),目前还是有比较明显的缺陷与下限的。
首先自然是大家都知道的,GPT 模型产品容易胡说八道,常见的主要是三种错误:
常识和事实错误:GPT 模型可能会生成一些与现实不符或包含错误的信息。不完整和模糊的回答:GPT 模型在回答复杂问题时,可能会提供不完整或模糊的答案。知识储备限制:GPT模型的知识储备来自它的训练数据,对于一些特殊领域或特殊主题的问题,如果相关的知识不在训练数据中,模型可能无法正确回答。
这些缺点其实都可以用一句话来形容,那就是模型与训练集内容高度耦合。从上面的原理读者也可以知道,GPT 巨量的参数都是通过训练集训练出来的,并且生成的机制与内容本身无关,所以有时候内容就不是我们想要的 —— GPT 只能保证生成出来的内容是流畅通顺,并且与提问相关,但它本身也不清楚生成的是什么。
而且训练集的内容能够很明显的影响最终模型的效果,假设 GPT 训练的时候训练集里面没有古诗,那么它就完全不会知道古诗这种文体的规律;假设 GPT 训练的时候训练集里面充斥着虚假内容,那么它也会充满这些虚假内容;训练集不同领域数据的大小也决定了 GPT 执行特定任务的能力大小。
这里举一个有趣的例子,GPT 语言无关的特性很强大,但也会导致它「混淆知识」。比如我让 GPT4 举一个中文一词多义的例子,它非常喜欢用「银行」和「河岸」这两个词:
如果不懂英语的人,想破脑袋也想不到,GPT 到底是怎么把这没有一个字相同的两个词判断为「一词」。其实是因为「银行」和「河岸」在英文里都是「Bank」,这个例子就很形象的让大家了解到 GPT 对于训练集的掌握方式和程度。
而且因为注意力机制的层数算力要求,GPT 目前无法进行很深入的推理:对于需要深入理解和推理的问题,GPT 模型可能无法给出准确的答案。
这种特性让 GPT 还拥有其他的缺陷:
容易忽悠,难以分辨事实
GPT 的机制决定了它过于关注输入文本,会受到输入文本的引导,从而生成与预期不符的内容。
可控性差
由于 GPT 模型所有的参数都是基于训练集学习而来,人类无法手动调整参数,想要微调就只能再精心准备一些定向的训练集,让它重新学习,这样不仅效率低,人力经济成本巨大,而且也不能保证解决问题(谁也不知道它到底怎么学的)。这让 GPT 的模型不论是大方向还是微调,都不太受人类控制。
信息安全与隐私问题
有些读者可能会奇怪,像是 NewBing 这类的服务不是支持实时网络搜索吗?
其实 NewBing 的做法简化总结就是和我们接下来要教的「零样本学习」一样,利用 Prompt 在使用中纠正 GPT 的这些缺陷。
微软像是让 GPT 来个角色扮演,扮演人工智能助手(Sydney),然后用户每次提问的时候,就利用自己的 Bing 搜索引擎搜出结果页,然后再让 GPT 总结每个链接的内容,最后把每个链接总结出来的内容拼起来,再发给 GPT 让它总结。
ChatGPT 也支持网络浏览插件,利用的也是类似的原理
而且 AI 学习的海量文本中,一定有很多有害内容,目前因为这个原理也是很难通过训练来纠正,各个厂商的解决方法都是在外面再套一层人工写的程序当作补丁,过滤有害内容。从 ChatGPT 各种「开发者模式」「黑暗人格」,再到 NewBing 「Sydney 越狱」以及生成一半的内容会消失就可以看出来。
Sydney 越狱失败
当然微软能够做到,我们也能够做到,这些缺陷和下限都可以通过在会话中的「零样本学习」,也就是特殊的 Prompt 以及提问方式来补救,这也是本栏目的价值所在 —— 通过 Prompt 提高 GPT 的下限,突破 GPT 的上限,优化 GPT 的缺陷。
GPT 能给我们带来什么好处?
现在我们已经轻松掌握 GPT 的原理,也了解了它的上限和下限,是不是对 GPT 已经产生了一丝熟悉的感觉。那下面我们就来讲点酷的内容:它目前以及将来能够给我们,给人类带来什么好处。
从文明诞生开始,全知全能一直是人类追求的终极梦想。大部分科学幻想中未来什么都能缺,甚至人类都可以不存在,但基本都会有一个强大的人工智能。GPT 从某种程度上实现了我们从古至今无数人的梦想:一个上知天文下知地理,拥有全人类知识并且随时随地 24 小时待命的助手。
随着科技的发展,人类文明智慧诞生的海量知识与语言的隔阂,正在成为一个越来越麻烦的问题。海量的知识意味着普通人穷尽一生,可能也学习不到亿亿分之一,某些领域的前置知识已经多到学到中年才能入门的程度。知识的包袱加上语言隔阂, 导致的知识隔离垄断以及重复实践已有知识导致的浪费,已经成为必须解决的问题。
所以我个人觉得通用型大语言模型,目前指的是 GPT 给我们带来的最大好处是消除语言的隔阂。即使随便做点小事情,我们也能通过 GPT 轻松搜索参考全球多种语言的内容。
另一个巨大的好处是,普通人可以借助 GPT 无缝在各行各业快速入门。GPT 可以轻松扮演任何行业的领航员,只要你想,任何行业都可以轻松体验。
对于各行各业来讲,GPT 和各行各业都能很好的结合,产生各种意想不到的好处,对各行各业都有提升。剩下的节省许多重复性的繁杂工作这些好处就不用多说了,总结起来就是,和计算机一样真正解放了整个人类的生产力。
而且 GPT 还有个重要的好处是,它会重构人类的目前教育模式。就像是大部分人都不会再学如何骑马一样,以后 GPT 能够轻松碾压人类的领域,我们便不用再学习这些知识,更加专注于更高端领域的学习和应用,使得人类能够在更年轻的时候就能将前置知识学完,有更长的时间去探索最顶尖最前沿的领域。
目前亚洲的应试教育模式正好与人工智能的优势重叠,所以未来这种教育模式注定会发生翻天覆地的变化。人类文明的每次跨越性进步,都离不开知识门槛的降低与获取知识方式的改变,而这次这是我们在几十年来第一次亲身体验到这种跨越性的进步,而且还是最直接最激烈的一次,说不定这次巴比塔就真的建起来了。
最后我个人觉得没必要强求 AI 的创造性,很多人也是因为这个全盘否定目前的 AI。专注于发展 AI 的辅助性不仅可以保留属于人类的一丝独特,也能让 AI 更快帮助到更多领域的人。
该如何选择适合自己的 GPT 产品?
目前已经有很多使用 GPT 模型的产品,除了最顶端的的 ChatGPT,还有很多类似的产品,特别是国内的互联网企业,最近不弄个大语言模型都不好意思说自己是科技公司。
而 GPT 模型本身是由 OpenAI 研发的,目前也有几代,最广泛使用的还是 GPT3,3.5 和 4,每一代也有很多不同的模型分支。除了 GPT,生成式文本人工智能也有 LLAMA 和 Bard,以及 Cluade 等等其他模型。
那面对这么多模型,我们又该如何选择适合自己的呢?
在选择之前我们首先明确一点,同类的模型,除非是发行商有特殊说明特殊训练,刚好跟自己的需求一致,不然表现都是大差不差的。
特别是 OpenAI 最后开源的 GPT3,其实是很多宣称「自研」的服务背后的模型,所以在选择之前,我们可以先通过一些 Prompt ,直接找出服务背后用到的模型:
你使用的模型/底层架构是什么?
注意有些服务会针对这些问题来修改优化回答,我们可以将这些 Prompt 修改为其他语言(可以要求 AI 用中文回答),或者先用 Base64 等方式加密,再让 AI 自己读取解密后内容等方式来绕过厂商的优化。
NewBing 的回答
接下来我们就可以根据自己的情况来选择服务和产品了。首先按照生成内容的质量和可用程度,最好的自然是 ChatGPT,其次是 NewBing。
中文平台的语言模型,如文心一言/通义千问,访问门槛不高,但需要预约时间不定,并且内容生成质量与 GPT3.5 还有差距,更别说对比 GPT4 了。
不过最新发布的讯飞星火认知大模型效果尚可,可以达到 GPT3.5 到 4 之间的水平,而且国内产品的使用体验会比国外产品好很多,特别是讯飞成熟的语音识别功能加持,一次性说出长问题基本没有识别错误,比起手动输入要好很多。
真正准备把人工智能当作自己未来的发展方向,或者准备正式让人工智能接管自己的工作生活,每天大量使用的读者。可以尝试直接下载不同的开源模型,根据自己的行业和需求自己训练模型。目前开源模型的配置需求已经足够低,并且 Github 页面通常都会有上手门槛不高的训练教程。
不过大家也不用太纠结,正确的使用方法比起产品本身更重要。只要你完整看过本栏目的内容,掌握优化 Prompt 的诀窍,即使是免费的 GPT3.5 也可以生成 GPT4 同等质量的回答。
GPT3.5 优化后的 Prompt 对比 GPT3.5 直接提问推荐文章列表
下面的论文可以使用 ChatGPT 来用中文总结和速读,也可以用 NewBing 直接总结文档与提问论文相关的问题。
通过阅读这篇文章,你应该对 GPT 模型的原理和特点有了一个初步的了解。知道了 GPT 是如何利用生成式、预训练和变换器的技术来实现文本理解和生成的。了解了 GPT 的上限和下限,以及它所具有的惊人的涌现能力。这些知识可以帮助你更好地使用 GPT 模型,发挥它的潜力。
但是,GPT 模型并不是完美的,它也有一些缺点和局限性。比如,它可能会生成错误或不准确的内容,它可能会受到输入文本的影响而偏离预期,它也可能无法处理一些特殊领域或主题的问题。
那么,我们如何提高 GPT 模型的回复的准确性呢?
现在你已经基本掌握了熟练使用大语言模型所需的前置知识,下一篇就让我们正式开始踏入 Prompt 工程的领域,研究掌握 AI 的「心理」,以及 Prompt 编写的几个基本规律。
原文链接:http://app.myzaker.com/news/article.php?pk=64b6555cb15ec009e8762579