提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性


导读:
1.LLMs简介
2.LLMs的局限性
 2.1.知识截止问题
 2.2.过时信息
 2.3.纯粹幻觉
 2.4.缺乏隐私信息
3.克服LLMs的局限性
 3.1.监督微调(SFT)
 3.2.检索增强生成
4.知识图谱作为RAG应用的数据存储

大型语言模型(LLM)在多个领域表现出了令人印象深刻的能力,但它们有很大的局限性,影响了它们的效用,特别是在生成准确和最新的信息时。一种被广泛采用的解决这些局限性的方法是检索增强生成(RAG),这是一种将LLM与外部知识库相结合的工作流,通过在运行时从可信来源提取数据来提供准确和当前的响应。 RAG可以显著减少幻觉,但不能完全消除幻觉。幻觉是LLM最持久的挑战之一。此外, RAG允许系统将一般知识与可能在模型预训练中无法很好表示的利基、领域特定信息无缝地连接起来。尽管有这些优势,RAG实现通常只关注非结构化数据,而忽略了知识图谱等结构化源的潜力。

知识图谱是实体、属性和关系的结构化表示,提供了一个连接结构化和非结构化数据的语义框架。例如,客户支持记录是非结构化文本,而产品目录或用户数据库是结构化的。连接它们意味着使系统能够将对话中提到的“我最近订购的笔记本电脑”与确切型号、购买日期和保修状态的结构化记录联系起来。知识图谱是RAG的关键组成部分,它可以实现准确、丰富且相互关联的信息检索,例如将客户对药物相互作用的查询与结构化医疗指南、先前的案例研究联系起来。 以及患者的实时病史。将知识图表集成到RAG管道中可以克服LLM的限制,增强数据检索,并促进跨医疗保健、金融和技术支持等领域管理和使用不同数据类型的整体方法。

本文面向希望构建更强大、更易于解释和更有能力的RAG系统的开发人员、研究人员和数据从业者。您将学习如何用知识图表增强现有的RAG架构,以及如何从头开始构建新的Graphrag管道。在此过程中,您将获得数据建模、图表构建、检索工作流和系统评估方面的实用技能。并将清楚地了解LLM、RAG和知识图表是如何交叉在一起的,以创建能够处理复杂查询并提供准确、可靠和可解释结果的强大系统。

1. LLMS简介

到目前为止,你可能已经接触或听说过ChatGPT,它是对话式人工智能最突出的例子之一。ChatGPT是由OpenAI开发并由LLMS提供支持的对话式用户界面。 例如GPT-4(OpenAI等,2024)。LLM基于Transformer架构构建(Vaswani等,2017),使它们能够高效地处理和生成文本。这些模型基于大量的文本数据进行训练。 让他们学习模式、语法、语境,甚至一定程度的推理。训练过程包括向模型输入包含各种文本的大型数据集,主要目的是使模型能够准确预测序列中的下一个单词。这种广泛的接触使模型能够根据从数据中学到的模式理解和生成类似人类的文本。例如, 如果你使用“Never Gonna”作为LLM的输入,你可能会得到类似于图1所示的响应。

图1显示了LLM如何处理输入"Never Gonna"并生成输出"Give You Up"。这突出表明了LLM如何依赖其在培训期间学到的模式和关联,例如来自常见文化背景(包括流行音乐)的模式和关联。这些响应的质量和相关性在很大程度上取决于培训数据集的多样性和深度,这决定了LLM识别和复制此类模式的能力。

图片[1]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure1 LLMs are trained to predict the next word.

图1 LLMs被训练来预测下一个词

虽然LLM擅长生成适合上下文的文本,但它们不仅仅是自动完成系统。它们遵循指令和适应各种任务的非凡能力令人印象深刻。例如,如图2所示,您可以让ChatGPT以特定风格生成关于特定主题的俳句(haiku)。这种功能不仅说明了模式识别,还说明了对特定任务指令的理解,从而实现了创造性和细致入微的输出,远远超出了简单的文本预测。

