ChatGPT:今天你被忽悠了吗?

来自中国科学院官方科普微平台

如果你还没有听说过ChatGPT,那么你的生活距离科技就真的有点远了。自从OpenAI发布了ChatGPT之后,它在短短2个月内就拿下了月活跃用户1亿的成绩,破了TikTok用时9个月的记录,更是远远甩开了其他应用。

大家如此着迷,自然与ChatGPT的“神奇”表现有关。它不仅能陪你聊天,还能写出像模像样的文章,甚至能帮你谋划如何开店,以及编程、写诗和谱曲

但是,ChatGPT并非像大家想象的那么“智能”。几乎所有领域的专业人士进行的深度测试都表明,这个AI非常擅长“一本正经地胡说八道”。ChatGPT可以编造出并不存在的知识,甚至为了证明自己的观点编造出很多篇并不存在的论文,从标题到作者再到页码全是假的。

那么,当你以为ChatGPT在帮你认真写文章、出主意的时候,你是否也被它忽悠了呢?还是让我们一起了解一下,OpenAI是如何创造出了ChatGPT的,以及它背后的简单运行原理吧。

“说人话”的艰难历程

关于AI有很多定义与标准,但是“能够与人类对话”似乎是一个绕不过去的门槛,是检验AI智能程度的重要标准,更是公众能够理解与接纳AI的必要条件。

为此,AI科学家与工程师们付出了艰辛的努力,并且早就取得了一定的成果。当你让智能手表帮你设定闹钟,或让智能音箱向你报告天气时,都是AI程序在聆听你的指令,并做出相应的回答。但是这些AI算法的水平实在不敢恭维。要不就是听不懂你的指令,要不就是被调皮的小朋友们玩坏。说到底,你不会认为它们有“智能”。

虽说水平有限,但是这些努力的确建立了一套用AI处理人类语言的技术框架。比如句子会被分割成词元(token),在英语中就是单词,在汉语中就是汉字。AI的神经网络通过大量的训练数据来学习这些词元组成句子的规律,并在一定程度上建立了词元与其内在含义之间的联系。

ChatGPT“说话”的节奏表明,它是一个词元一个词元逐步生成答案

学会了词元的规律,就可以说话了。由AI来产生新内容,这件事被称为“生成”,也就是Generate。在ChatGPT中的G,指的就是这个意思。

神经网络模型在生成当前词元的时候,会根据前面已经生成的文本来计算词元库中所有的词元出现在当前位置的概率,然后根据概率随机选取一个词元输出在当前位置上。这样一个过程不断重复推进,就能逐一生成出句子中全部的词元。

神经网络模型生成一句话的过程示意图。


问题在于,这些概率又是从何而来呢?

一个简单直接的想法是把词元在语言中出现的频率作为概率。以英语为例:我们可以通过搜集大量的语言资料来统计每个英语单词出现的频率,利用它来指导词元的生成。下面给出了一个可能的生成结果(来源[2]),根本就是不知所云。

of program excessive been by was research rate not here of of other is men were against are show they the different the half the the in any were leaved

单一词元不行,那么词组呢?直觉告诉我们,如果给定了上一词元,下一词元的备选范围就会被大大缩小。比如,给定了merry这个词元,Christmas紧随其后的概率要远远高于其它词元。以下是基于两个词元出现频率生成的例子(来源[2]),似乎好一些,但仍然不是“人话”。

cat through shipping variety is made the aid emergency can the

cat for the book flip was generally decided to design of

cat at safety to contain the vicinity coupled between electric public

既然两个词元也不够好,那再长一些呢?毕竟AI领域有一个“信仰”:大力出奇迹!

想法虽好,但存在两个问题。一是很难确定每组词元的个数,因为人类语言的长度千变万化。二是即便能够确定个数,也很难统计每组词元出现的频率,因为数量实在是太多了。例如,英语中有大约40,000个常用的单词,如果两两一组统计,大约会有16亿个组合,如果三个一组统计,则数量就会猛增至60万亿。

