本章共包括三部分内容。本章首先简要回顾自然语言发展历史,从语言、图灵测试一直到2022年年底的新突破——ChatGPT;接下来介绍语言模型基础,包括Token、Embedding等基本概念和语言模型的基本原理,它们是自然语言处理(natural language processing,NLP)最基础的知识;最后介绍与ChatGPT相关的基础知识,包括Transformer、GPT和RLHF。Transformer是ChatGPT的基石,准确来说,Transformer的一部分是ChatGPT的基石;GPT(generative pre-trained transformer,生成式预训练Transformer)是ChatGPT的本体,从GPT-1,一直到现在的GPT-4,按照OpenAI自己的说法,模型还是那个模型,只是它更大了,同时效果更好了;RLHF(reinforcement learning from human feedback,从人类反馈中强化学习)是ChatGPT的神兵利器,有此利刃,ChatGPT所向披靡。
很久以前,有一个神奇的星球,上面居住着各种各样的生物。这些生物虽然各自拥有不同的能力,却没有办法与其他种类的生物进行有效沟通。因为在这个星球上,每个生物都有自己独特的交流方式,无法理解其他生物的语言。
有一天,这个星球来了一个神秘的外星人。外星人告诉这些生物,他们可以通过学习一种全新的、独特的沟通方式来实现相互之间的交流。这种沟通方式就是“语言”。外星人决定将这种神奇的沟通能力赋予其中一种生物,让其成为这个星球上唯一掌握语言能力的生物。为公平起见,外星人决定举办一场比赛,看哪种生物能够最先学会这种神奇的语言。最终,只有人类表现出惊人的潜力。人类不仅迅速掌握了语言的基本知识,还能够不断地创造新的词汇和表达方式。神秘的外星人宣布人类获得了这场比赛的胜利,并将语言能力赋予人类。自此,人类成为这个星球上唯一掌握语言能力的生物。他们开始利用语言建立起复杂的社会体系,发展科学技术,创作美丽的艺术作品,使得人类在这个星球上独树一帜。
当然,这个故事并非真实发生,但是客观来说,语言的确是人类所独有的。在大自然亿万年的进化过程中,每个特定的物种都拥有一些独特的、精妙的技能。有些蝙蝠能用声呐来锁定飞行的昆虫,有些候鸟则能在星座的导航下飞行数千千米。在这场“选秀比赛”中,人类成为唯一可以对呼气时发出的声音进行各种调控,以达到交流信息、描述事件目的的灵长类动物。正是因为掌握了语言这一强大的工具,人类得以在漫长的历史进程中不断地发展和进行创新。无论是社会交往、科学探索还是艺术创作,语言都发挥着至关重要的作用,成为人类独特的精神象征。而语言也自然而然地成为了人类有别于其他物种的标志性特征。换句话说,如果哪个物种掌握了语言,也就意味着这个物种诞生了智能。因此,从人工智能(artificial intelligence,AI)的概念建立伊始,机器能否具备使用自然语言同人类沟通交流的能力,就成了机器是否具有类人智能的一条重要标准。
1950年,图灵发表论文“Computing Machinery and Intelligence”,提出并尝试回答“机器能否思考”这一关键问题。在这篇论文中,图灵提出了“图灵测试”(即模仿游戏)的概念,用来检测机器智能水平。图灵测试的核心思想是,如果一个人(代号C)使用测试对象都能理解的语言询问两个他不能看见的对象任意一串问题,其中一个是正常思维的人(代号B),另一个是机器(代号A)。如果经过若干询问以后,测试者C不能得出实质的区别来分辨A与B的不同,则机器A通过图灵测试(见图1-1)。
图1-1 图灵测试
1956年,人工智能正式成为一个科学上的概念,随后涌现了很多新的研究目标与方向。虽然图灵测试只是一个启发性的思想实验,而非可以具体执行的判断方法,但图灵通过这个假设,阐明了“智能”判断的模糊性与主观性。从此以后,图灵测试成为NLP任务的一个重要评测标准。图灵测试提供了一种客观和直观的方式来评估机器是否具有智能,即通过让机器与人进行对话来判断机器的智能水平。这种方式可以避免对智能本质的哲学争论,也可以绕开智能具体表现形式的技术细节。因此,很多NLP任务都可以用图灵测试来进行评测,如聊天机器人、问答系统、文本生成等。
NLP是计算机科学、人工智能和语言学的交叉领域,关注的是计算机和人类语言之间的相互作用。常见的NLP任务和应用包括信息抽取、文本分类、文本摘要、机器翻译、问答系统、聊天机器人等。图灵测试与NLP任务有着密切而复杂的关系,可以从以下两个方面来概括。
● 图灵测试是NLP任务的一个重要驱动力。图灵测试提出了一个具有挑战性和吸引力的目标,即让机器能够用自然语言与人类进行流畅、智能、多样化的对话。为了达到这个目标,NLP领域不断地发展和创新各种技术和方法,以提高机器对自然语言的理解和生成能力。例如,为了让机器能够回答用户提出的问题,就需要研究问答系统这一NLP任务;为了让机器能够根据用户提供的信息生成合适的文本,就需要研究文本生成这一NLP任务;为了让机器能够适应不同领域和场景的对话,就需要研究领域适应和情境感知这一NLP任务;等等。
● 图灵测试是NLP任务的一个重要目标。图灵测试提出了一个具有前瞻性和理想性的愿景,即让机器能够达到与人类相同甚至超越人类的智能水平。这个愿景激发了很多NLP领域的研究者和开发者,使他们不断地探索和创新,以期实现真正意义上的自然语言的理解和生成。例如,为了让机器能够理解用户提出的问题,就需要研究语义分析、知识表示、逻辑推理;为了让机器能够生成符合用户需求的文本,就需要研究文本规划、文本风格、文本评价;为了让机器能够与用户建立信任和情感的联系,就需要研究情感分析、情感生成、情感对话;等等。
NLP与人工智能发展史有着密切而复杂的关系。它们相互促进、相互影响、相互依存、互为目标。NLP在人工智能发展史上有很多有着里程碑意义的成果。
● 1954年,IBM实现了世界上第一个机器翻译系统——将俄语翻译成英语。
● 1966年,Joseph Weizenbaum开发了ELIZA——一种模拟心理治疗师的聊天机器人。
● 1972年,Terry Winograd开发了SHRDLU——一种能够理解和生成自然语言的程序,用于控制一个虚拟的机器人在一个虚拟的世界中进行操作。
● 2011年,苹果公司推出了Siri——一种基于NLP技术的智能语音助手。同年,IBM的Watson战胜了《危险边缘》节目的冠军选手,展示了NLP技术在问答领域的强大能力。
● 2013年,谷歌公司推出了Word2Vec——一种基于神经网络的词向量表示方法,开启了NLP领域的深度学习时代。
● 2016年,Facebook(如今的Meta)发布了fastText——一种文本分类工具,它可以在处理大规模文本分类任务时取得很好的效果。
● 2017年,谷歌公司发布了一篇很可能是人工智能发展史上最重要的一篇论文“Attention is All You Need”,这篇论文的作者在其中提出了Transformer——一个具有多头注意力机制的模型,它在文本特征提取方面取得了优异的效果。
● 2018年,谷歌公司发布了BERT(bidirectional encoder representations from transformers,基于Transformer的双向编码器表示)预训练模型,它在多项NLP任务上取得了最佳效果。
● 2020年,OpenAI发布的GPT-3模型有多达1750亿个参数,它可以在提供少量样本或不提供样本的前提下完成大多数NLP任务。
以上这些成果依赖于NLP技术的不断发展。时间来到2022年,终于轮到我们的主角隆重登场。2022年11月30日,OpenAI发布了一款智能聊天机器人——ChatGPT(见图1-2)。ChatGPT一经发布就立刻点燃了人工智能圈,仅仅5天用户量就达到了100万。OpenAI不得不紧急扩容,用户发现ChatGPT不仅能很自然流畅地和人聊天,还能写论文、讲笑话、编段子、生成演讲稿、写请假条、模仿导师写推荐信,甚至帮你写代码、写营销策划案等。拥有了ChatGPT,就像你的身边有了一个功能强大的秘书。到了2023年1月,ChatGPT就成为史上用户量最快达到1亿的应用。
图1-2 ChatGPT官方网站(图片源自OpenAI)
无论是ChatGPT,还是其他后来的追随者,它们其实都是语言模型,准确来说是大语言模型。在使用它们时,无论是调用接口还是开源项目,总有一些参数可能需要调整。对大部分业内人员来说,这应该都不成问题;但对非业内人员来说,这就有点稍显专业了。本章接下来主要介绍ChatGPT相关技术的基本原理,我们尽量以浅显的语言来表述,虽不能深入细节,但知晓原理足以让读者很好地使用ChatGPT。