图片[2]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure2 Writing a haiku with ChatGPT

图2 用ChatGPT写俳句

LLM能够遵循指令并生成多样化的复杂输出,无论是精心制作俳句还是提供结构化的反应,这不仅仅是预测序列中的下一个单词。这种理解和执行详细指令的能力使LLM特别适合于各种各样的任务。在本文中, 您将使用这种指令跟踪能力来设计和完善RAG管道。通过利用指令跟踪功能,您可以更有效地集成检索组件,根据特定上下文定制响应,并优化系统的准确性和可用性。

ChatGPT的常识广度同样显著。例如,图3显示了ChatGPT在收到有关首次载人登月的提示时的反应。

图片[3]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure3 Retrieving factual information from ChatGPT

图3 从ChatGPT获取事实信息

如果你用来自NASA或维基百科的外部信息来验证这个回答,你可以观察到模型产生了一个准确的回答,没有错误的信息。这样的回答可能会给你一种印象,好像LLM构建了一个庞大的事实数据库,它可以在收到提示时从中检索。然而,模型并不存储特定的事实,事件,或来自训练数据集的信息。相反,它对所训练的语言进行复杂的数学表示。记住,LLM是基于Transformer,这是一种基于神经网络的深度学习架构,可以预测下一个单词,如图4所示。