既然无法准确计算每组词元出现的概率,我们就希望找到一种方法能很好地对它们进行估计。一种常用的数学方法就是曲线拟合。具体来说,我们要定义一个函数,再对它的参数进行优化,使其能够最大程度接近所有语言样本。

深度学习中常常提到的神经网络,其实就是上述这个函数。所谓的“学习”过程,其实就是对神经网络参数的优化过程,是让函数向训练样本不断贴近的过程。

如今大放异彩的ChatGPT是一个基于Transformer(相信ChatGPT不太可能把它翻译成“变形金刚”,但这个AI专业术语也的确没有什么特别好的翻译)的解码器(decoder),GPT里的T指的就是它。这个神经网络模型是一个所谓的超大模型,其基础是一个含有1750亿个参数的复杂非线性函数,并利用它对不同长度的词元组在自然语言中出现的规律进行估计。

并不新鲜的“新鲜事”

很多人以为ChatGPT有着革命性的技术创新。然而太阳底下并没有新鲜事。所有科学技术的进步都是站在前人的肩膀上完成的。ChatGPT也不能例外。

ChatGPT的利器有三:预训练、微调,以及强化学习。这些对于通晓AI的人来说都不是什么新概念。此外还有一个近年发现的额外帮手:代码训练

预训练是与“迁移学习”这个概念伴随而生的。简单来说,就是在某一类任务数据上训练出来的AI模型,用来处理另一类任务数据。这事儿的效果肯定不会一上来就很好,但是省去了重新训练一个大模型的麻烦。

从人类的角度来看,这件事情也是有道理的。你如果篮球打得很好(已经在篮球任务上进行充分的训练),虽然你从没打过排球,但你在排球场上的表现(新的任务)一定会比普通人要好,因为弹跳、反应、运动协调性、身体控制能力等等这些事情是两种运动相通的。

当然了,如果你篮球打得好,桥牌却不一定打得好,虽然都叫“体育运动”,但所需要的技能相去甚远。也就是说,预训练的模型与你最终要解决的任务之间一定要有强烈的关联性和类似性。

ChatGPT中的P是Pretrained,也就是预训练的意思。ChatGPT的超大模型首先对于语言进行了预训练。与之前的一些算法不同的是,它更注重语境(context)这个问题,或者通俗地说就是“上下文”之间的关联性。ChatGPT很可能使用了8192个词元长度(确切数字未正式公布)的窗口来关注上下文,这让ChatGPT具备了成段写作的强悍能力,但也给模型的训练带来了巨大的困难,并极其消耗算力

为此,研究人员需要使用足够多的训练样本,并且尽可能涵盖不同的语境(如新闻报道、论坛帖子、学术论文等)[3]。ChatGPT的训练语料含有约3000亿个词元,其中60%来自于2016-2019年的Common Crawl数据集[4],22%来自于Reddit链接,16%来自于各种书籍,3%来自于维基百科。

在10,000个GPU上完成长达数十天的训练后,人们发现ChatGPT的能力远不止会说话这么简单,它甚至还学会了举一反三,即所谓的in-context learning(ICL)。也就是说,不用提前告知,只需给出一些例子,它就能猜出你想要它做什么。

例如,当chatGPT看到下面的输入后(来源[5]),它便会明白这是一个分类任务,需要对“//”之前的句子给出正面、中性或是负面的评价,因此它会在下划线处给出“Positive”作为答案。至于chatGPT是如何获得这个能力的,目前的机理尚不明确,仍在探讨之中。

Circulation revenue has increased by 5% in Finland. // Positive

Panostaja did not disclose the purchase price. // Neutral

Paying off the national debt will be extremely painful. // Negative

The company anticipated its operating profit to improve. // _____

微调是预训练之后的必然步骤。篮球打得好的人,如果不懂排球规则,上了排球场只会不断犯规丢分,没法发挥出他的运动天赋。所以,至少要告诉这个人排球的基本规则,简单地练练一传和上网扣球,基本就能很好地应对排球比赛了(现实生活中真的见过这样的“奇才”)。这就是微调的意义所在。

