在ChatGPT这类产品出现之后,许多人都惊叹于其文本生成能力,ChatGPT的出现也改变了我们与技术互动的方式。那么在这背后,你是否了解ChatGPT的工作原理与逐词生成的奥秘?一起来看看本文的拆解。
在信息技术的长河中,很少有技术能像ChatGPT这样迅速地掀起波澜。自2022年11月问世以来,ChatGPT不仅在AI领域引发了革命性的变革,更在公众视野中掀起了前所未有的热潮。它的出现,仿佛是一颗投入平静湖面的石子,激起了层层涟漪,迅速扩散至全球每一个角落。
在短短两天内,ChatGPT的用户数就突破了百万大关,两个月后,这一数字更是飙升至亿级,这一增长速度不仅刷新了TikTok创下的记录,更是在科技史上留下了浓墨重彩的一笔。2023年5月,当ChatGPT正式登陆苹果应用商店,它如同一匹黑马,毫无悬念地登顶免费APP榜首,再次证明了其强大的吸引力和影响力。
ChatGPT之所以能够获得如此高度的关注,原因在于它为人们带来了前所未有的智能对话体验。许多人在与ChatGPT的互动中,首次感受到了人工智能的高智能和学习能力。这句“天下人苦智障AI久矣”的戏谑之言,如今在ChatGPT面前显得格外贴切。尽管ChatGPT偶尔也会展现出它的“不聪明”一面,比如在简单的数学问题上出现失误,但它的学习能力却让人惊叹。一旦用户指出错误,或者引导它逐步解决问题,ChatGPT便能迅速调整,展现出惊人的靠谱和准确性。
ChatGPT的这种能力,不仅让人们对人工智能的未来充满了期待,也让人们开始重新审视人机交互的可能性。它不仅仅是一个聊天工具,更是一个不断学习和进化的智能伙伴,它的存在,正在悄然改变我们与技术互动的方式。
GPT技术的核心理念在于采用最简单的自回归生成架构来解决无监督学习的问题,也就是利用无须人工标注的原始数据,让模型自主学习并映射出对世界的理解。
自回归模型本质是基于生成任务+预测的模型。生成任务在人工智能领域指的是创建新内容的过程,这些内容可以是文本、图像、音频和视频等。在ChatGPT上下文中,是模型根据给定的文本提示,生成连贯、有意义的文本,而不仅仅是预测序列中的下一个元素。这要求模型可以理解语言的语法和语义,还能捕捉到文本的情感、风格等,从而生成高质量的文本内容。同时,它的预测能力是强于预测文本序列,尤其是理解上下文和生成连贯对话方面。
但是在某些特定的预测任务中,比如简单的数学计算或时间序列预测,线性回归模型和RNN可能会表现的更好,因为这些任务通常需要精确的数值预测,而不是生成新的文本。
总的来说,ChatGPT在生成任务上的表现非常出色,这使得它在自然语言处理领域具有广泛的应用价值。而在预测方面,它可能不如专门针对数值预测优化的模型,但这并不是它的设计初衷。ChatGPT的核心优势在于其生成连贯、有意义的文本的能力,这在许多实际应用中是非常宝贵的。
那什么是自回归模型呢?这里用一个比喻进行说明。
自回归模型就像一个优秀的厨师,现在正在准备一道复杂的菜肴。这位厨师在做这道菜时,并不是一次性把所有食材准备好,而是根据已经准备好的部分决定下一步需要加什么。比如,他已经切好了蔬菜,那么他可能会根据这些蔬菜来决定下一步是加入肉类还是调料或其他。这个过程是逐步进行的,每一步都依赖于之前的步骤。
在自回归生成架构中,神经网络就像这位厨师。它在生成文本时,会根据已经生成的词来决定下一个词。比如,如果它已经生成了“今天天气”,那么它可能会根据这个上下文来预测下一个词是“晴朗”、“阴沉”还是“下雨”。这个过程是连续的,每个新生成的词都依赖于之前的词,就像厨师根据已经准备好的食材来决定下一步。
当你与ChatGPT这样的产品互动时,它们的核心任务是为接收到的文本提供“合理的延续”。
在自回归架构下,大语言模型(LLM)通过分析输入的上下文,包括语义、情感、风格等因素,来预测并生成下一个词。这个过程涉及到对整个序列的理解,而不仅是单个词的预测。模型的目标是确保新生成的词不仅在语法上正确,而且要语义上与前文保持一致,情感上与整体语境相符, 仿佛出自人类之手 。
文中的“合理”意味着生成的文本应该是连贯的、有意义的,并且符合人类自然语言的表达习惯。
那什么是“延续”?所谓延续是指模型生成的文本应该能够自然的融入到已有的文本中,让读者感觉就像是人类作者所写,是对上下文语义的延续、情感的延续、风格的延续。
ChatGPT在接收输入文本,然后看看接下来出现的是什么词,以及这些词出现的概率是多少,然而它不是只看字面上的文本,而是寻找在某种程度上“意义匹配”的事物。这里的“意义匹配”和“合理的延续”并无二致,都是为了让读者感觉就像是人类作者所写。值得一提的是,当chatgpt做一些事情,比如写一篇文章,它实质只是一遍又一遍的询问“根据当前文本,下一个词应该是什么”,并且每次添加一个词。更准确的说,它每次都添加一个“标记”(token),而标记可能是一个单独的词,也可能是词组的一部分,这也就是它有时可以‘造词’的原因。
需要说明的是,“每次添加一个词。更准确的说,它每次都添加一个“标记”,这里的“每次添加一个词是ChatGPT在生成文本时的基本操作。这里的“词”在中文中通常对应一个汉字或一个词组,而在英文中,由于单词可能有多个字母组成,所以这里的“词”可能是一个完整的英文单词,也可能是单词的一部分,如“cats”中的“cat”,具体如何,取决于模型的训练方式和所使用的语言。
“标记”(token)是自然语言处理(NLP)中的一个概念,它代表了文本中的一个基本单位。在英文中,一个标记可以是一个单词、一个标点符号,甚至一个字词单元,如“un”来自“unversity”或“ing”来自“running”。在中文中,由于汉字本身就是一个完整的词,所以一个标记通常对应一个汉字。在ChatGPT中,模型会根据这些标记理解和生成文本。
那是否意味着,在使用中文和LLM模型对话时,每次都只会生成一个词或添加一个标记呢。
答案也不尽然,在中文的自然语言处理中,由于中文的书写习惯和语言结构,一个汉字通常被视为一个基本的语言单位,也就是一个token。然而,如果遇到词组或者成语,这些通常被视为一个整体,因此在模型输出中,一个词组或成语会被标记为一个或多个连续的token。比如,“人工智能”这个词组在模型中可能会被标记为两个token(“人工”和“智能”),或者作为一个整体标记为token,这取决于模型的训练方式和分词策略。
至于“造词”,通常发生在模型在生成过程中遇到它从为见过的词或短语时,由于模型是基于大量文本数据训练的,它可能学习到一些词汇的组合方式,即使这些组合在训练数据中并不存在。在某些情况下,模型可能会尝试将这些组合方式应用到新的上下文中,从而产生新的词或短语。“造词”的能力,是ChatGPT学习到的能力,从这点也验证了ChatGPT不是为了做生成任务,而是为了理解和学习。
上文也说到ChatGPT在完成生成任务的本质是一遍又一遍的询问“根据当前上下文,下一个词是什么”,而它在每一遍的询问过程中都会得到一个带概率的词汇表。
所以它就会选择概率值最高的词,把概率值最高的词添加为“标记”吗?如果ChatGPT真的是如此这样做的,那么你通常只会得到一篇非常“平淡”的文章,完全显示不出任何创造力,甚至会一字不差的重复前文。
事实上,模型并不总是选择概率最高的词,而是综合考虑整个序列的上下文信息来做出最终的选择,即对上下文“合理的延续”或“意义匹配”。
在自回归模型中,“温度”( Temperature)是一个控制文本生成多样性的参数。
当温度值较高时,模型倾向于选择概率分布中较低概率的词。这增加了生成文本的随机性和多样性。这种情况下,模型可能生成意想不到、创造性的文本,但同时也会产生不连贯或不和逻辑的内容。
当温度较低时,模型更倾向于选择概率分布中较高概率的词,这使得生成的文本内容更加保守和可预测。这种情况下,文本的连贯性和准确性会提高,但创造性可能会受到限制。
在某些情况下,模型可能会使用一个阈值来限制选择的词。这个阈值可以看作是概率分布的一个截断点,只有高于阈值的词才会被考虑。阈值的设置会影响模型在生成文本时的保守程度。
设置阈值的某些场景可以是:
尽管ChatGPT在文本生成方面取得了显著成就,但它仍然面临着一系列挑战,同时也存在优化空间。
本文由 @陶培林 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。