图4显示了一个神经网络,它预测序列中的下一个单词,类似于LLMS的功能。中心部分显示了由多层神经元组成的网络,这些神经元通过代表信息流的线连接在一起。每个连接都有一个权重。 例如示例值0.04,它会影响连接的强度。在训练期间,模型会学习这些权重的值来改进其预测。当被问及特定的历史事件时,LLM不会从其训练数据中回忆起该事件。 它根据神经网络中学习到的权重生成响应,类似于预测序列中的下一个单词。因此,虽然LLM可以提供看似知识渊博的答案,但它们的响应是基于这些学习到的权重而不是显式记忆。引用Andrej Karpathy的话:“我们知道他们(LLM)建立并维护着某种知识数据库,但即使是这个知识库也非常奇怪、不完美和怪异” (https://www.youtube.com/watch?v=zjkBMFhNj_gat12:40).

图片[4]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure4 Neural network trained to predict the next word based on the input sequence of words

图4 神经网络训练出根据输入词序列预测下一个词

2. LLM的局限性

代表了人工智能发展的突破性一步,在一系列应用中提供了非凡的能力。然而,与任何变革性技术一样,它们也不是没有挑战和限制。在这里我们将深入探讨其中的一些局限性及其影响。

2.1. 知识截止问题

最明显的限制是LLM不知道训练数据集中未包含的事件或信息。此时,ChatGPT知道截至2023年10月发生的信息。例如,如果你向ChatGPT询问2024年的某个事件,你会得到类似于图5所示的回答。

在LLM的上下文中, 知识截止日期是指模型的训练数据包含信息的最近时间点。模型可以访问广泛的文本数据,其中包含来自不同来源的关于该日期事件的信息。 模型用来生成响应并提供信息。在此截止日期之后发生或发布的任何内容,模型都不知道,因为它没有包含在训练数据集中;因此,它无法提供有关截止日期之后发生的事件、发展或研究的信息。

图片[5]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure5 Example of a knowledge cutoff date disclaimer

图5 知识截止日期免责声明示例

2.2. 过时的信息

一个不太明显的限制是,LLM有时可以提供过时的回答。虽然它们可以在知识截止之前提供详细而准确的信息,但它们可能无法反映最近的发展。例如,截至2023年底, 马克·库班(Mark Cuban)将其在达拉斯独行侠特许经营权中的多数股权出售给了阿德尔森家族和杜蒙家族,同时保留了少数股权。这一重大更新凸显了过去正确的信息可能会过时。例如,在关于达拉斯独行侠的查询中,图6所示的回答反映了库班是唯一所有者,但这已不再准确(Rader,2023)。

图片[6]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure6 Sometimes ChatGPT responds with outdated information.

图6 有时ChatGPT会回复过时的信息

这凸显了定期更新模型训练数据或使其能够获取实时信息的重要性。随着事件和事实的不断演变,即使是所有权结构等小细节也会显著影响我们对组织或个人的看法。这一局限性凸显了确保人工智能系统在动态环境中保持准确性和相关性的重要性。

2.3. 纯粹的幻觉

LLLMs的另一个众所周知的局限性是,即使答案中包含不正确或捏造的信息,它们也倾向于提供自信的答案。人们可能会认为,尽管这些模型具有知识截止日期,但它们提供了截至该日期的准确事实数据。然而,即使是关于截止日期之前发生的事件的信息也可能是不可靠的。

一个突出的例子是,美国的律师向法院提交了虚假、虚构的法律引文,却不知道这些引文是由ChatGPT生成的(Neumeister,2023)。这种自信的错误通常被称为幻觉。 模型输出的信息听起来似是而非,但事实上并不正确或完全是捏造的。外部引用(如URL、学术引用或WikiData ID等标识符)尤其容易出现这种行为。

幻觉之所以出现,是因为LLM不是推理引擎。它们是经过训练的概率语言模型,根据训练数据中的模式来预测下一个代币听起来不错。它们不像人类那样了解事实。相反,它们通过猜测最有可能的续集来生成文本。 不管这是不是真的。统计模式匹配和实际理解之间的根本差异是LLMs与人类认知的区别。

为了说明这一点,我们可以让ChatGPT提供达拉斯独行侠NBA球队的WikiData ID。如图7所示,模型自信地返回了一个标识符--但这是不正确的。

图片[7]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure7 ChatGPT can produce responses with incorrect information.

图7ChatGPT 可能会生成错误信息的回答

模型果断地回复了一个遵循wikidata格式的ID。但是,如果您验证此信息,则可以观察到Q152232是电影《女人之光》 (https://www.wikidata.org/wiki/Q152232) 。因此,用户必须认识到,LLMs虽然通常信息丰富,但并非万无一失,而且可能会产生错误信息。关键是要批判性地对待他们的回答,并通过可靠的外部来源验证其准确性,尤其是在精确度和事实正确性为核心的环境中。

2.4. 缺乏隐私信息

如果你正在使用LLM构建一个公司聊天机器人,你可能希望它回答涉及内部或专有信息的问题,这些信息或事件并不公开。在这种情况下,即使这些信息或事件发生在LLM’s的知识截止日期之前,它们也不会成为其训练数据的一部分。因此,模型无法对此类查询生成准确的响应,如图8所示。

图片[8]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure8 ChatGPT didn’t have access to some private or confidential information during training.

图8 ChatGPT在培训期间没有权限访问某些私人或机密信息

一个潜在的解决方案是公开公司的内部信息,希望将其纳入LLM的培训数据集。然而,这种方法既不实用也不安全。相反,我们将探索并展示更有效的策略来克服这些限制,同时保持数据隐私和控制。

关于LLM的其他限制的说明

虽然本文将重点探讨LLM在回答中提供事实正确且最新信息的局限性,但也必须承认LLM还有其他限制。其中一些包括

  • 响应中的偏见——LLM有时会产生带有偏见的响应,反映训练数据中的偏见。
  • 缺乏理解和上下文——尽管大型语言模型复杂,却并不真正理解文本。他们根据从数据中学习到的模式处理语言,这意味着他们可能会忽略细微差别和语境上的微妙之处。
  • 提示注入的脆弱性——大型语言模型容易遭受提示注入攻击,恶意用户通过输入控模型生成不当、偏见或有害的响应。这一漏洞对确保LLM应用在现实场景中的安全性和完整性构成了重大挑战。
  • 反应不一致——LLMs在多次交互中可能对同一问题产生不同的答案。这种不一致性源于它们的概率性质和缺乏持久记忆,这可能妨碍它们在需要稳定性和重复性的应用中的实用性。

本文致力于探讨和解决LLM在生成事实准确且及时回答方面的特定局限性。虽然我们认识到大型语言模型的其他局限性,但本次讨论不会涵盖它们。

3. 克服LLM的局限性

LLM是功能强大的工具,但在处理特定领域的问题或获取专业的最新知识时,它们往往会遇到一些限制。在商业环境中实现类似ChatGPT的应用程序需要精确且事实准确的输出。为了克服这些挑战, 我们可以使用监督微调和RAG等方法向LLM注入特定领域的知识。在本节中,我们将探讨这些方法是如何工作的,以及如何应用它们来向LLM注入特定领域的知识。

3.1. 监督微调

起初,我们很多人认为可以通过额外的训练来克服LLM的限制。例如,我们可以通过不断更新模型来克服知识截止日期的限制。然而,要有效地解决这个限制,我们首先需要更好地理解LLM的训练。如Andrew Karpathy所述 (https://www.youtube.com/watch?v=bZQun8Y4L2A) ,像ChatGPT这样的LLM的训练可以分为以下四个阶段:

1、预训练-模型读取大量文本,通常超过一万亿个令牌,以学习基本的语言模式。它练习预测句子中的下一个单词。这是基础步骤,就像在你会写作之前学习词汇和语法一样。这是资源最密集的阶段。 这可能需要数千个GPU,并可能需要几个月的持续训练。 

2、有监督的微调——模型会接收到特定的高质量对话示例,以增强其像一位有帮助的助手那样进行回应的能力。它会继续练习语言,但现在的重点是生成有用且准确的回应。可以将其视为从基础语言学习阶段过渡到练习对话技能的阶段。与预训练相比,这所需的资源要少得多,如今即使是针对较小的 LLM 模型,也可以在单台笔记本电脑上运行。

 3、奖励建模 — 该模型通过比较对相同问题的不同回答来学习区分好与坏的回应。这就像有一位教练向模型展示什么是好的表现,这样模型就可以努力复制这种品质。

 4、强化学习 — 该模型与用户或模拟环境进行互动,以根据反馈进一步调整其回应。这与学习一项运动类似:不仅通过训练,还通过玩实际游戏并从体验中学习来练习。 由于预训练阶段既昂贵又耗时,因此不适合持续更新,因此我们的想法是使用监督微调阶段来克服LLM的限制。在监督微调阶段,您向语言模型提供输入提示的具体示例以及您希望模型生成的相应输出。图9所示就是这样一个例子。

图片[9]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure9 Sample record of a supervised finetuning dataset

图9 监督微调数据集的样本记录

图9展示了一个可用于微调 LLM 的问答对的示例。在这个示例中,输入提示或问题涉及哪支球队赢得了 2023 年 NBA 冠军,对应的答案是丹佛掘金队。理论依据是,通过这个示例,LLM 会将这一事实纳入其对语言的数学表示中,并能够回答围绕 2023 年 NBA 总冠军的问题。一些研究表明,有监督的微调可以提升 LLM 的真实性(Tian et al., 2023)。然而,其他使用不同方法的研究也表明,LLM 很难通过微调学习新的事实信息(Ovadia et al., 2023) 。

虽然有监督的微调可以增强模型的总体知识,但这仍是一个复杂且不断发展的研究领域。因此,在当前的技术发展阶段,在生产环境中部署一个可靠、经过微调的语言模型会面临重大挑战。幸运的是,存在一种更高效、更简单的方法来解决 LLMs 的知识局限性问题。

3.2. 检索增强生成

提升LLM准确性并克服其局限性的第二种策略是RAG工作流程,它将LLM与外部知识库结合,以提供准确且最新的回答。与其依赖LLM的内部知识,不如直接在输入提示中提供相关事实或信息(Lewis等,2020)。该概念(RAG)利用LLM在理解和生成自然语言方面的优势,同时提示中提供事实信息,减少对LLM内部知识库的依赖,从而减少幻觉。

RAG工作流程主要分为两个阶段:

  • 检索
  • 增强生成

检索阶段,相关信息来自外部知识库或数据库。在增强生成阶段,这些检索到的信息与用户输入结合,增强LLM提供的上下文,使其能够生成基于可靠外部事实的响应。RAG的工作流程如图10所示。

图片[10]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure10 Providing relevant information to the LLM as part of the input

图10 作为输入的一部分,向LLM提供相关信息

如前所述,LLM擅长理解自然语言并遵循提示中的指令。在RAG工作流程中,目标转向面向任务的响应生成,LLM遵循一套指令。该过程涉及使用检索工具从特定知识库中获取相关文档。LLM随后根据所提供文件生成答案,确保回答准确、上下文相关且符合具体指南。这种系统化的方法将答案生成过程转变为一个有针对性的任务,即检查并利用检索到的信息生成最终答案。在输入提示中提供事实信息的示例见图11。

图11展示了大型语言模型进程如何遵循RAG工作流程的提示指令的示例。该提示强调使用检索上下文以确保准确且相关的回答的重要性,并可细分为

  • 提供背景——即引入相关信息的事实陈述——本案中,丹佛掘金队以4比1战胜迈阿密热火队,确认他们是2023年NBA冠军。这作为LLM的知识库输入。
  • 用户查询——一个具体问题,“谁赢得了2023年NBA总冠军?”,指示LLM从提供的上下文中提取相关信息。
  • 生成答案——LLM的回复与检索的上下文相符:“丹佛掘金赢得了2023年NBA总冠军。”
    图片[11]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure11 Providing relevant information to the answer as part of the prompt

图11 作为提示的一部分,为答案提供相关信息

你可能会好奇,如果用户必须同时提供背景和问题,RAG流程的优势是什么?实际上,检索系统独立于用户运行。用户只需提供问题,检索过程则在幕后进行,如图12所示。

图片[12]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure12 Populating the relevant data from the user and knowledge base into the prompt template and then passing it to an LLM to generate the final answer

图12 将用户和知识库的相关数据填充到提示模板中,然后交给大型语言模型生成最终答案

在RAG流程中,用户首先提出一个问题。在幕后,系统将该问题转化为搜索查询,并从公司文档、知识文章或数据库等来源检索相关信息。高级检索算法会找到最合适的内容,然后将其与原始问题结合,形成丰富的提示。该提示被发送给大型语言模型(LLM),LLM根据问题和检索的上下文生成响应。整个检索过程是自动的,用户无需额外输入,除了最初的问题。这使得RAG既无缝又高效,不仅提升事实准确性,还能减少产生幻觉答案的可能性。

RAG方法因其简洁高效而获得了主流流行。它现在也成为了ChatGPT界面的一部分,LLM可以利用网络搜索搜索相关信息,然后生成最终答案。付费版ChatGPT用户可能熟悉如图13所示的RAG流程。

图片[13]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure13 ChatGPT uses Web Search to find relevant information to generate an up-to-date answer.

图13 ChatGPT利用网络搜索寻找相关信息,生成最新的答案

虽然 ChatGPT 中 RAG 的具体实现未公开,但我们可以尝试推断它在底层的作用。当LLM出于某种原因决定需要提取额外信息时,它可以向Web搜索输入查询。我们并不确切知道它如何浏览搜索结果、解析网页信息,或判断是否获取了足够的信息。不过,我们知道它在网页搜索时使用了关键词,并根据官方NBA网站上的信息生成了最终回复(https://www.nba.com/playoffs/2023/the-finals)

4. 知识图谱作为RAG应用数据存储

在计划实施RAG应用时,选择合适的存储解决方案非常重要。虽然数据库选项众多,但我们认为知识图谱和图数据库尤其适合大多数RAG应用。知识图谱是一种利用节点表示概念、实体和关系,连接这些节点的数据结构。知识图示例见图14。

图片[14]-提高 LLM 准确性:通过 SFT、RAG 和知识图谱集成解决局限性-AI Express News

Figure14 A knowledge graph can store complex structured and unstructured data in a single database system.

图14 知识图谱可以将复杂的结构化和非结构化数据存储在单一数据库系统中

知识图谱高度灵活,能够存储结构化信息(如员工详情、任务状态和公司层级)和非结构化信息(如文章内容)。如图1.14所示,这种双重能力使其非常适合复杂的RAG应用。结构化数据允许精确高效地查询,以回答诸如“特定员工被分配了多少任务?”或“哪些员工向特定经理汇报?”等问题。例如,在图1.14中,结构化数据如“Sam Altman是OpenAI的首席执行官”或“John Doe自2023年1月1日起成为OpenAI员工”,可以直接查询以回答诸如“谁是OpenAI的首席执行官?”或“John Doe在公司工作多久了?”这样的问题。同样,结构化关系如“John Doe被分配到状态为已完成的任务”,允许精确查询,如“员工已完成哪些任务?”或“OpenAI中谁被分配到特定任务?”这一能力对于从复杂且相互关联的数据中生成可作的洞察至关重要。

另一方面,非结构化数据,如文章文本,通过提供丰富的上下文信息补充结构化数据,增加深度和细致差别。例如,图1.14中的非结构化文章节点提供了关于新LLM模型和嵌入的详细信息,但没有结构化框架,它无法回答诸如“这篇文章与OpenAI员工有什么关系?”这样的具体问题。

重要的是,单靠非结构化数据无法回答所有类型的问题。虽然它可以为开放式或模糊查询提供洞察,但缺乏实现过滤、计数或聚合等精确作所需的结构。例如,回答“公司内完成了多少任务?”或“哪些员工被分配到与OpenAI相关的任务?”需要结构化的关系和属性,如图1.14右侧所示。没有结构化数据,这类查询需要详尽的文本解析和推断,计算量大且常不精确。通过将结构化和非结构化信息整合在同一框架中,知识图谱实现了两者无缝融合,成为高效且准确地回答RAG应用中广泛问题的强大工具。此外,非结构化数据与结构化数据之间的明确连接,解锁了高级检索策略,如将文本中的实体与图节点连接,或将结构化结果与源段落进行上下文化,这些都难以仅用任何类型的数据实现。

总结

  • 大型语言模型(LLM),如ChatGPT,基于transformer架构,能够通过从大量文本数据中学习模式,高效地处理和生成文本。
  • 虽然LLM在自然语言理解和生成方面表现出卓越的能力,但它们存在固有的局限,比如知识截止、可能生成过时或幻觉信息,以及无法访问私人领域特定的知识。
  • 由于资源限制和定期更新模型的复杂性,持续微调LLM以增强其内部知识库并不切实际。
  • RAG通过将LLM与外部知识库结合解决局限,通过直接将相关事实注入输入提示,提供准确且丰富的上下文响应。
  • RAG的实现传统上侧重于非结构化数据源,限制了其在需要结构化、精确和相互关联信息任务时的范围和有效性。
  • 知识图谱利用节点和关系来表示和连接实体和概念,整合结构化和非结构化数据,提供整体的数据表示。
  • 将知识图谱整合进RAG工作流程,可以增强其检索和组织上下文相关数据的能力,使LLM能够生成准确、可靠且可解释的响应。

原文链接:https://mp.weixin.qq.com/s/4KfYzab25kKFtjJQLPOTYA

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容