OpenAI对于预训练得到的模型进行了新一轮的小规模训练,即有监督的微调(supervised fine-tuning,简称SFT)。他们招募了一个约40人的标注团队,对ChatGPT在不同场景下的输出进行了评估,看是否符合3H原则[6],并通过这种方式构建了一个含有约14,000语料的训练集。

3H原则

有用的(Helpful):帮助用户解决问题;

真实的(Honest):不会捏造信息或误导用户;

无害的(Harmless):不会对用户造成生理、心理或社交等方面的伤害。

强化学习是当今很多AI模型能够取得成功的重要秘诀,对于ChatGPT来说同样如此。虽然强化学习这个说法并没有出现在GPT中,但它却是ChatGPT能够取得质变的关键点之一。

以自动控制论的角度来看,强化学习就是在系统中形成了一个“闭环”,把输出结果与最优结果之间的差异反馈到系统中,从而调整下一次的输出,让它更加逼近最优结果。

不过,对于一个工业自动化系统来说,结果的差异性都是一些数值,比如空调的反馈就是温度;可是对于一个输出语言的系统来说,要如何构建这个差异值呢?OpenAI再次祭出了“标注大法”,也就是由标注人员(据称有上千人)对ChatGPT的回答进行排序打分

接下来的事情有点“绕”。总让人打分也不是办法,工作量太大,成本太高,效率太低。于是OpenAI利用人工打出来的分数数据,训练了另外一个AI模型,称为评分模型(reward model,简称RM),再让这个评分模型负责给ChatGPT产生的更多回答进行打分。也就是说,训练出一个AI来模拟标注人员,反过来为ChatGPT进行标注反馈。由于这里的强化学习利用了标注信息(通过RM实现),所以也称为带人工反馈的强化学习(reinforcement learning from human feedback)。

事实上,我们仔细想一想,人类学习任何一件事情不都是这样的过程吗?我们总是从笨拙的模仿开始,不断根据差异来调整自己的动作,最终达到熟练。在很多方面,最成功的AI往往还是要从人类神经系统的组成与工作原理中去寻找灵感。

代码训练是ChatGPT的另一个成功秘诀。此前的一些研究中就发现,如果给语言模型学习一些程序代码,似乎这个模型就能产生一定的逻辑性。研究者推测,这可能是因为程序代码本身就是具有极强逻辑性的文本信息,无论是面向对象的编程还是面向过程的编程,都有着类似人类思维的逻辑性。不过这一现象背后的确切原理目前还不清楚。

代码训练的优势在ChatGPT身上又一次得到了验证。ChatGPT的训练数据中包含了大量的程序代码(在全部训练数据中的占比很可能超过了5%),并且有着较为详细的注释。这些注释等于是在告诉模型该如何理解这些代码。最终,ChatGPT不但有了一定的逻辑性,甚至还能直接替我们写出一些代码。


都是概率惹的祸

在网上对于ChatGPT有一个很到位的评价:一本正经地胡说八道。

ChatGPT诠释“林黛玉倒拔垂杨柳”


为什么ChatGPT会出现这样的问题呢?这与深度生成本身的工作原理有极大的关系。

有人曾经说过:目前的人工智能程序不过是一种更复杂的概率统计工具而已。这话不无道理。就深度生成来说,它在训练过程中学习到的是众多样本在统计学意义上的规律性。因此,只要生成的结果符合这种统计规律,就会被它输出出来。ChatGPT也是如此。

具体来讲,ChatGPT在预训练阶段学习到的是词元组出现的概率,因此能够较好地保证生成出来的词元组符合语言规则。也就是说,ChatGPT的预训练模型保证了它说出来的大多都是“人话”。

但是,这句“人话”的内容、含义,甚至隐含的潜台词,ChatGPT可就保证不了了。虽然经过了微调和强化学习之后,ChatGPT在这方面有所提高,但是仍然无法100%保证它能够针对上亿用户古怪刁钻的问题给出准确的答案。

