ChatGPT技术揭秘:大型语言模型与知识图谱的深度融合

2

在当今信息爆炸的时代,问答系统已成为我们日常生活中不可或缺的一部分。从搜索引擎到智能个人助手,它们无处不在。一个优秀的问答系统需要具备访问相关知识并进行有效推理的能力。知识的来源多种多样,既可以隐式地蕴藏在大型语言模型(LLMs)中,例如ChatGPT、T5和LaMDA等,这些模型通过在海量未结构化文本上进行预训练而获得知识;也可以显式地表示在知识图谱(KGs)中,例如OpenKG和ConceptNet,其中实体被表示为节点,实体之间的关系则被表示为边。

近年来,预训练的LLMs在众多问答任务中取得了令人瞩目的进展。值得注意的是,ChatGPT等模型在理解和生成自然语言方面的能力,引发了人们对其训练过程中是否利用了知识图谱的疑问。从文章中提供的ChatGPT在不同时间给出的答案可以看出,模型本身对这一问题的回答并不一致,这进一步引发了我们对LLMs与知识图谱之间关系的思考。

那么,ChatGPT的成功仅仅是高概率语言模式的再现吗?为什么要使用知识图谱?仅仅依靠数据驱动是远远不够的。只有将知识融入决策过程,才能在充分的背景下做出明智的决定,并对决策充满信心。本文将深入探讨大型语言模型、Transformer架构、训练数据以及Prompt工程等关键概念,带您了解ChatGPT背后的技术原理及其与知识图谱的潜在联系。

大型语言模型:智能的基石

大型语言模型(LLMs)在过去几年中取得了显著的进展,展现出惊人的生成人类语言的技能。下图展示了流行的LLMs在人类认知能力方面的得分情况:

LLMs在人类认知能力方面的得分情况

语言模型通常通过文本生成来解决问答任务。根据训练数据集的不同,语言模型可以分为以下几类:

  • 通用模型:例如PaLM、OPT和GPT-NeoX-20B等。
  • 特定领域模型:例如Galactica、SciBERT和BioMegatron等。

更先进的对话型AI模型,如ChatGPT,受益于最近语言模型的进展,能够创建在与用户对话中回答问题的聊天机器人。GPT,即Generative Pretrained Transformer,是一种AI算法,它通过摄取大量文本和数据,并推导出语言规则和关系来创建新内容。它不是简单地检索信息,而是根据通过算法处理的大量数据导出的规则和关系生成信息。

Transformer:NLP领域的革命

Transformer架构已被广泛应用于各种自然语言处理(NLP)任务,例如语言翻译、情感分析、文本摘要和问答等。最初,Transformer模型主要用于语言翻译,特别是将英语翻译成德语。然而,研究人员很快发现该架构可以很好地适应其他语言任务。在接下来的几年里,Transformer架构的各种变体几乎主导了所有与语言相关的机器学习任务的排行榜。这种趋势也促进了Huggingface等公司的发展。

下图展示了Transformer家族模型的关系、时间线和大小:

Transformer家族模型的关系

Transformer家族模型的时间线

Transformer家族模型的大小

Transformer之所以能够迅速占领大多数自然语言处理排行榜的关键原因之一是它们具有快速适应其他任务的能力,即迁移学习。预训练的Transformer模型可以非常容易和快速地适应它们未被训练过的任务,这带来了巨大的优势。

RLHF:人机协作的典范

Transformer取得成功的一个重要方面是语言模型中的RLHF(Reinforcement Learning with Human Feedback,人类反馈强化学习)。RLHF已成为人工智能的重要组成部分。其思想非常简单:一旦一个语言模型被预训练,我们就可以生成不同的对话响应,并让人类对结果进行排名。

在ChatGPT的训练过程中,OpenAI让人类与自己进行角色扮演——通过称为人类反馈强化学习(RLHF)的过程,既充当AI助手又充当其用户。然后,在构建了足够多的对话之后,它们被馈送到GPT-3.5。在充分接触对话之后,ChatGPT应运而生。

RLHF流程示意图

为了更好地理解RLHF,我们可以用一个例子来说明:

想象一下,你有一个名叫Rufus的机器人,它想学习如何像人一样说话。Rufus有一个语言模型可以帮助他理解单词和句子。首先,Rufus会使用他的语言模型说些什么。例如,他可能会说“I am a robot”。

然后,一个人会听Rufus说的话,并就这听起来是否像人类会说的自然句子给他反馈。人类可能会说,“这不太对,Rufus。人类通常不会说‘I am a robot’。他们可能会说‘I’m a robot’或‘I am a machine’。”

Rufus将接受此反馈并使用它来更新他的语言模型。他将尝试使用他从人类那里收到的新信息再次说出这句话。人类会再次倾听并给Rufus更多反馈。这个过程将一直持续到Rufus可以说出人类听起来自然的句子为止。

随着时间的推移,Rufus将学习如何像人一样说话,这要归功于他从人类那里收到的反馈。这就是使用RL和人类反馈来改进语言模型的方式。

RLHF示例

训练数据:知识的源泉

ChatGPT和谷歌的Bard都具有独特的训练风格。ChatGPT在GPT-3.5模型上运行,而Bard则在LaMDA2上运行。GPT-3.5可以被视为ChatGPT的“大脑”,而LaMDA2则是Bard的。它们的主要共同点是它们都建立在Transformer之上。但据目前所知,这就是共同点结束的地方。