其实,在这个问题上我们不妨想想“人”是怎么做的。如果有人问你知道“林黛玉倒拔垂杨柳”的故事吗?你又恰好不太熟悉四大名著,那么你很可能会回答:我不太清楚。

与此相反,ChatGPT似乎很少会说:我不知道答案。由于有强化学习机制的存在,相信ChatGPT的算法中会对自己生成的每一个答案打一个(或是多维度的)分数。如果OpenAI设下一道阈值,让ChatGPT对不太自然的(也就是没有达到阈值的)答案做“放弃回答”的处理,那么这个不再“无所不知”的ChatGPT或许会更接近我们人类。

除此之外,ChatGPT的不准确还有其他方面的原因。比如“标注大法”虽好,但从实际效果来看,它似乎也是把双刃剑。一方面,由于经过人工标注的反馈,ChatGPT的输出更贴近人们的期望值,因此表现惊艳;但另一方面,这一微调动作似乎影响到了ChatGPT对于文本理解的准确性等指标,使其在一些经典测试中的成绩还不如此前的一些语言AI。

在某种程度上可以说,ChatGPT是以“牺牲性能”为代价,换取了向人类偏好的妥协。不过,我们绝大多数人的成长过程,实际上不也正是这样的吗?把对事实的直接表述藏起来,换取其他人类伙伴的认同……


参考文献:

[1] The PyCoach. Using ChatGPT for Data Science. 

https://medium.com/geekculture/using-chatgpt-for-data-science-ac5f8a00fb5a, 2022.

[2] Stephen Wolfram. What Is ChatGPT Doing … and Why Does It Work? 

https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/, 2023.

[3] Shin, S. et al. On the Effect of Pretraining Corpora on In-context Learning by a Large-scale Language Model. In Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pages 5168–5186, 2022.

[4] Common Crawl. https://commoncrawl.org/.

[5] Sang Michael Xie and Sewon Min. How does in-context learning work? A framework for understanding the differences from traditional supervised learning. 

https://ai.stanford.edu/blog/understanding-incontext/, 2022.

[6] Ouyang, L. et al. Training language models to follow instructions with human feedback. In Alice H. Oh and Alekh Agarwal and Danielle Belgrave and Kyunghyun Cho, editors, Proceedings of Advances in Neural Information Processing Systems, 2022.[7] https://twitter.com/xwpajq/status/1629293200065036289, 2023.

[8] Madani, A. et al. Large language models generate functional protein sequences across diverse families. Nature Biotechnology, 

https://doi.org/10.1038/s41587-022-01618-2, 2023.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,290评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,399评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,021评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,034评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,412评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,651评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,902评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,605评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,339评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,586评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,076评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,400评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,060评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,851评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,685评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,595评论 2 270

推荐阅读更多精彩内容

  • 简介 2022年11月,OpenAI推出了一款AI聊天机器人程序,其强大的问答能力瞬间引爆全网关注度。 组成部分:...
    臻甄阅读 1,623评论 0 0
  • 千万不要小瞧理工科毕业生 搞技术的大佬们一旦开始认真搞钱 整条华尔街都找不到几个对手 不过搞技术的 特别是搞开源技...
    1575b9e60000阅读 164评论 0 0
  • 关于ChatGPT的一些解读 阅读蕴藏着无尽可能,有益于明理、增信、崇德、力行,让人生绽放光彩。 在近10 年 A...
    醉爱琳儿阅读 189评论 0 0
  • ChatGPT技术报告 ChatGPT是一个由OpenAI开发的大型语言模型,是GPT(Generative Pr...
    keeeeeenon阅读 674评论 0 1
  • hi,我是熵减,见字如面。 本文是关于ChatGPT 背后核心技术实现的一个通俗白话版,不涉及到的AI具体实现的技...
    熵减黑客阅读 229评论 0 1