它们之间的主要差异在于它们阅读的内容不同。OpenAI一直对GPT-3.5训练的数据集保密。但我们确实知道GPT-2和GPT-3都至少部分地在The Pile数据集上进行了训练——一个包含多本完整小说和非小说书籍、来自Github的文本、所有维基百科、StackExchange、PubMed等的数据集。这个数据集非常庞大,原始文本超过825 GB。

对话语言与书面语言不同。一个作者可能文字非常有激情,但在一对一的谈话中却显得生硬。因此,OpenAI不能仅仅以别名“ChatGPT”发布GPT-3.5就此收工。相反,OpenAI需要在对话文本上微调GPT-3.5以创建ChatGPT,以语言服务模型InstructGPT为基础。

这就是有些人可能认为Bard有优势的地方。LaMDA没有接受过The Pile的训练。相反,LaMDA从一开始就专注于阅读对话。它不读书,它以谈话的节奏和方言为模式。结果,Bard捕捉到了将开放式对话与其他交流形式区分开来的细节。

换句话说,ChatGPT的大脑在学会如何进行类似人类的对话之前,首先学会了阅读小说、研究论文、代码和维基百科,而Bard只学会了对话。

模型 训练数据 参数量 特点
Typical chatbot(Bert) 在特定主题的数据集上 只从训练数据中提供答案
GPT-3 未标记的文本数据集(维基百科、小说等) 1750亿参数 有限的对话流
LaMDA 未标记的文本数据集(对话数据) 1370亿参数 开放式对话,无主题

训练ChatGPT:一项艰巨的任务

训练一个本地化的ChatGPT需要大量的资源:

  1. 训练硬件:需要拥有约10,000个GPU和约285,000个CPU内核的超级计算机。也可以像OpenAI对微软所做的那样,花费他们10亿美元(USD)来租用它。
  2. 人员配备:2016年,OpenAI每年向首席科学家Ilya Sutskever支付190万美元(USD),他们拥有一支120人的团队。第一年的人员配置预算可能超过2亿美元。
  3. 时间(数据收集):EleutherAI花了整整12-18个月的时间来同意、收集、清理和准备The Pile的数据。
  4. 时间(训练):预计一个模型需要9-12个月的训练,如果一切顺利的话。您可能需要多次运行它,并且可能需要并行训练多个模型。(参见GPT-3论文、中国的GLM-130B和Meta AI的OPT-175B日志)。

总而言之,训练ChatGPT需要相当强大的计算机和研发人力资源。

Prompt工程:与LLM沟通的艺术

在像ChatGPT这样的大型语言模型(LLM)中,提示可以包含从简单的问题到带有各种数据的复杂问题(请注意,您甚至可以将原始数据的CSV文件作为输入的一部分)。它也可以是一个模糊的陈述,比如“给我讲个笑话,我今天情绪低落。”

Prompt可以由以下任一组成部分包括:Instructions、Question、Input data、Examples。一些基本的组合例子如下:

  • Instructions + Input data:我毕业于清华大学,职业是算法工程师,做过很多关于NLP的任务,可以帮忙写一个简历吗?

生成简历示例

  • Question + Examples:我喜欢看《傲慢与偏见》,你还可以推荐类似的书籍吗?

  • Instructions + Question:ChatGPT可以在哪些方面进行改进?

ChatGPT改进方向示例

将大型语言模型与知识图谱结合也是目前一个新的改进方向。通过将知识图谱集成到对话型人工智能系统中,ChatGPT可以利用图谱中表示的结构化数据和关系来提供更准确和全面的响应。知识图谱可以作为领域特定知识的来源,这些知识可以用来丰富ChatGPT的响应,并使其能够处理需要深入领域专业知识的复杂用户查询。

知识图谱:构建行业应用的基石

《知识图谱实战:构建方法与行业应用》 于俊 李雅洁 彭加琪 程知远 著

知识图谱实战书籍封面

推荐语:科大讯飞专家撰写,国内多位专家联袂推荐,一书掌握知识图谱的构建方法与主流应用!详解知识图谱构建7个核心步骤,剖析CCKS近年问答评测任务方案,拆解8个行业综合案例的设计与实现。

内容简介:

  • 这是一本综合介绍知识图谱构建与行业实践的著作,是作者多年从事知识图谱与认知智能应用落地经验的总结,得到了多位知识图谱资深专家的推荐。

  • 本书以通俗易懂的方式来讲解知识图谱相关的知识,尤其对从零开始构建知识图谱过程中需要经历的步骤,以及每个步骤需要考虑的问题都给予较为详细的解释。

  • 本书基于实际业务进行抽象,结合知识图谱的7个构建步骤,深入分析知识图谱技术应用以及8个行业综合案例的设计与实现。

  • 全书分为基础篇、构建篇、实践篇,共16章内容。

    基础篇(第1章),介绍知识图谱的定义、分类、发展阶段,以及构建方式、逻辑/技术架构、现状与应用场景等。

    构建篇(第2~8章),详细介绍知识抽取、知识表示、知识融合、知识存储、知识建模、知识推理、知识评估与运维等知识图谱构建的核心步骤,并结合实例讲解应用方法。

    实践篇(第9~16章),详细讲解知识图谱的综合应用,涵盖知识问答评测、知识图谱平台、智能搜索、图书推荐系统、开放领域知识问答、交通领域知识问答、汽车领域知识问答、金融领域推理决策