微信扫码
与创始人交个朋友
我要投稿
在企业级别如何将知识图谱(KGs)和大型语言模型(LLMs)一起实施
**简介:**
本文探讨了在企业级别整合知识图谱(KGs)和大型语言模型(LLMs),突出它们在增强数据可访问性、准确性和人工智能实施方面的协同作用、应用和挑战。
**主要要点:**
- KGs和LLMs通过弥补事实知识和黑匣子模型的弱点相互补充。
- LLMs可以通过实体解析和标记非结构化数据来协助建立KGs。
- KGs在GenAI管道中增强数据质量、访问控制和法规合规性。
- 检索增强生成(RAG)结合KGs和LLMs以提高响应准确性。
- 提供到查询的检索和使用KG数据对LLMs进行微调是有价值的整合策略。
- 通过基于KGs驱动的统一方法实现的人工智能应用可以获得效率和可扩展性的益处。
- KGs与LLMs之间的协作是有效的企业级数据管理和AI利用所必不可少的。
正文
大型语言模型(LLMs)和知识图谱(KGs)是为更多人提供数据访问的不同方式。KGs使用语义来连接数据集,通过它们代表的实体及其含义。LLMs使用向量和深度神经网络来预测自然语言。它们通常都旨在“解锁”数据。对于实施KGs的企业,最终目标通常是像数据市场、语义层、FAIR化数据或使企业更注重数据等。这些都是不同的解决方案,但最终目标相同:使更多数据更快地向合适的人提供。对于实施LLM或其他类似GenAI解决方案的企业,目标通常也类似:为员工或客户提供一个“数字助手”,以更快地将正确信息传递给合适的人。潜在的共生关系是明确的:LLM的一些主要弱点(即它们是黑盒模型,且在事实知识方面存在困难)是KG的主要优点之一。KGs本质上是一组事实,并且它们是可解释的。但是,KGs和LLMs如何以及应该如何在企业中一起实施呢?
去年我找工作的时候,我不得不写很多求职信。我使用ChatGPT进行辅助——我将现有的求职信与我的简历以及申请的工作的职位描述一起复制到提示窗口中,然后请求ChatGPT来完成剩下的工作。ChatGPT帮助我通过一些相当不错的初稿来获得动力,但未经检查,它也给了我一些我没有的经验,并声称我去过我从未上过的学校。
提到我的求职信是因为:
1)我认为它是说明LLM的优点和缺点以及KG在它们的实施中的重要性的一个很好的例子;2)这个用例与许多大型企业目前使用LLM的情况并没有太大不同:自动报告生成。只要你明确地在提示中包括现有的求职信和职位描述,ChatGPT就能很好地改写求职信的内容,使其更加专注于特定的职位描述。确保LLM具有正确的内容是KG的作用所在。如果你只是简单地写‘为我写一封求职信’,结果会令人发笑。此外,求职信的例子是LLM的一个很好的应用,因为它涉及到总结和重组语言。还记得LLM中的第二个L代表什么吗?LLM在历史上一直专注于非结构化数据(文本),这也是它们的强项,而KG的优势则在于整合结构化和非结构化数据。你可以使用LLM来写求职信,但你应该使用KG来确保它有正确的简历。
注意:我不是一个人工智能专家,但我对那些自以为能够预知企业级人工智能实施未来会是什么样的人也表示怀疑。这个领域发展得如此之快,以至于根本不可能跟上,更不用说预测企业级人工智能实施的未来会是什么样子。下面我描述了KG和LLM目前的一些整合方式,就我所看到的情况而言。这并不是一个详尽无遗的列表,我欢迎补充和建议。
KG和LLM之间的两种关联方式
KG和LLM目前有两种互动方式:LLM作为构建KG的工具,而KG作为LLM或GenAI应用的输入。在知识图谱领域工作的人们处于一种奇怪的位置,我们构建的东西被期望改进人工智能应用,而人工智能又同时改变了我们构建这些东西的方式。我们被期望在日常工作中优化人工智能作为一种工具,同时改变输出以促进人工智能的优化。这两种趋势相关且经常交叉,但我将在下面一次讨论它们。
利用LLM辅助KG的创建和维护过程
LLM是构建KG的宝贵工具。在KG的维护过程中,可以利用LLM技术通过向量化(或嵌入)将KG存储在向量数据库中。向量数据库(或向量存储)是一种用于存储向量或数字列表的数据库。向量化是驱动语言模型的核心技术组成部分之一,通过大量的训练数据,这些模型学习将单词与向量关联起来。向量根据单词在训练数据中的上下文中捕捉语义和句法信息。通过使用经过大量数据训练的嵌入服务,我们可以利用该语义和句法信息在我们的KG中。
注意:向量化KG绝不是在KG的创建和构建中使用LLM技术的唯一方法。此外,这些LLM应用并不是对KG创建的新应用。例如,NLP在几十年来一直被用于实体提取,LLM只是一种新的能力,可以辅助本体论者/分类学家进行工作。
LLM在KG创建过程中的一些帮助方式有:
实体解析:实体解析是将指向同一实际世界实体的记录进行对齐的过程。例如,美国常用的止痛药丙烯胺酚,在英国被称为扑热息痛,品牌名为泰诺,而在英国被称为对乙酰氨基酚,品牌名为帕纳福。这四个名称完全不相似,但是,如果您将知识图谱嵌入矢量数据库中,向量将具有语义理解能力,从而知道这些实体是密切相关的。
无结构数据的标记:假设您想将一些无结构数据纳入知识图谱中。您有一堆具有模糊文件名的PDF文档,但您知道这些文件中有重要信息。您需要给这些文档打上文件类型和主题的标签。如果您的主题分类和文件类型分类已经被嵌入,您只需要对文档进行向量化,然后向量数据库将识别每个分类中最相关的实体。
实体和类的提取:基于一组无结构数据语料库创建或增强控制性词汇表,如本体或分类系统。实体提取类似于标记,但其目标是增强本体,而不是将无结构数据纳入知识图谱中。假设您拥有地理本体,并且想要将城镇、城市、州等实例添加到其中。您可以使用LLM从文本语料库中提取实体以填充本体。同样,您可以使用LLM从语料库中提取类和类之间的关系。假设您忘记在本体中包括“首都”,LLM可能能够将其提取为新的类别或城市属性。
使用知识图谱来驱动和管理GenAI流水线
有几个原因可以使用知识图谱来驱动和管理您的GenAI流水线和应用程序。根据Gartner的说法,“到2025年,在概念证明(POC)后,由于数据质量差、风险控制不足、成本上升或业务价值不明确的原因,至少30%的GenAI项目将被放弃。” 知识图谱可以帮助提高数据质量,减轻风险并降低成本。
数据治理、访问控制和合规性
只有经过授权的人员和应用程序才能访问特定数据以及完成特定的任务。通常,企业希望某些类型的人员(或应用程序)以良好的治理方式与特定类型的数据进行通信。您如何知道哪些数据应该放入哪个GenAI流水线?您如何确保个人身份信息(PII)不会进入您希望所有员工都与之聊天的数字助手中?答案是数据治理。以下是一些附加要点:
政策和法规是可以改变的,尤其是当涉及到人工智能时。即使您的人工智能应用程序现在是合规的,未来可能就不再合规。一个良好的数据治理基础使企业能够适应这些变化的法规。
有时,对于一个问题来说,正确的答案可能是“我不知道”,或者“你无法获取回答该问题所需的信息”,或者“回答该问题对我来说是违法或不道德的”。回答的质量不仅关乎真实性和准确性,还涉及合规性。
通过知识图谱实施或支持数据治理的知名参与者(按字母顺序排列):像Cambridge Semantics、data.world、PoolParty、metaphacts和TopQuadrant等语义知识图谱公司,以及像Alation、Collibra和Informatica这样的数据目录(以及其他许多许多)。
准确性和情境理解
KGs还可以帮助提高整体数据质量-如果您的文档充斥着矛盾和/或错误陈述,当您的聊天机器人告诉您不一致和错误的事情时,请不要感到惊讶。如果您的数据结构不良,将其存储在一个地方是无济于事的。这就是数据湖的承诺变成了数据沼泽的祸害之所在。同样,如果您的数据结构不良,对其进行向量化不会解决您的问题,只会带来一个新的头疼:一个向量化的数据沼泽。然而,如果您的数据结构良好,KGs可以为LLMs提供额外的相关资源,以多种方式生成更个性化和准确的推荐。有多种方法可以使用KGs来提高LLM的准确性,但它们通常归类为自然语言查询(NLQ)-使用自然语言与数据库交互。据我所知,当前实施NLQ的方式有RAG、提示到查询和微调。
检索增强生成(RAG):RAG是指利用训练数据之外的附加相关信息来生成更准确的回复。虽然LLMs已经接受了大量的数据训练,但它们并没有被训练过您的数据。请参考上面的求职信示例。我可以要求一个LLM为Steve Hedden撰写“申请TopQuadrant产品管理职位的求职信”,它会返回一个答案,但其中可能会含有幻觉。更聪明的做法是,模型接受这个提示,检索Steve Hedden的LinkedIn简介,检索TopQuadrant职位的工作描述,然后编写求职信。目前有两种主要的检索方式:通过对图进行向量化或将提示转换为图查询(提示到查询)。
基于向量的检索:这种检索方法要求您对知识图谱进行向量化处理并将其存储在向量存储中。如果您将自然语言提示进行向量化处理,您可以在向量存储中找到与提示最相似的向量。由于这些向量对应于图中的实体,您可以根据自然语言提示返回图中最“相关”的实体。这与上述标记功能下的完全相同的流程 - 我们基本上是通过从知识图谱中提取相关标记来“标记”提示。
提示到查询的检索:或者,您可以使用一种LLM生成SPARQL或Cypher查询,并使用该查询从图中获取最相关的数据。注意:您可以使用提示到查询的方法直接查询数据库,而无需使用查询结果来补充LLM的提示。这将不是RAG的应用,因为您没有“增强”任何内容。这种方法的详细说明如下所示。
关于RAG和两种检索方法的一些额外优点、缺点和注意事项:
根据定义,RAG 需要一个知识库。知识图谱是一个知识库,因此 KG 的支持者将成为以图谱为动力的 RAG 的支持者(有时称为 GraphRAG)。但是,RAG 可以在没有知识图谱的情况下实施。
RAG 可以根据提示的内容以及来自提示的元数据补充提示所基于的最相关数据。例如,我们可以根据提问者、他们可以访问的内容以及有关他们的附加人口统计信息来定制回答。
如上所述,使用基于向量的检索方法的一个好处是,如果你已经将你的知识图谱嵌入到用于标记和实体解析的向量数据库中,那么困难的部分已经完成。找到与提示相关的最相关的实体与使用知识图谱从一块非结构化文本中提取实体一样。
RAG 在回答中提供了一定程度的可解释性。用户现在可以看到补充到他们提示中的数据,以及可能的问题答案存储在该数据中的位置。
我在上面提到 GenAI 正在影响我们构建知识图谱的方式,同时我们期望构建能够促进 GenAI 的知识图谱。"从提示到查询" 的方法就是一个很好的例子。知识图谱的架构将影响 LLM 查询其的效果。如果知识图谱的目的是为了提供给 AI 应用程序使用,那么“最佳”本体论不再是对现实的反映,而是对 GenAI 理解现实的反映。
理论上,更相关的信息应该能减少幻觉,但这并不意味着RAG可以消除幻觉。我们仍然使用语言模型来生成回答,因此仍然存在很大的不确定性和幻觉。即使有了我的简历和职位描述,LLM仍然可能夸大我的经验。对于文本查询方法,我们使用LLM来生成KG查询和回答,因此存在两个潜在的幻觉的位置。
同样,RAG提供了一定程度的可解释性,但并非完全如此。例如,如果我们使用基于向量的检索,模型可以告诉我们它包含了哪些实体,因为它们是最相关的,但它无法解释为什么它们是最相关的。如果使用自动生成的KG查询,自动生成的查询可以“解释”为什么返回了特定的数据,但用户需要理解SPARQL或Cypher才能完全理解为什么返回了这些数据。
这两种方法并不是互斥的,很多公司都在追求这两种方法。例如,Neo4j有关于如何实施基于向量检索和提示生成查询的教程。我是在参加一个关于生命科学中KG和LLM实现的重要会议后写下这些话的,我看到很多生命科学公司在演示中都在做基于向量和提示生成查询的RAG的某种组合。
实施或支持RAG解决方案的知名公司(按字母顺序):data.world、Microsoft、Neo4j、Ontotext、PoolParty、SciBite、Stardog、TopQuadrant(以及许多其他公司)
单独的提示进行查询:使用一个LLM将自然语言查询转换为适用于知识图谱的正式查询(如SPARQL或Cypher)。这与上文描述的Prompt-to-query检索方法相同,只是在检索后不将数据发送给LLM。这里的想法是通过使用LLM生成查询而不解释数据,从而减少幻觉。虽然如上所述,LLM生成的内容并不重要,它可能包含幻觉。采用这种方法的论点是,用户可以更容易地检测到自动生成的查询中的幻觉,而不是自动生成的响应中的幻觉。对于这一点我持有一定怀疑态度,因为假定许多使用LLM生成SPARQL查询的用户对于检测自动生成的查询中的问题了解不够。
任何使用提示-查询检索实现 RAG 解决方案的人也可以单独实现提示-查询。这些包括:Neo4j、Ontotext 和 Stardog。
知识图谱用于微调LLM:使用您的知识图谱为现成的LLM提供额外的训练。您可以使用知识图谱数据来训练LLM本身,而无需将知识图谱数据作为查询时提示的一部分(RAG)。优势在于您可以将所有数据保存在本地,不需要将提示发送给OpenAI或其他人。缺点是LLM中的第一个L代表大型,因此下载和微调其中一个模型将需要大量资源。此外,尽管在企业或行业特定数据上进行微调的模型会更准确,但仍无法完全消除幻觉。关于这个问题还有一些其他想法:
使用图形进行模型微调后,您还将失去使用图形进行访问控制的能力。
存在已经针对不同行业进行过微调的LLM,例如为医疗行业的MedLM和为网络安全行业的SecLM。
根据使用情况,可能不需要对LLM进行微调。例如,如果您主要使用LLM来总结新闻文章,LLM可能不需要特殊训练。
与使用行业特定信息对LLM进行微调不同,有些人使用对生成代码进行微调的LLM(例如Code Llama),作为其提示查询解决方案的一部分。
致力于使用知识图谱对LLM进行微调的值得关注的参与者或使能解决方案:据我所知,Stardog的Voicebox是唯一一种使用知识图谱为客户微调LLM的解决方案Stardog Voicebox智能体: 知识图谱&LLM双轮驱动、释放自动化的创造力。
关于在这里列出的整合知识图谱(KG)和语言模型(LLM)的不同方式的说明:这些分类(RAG、提示到查询和微调)既不全面也不互斥。在实现KG和LLM方面还有其他方式,而且未来还会有更多。此外,这些解决方案之间存在相当大的重叠,可以进行解决方案的组合。例如,你可以在一个经过微调的模型上运行基于向量和提示到查询的RAG混合解决方案。
效率和可伸缩性
建立许多不连接的独立应用程序是低效的,正如戴夫·麦克孔姆所说的“软件荒漠”。这些应用程序即使“由AI提供支持”也并不重要。孤立的应用程序会导致重复的数据和代码以及整体的冗余。KG为通过企业中的数据流的无缝流动消除这些冗余提供了基础。
以上是Gartner的说法,即许多GenAI项目将因成本不断上升而被放弃,但我不知道KG是否能显著降低这些成本。我不知道有没有进行任何研究或成本效益分析来支持那个说法。开发一个由LLM驱动的企业聊天机器人是昂贵的,但发展KG也是如此。
结论
我不会假装知道什么是‘最佳’解决方案,但正如我上面所说的,我认为没有人知道。我确信,知识图谱(KG)和大语言模型(LLM)都是对于任何试图更快地向正确的人发布更多数据的人来说很有用的工具,并且它们各自具有优势和劣势。使用大语言模型来撰写求职信(或者法规报告),但使用知识图谱来确保你给出的简历(或研究或学术文章或其他)正确无误。
一般而言,我相信尽可能地利用人工智能来构建、维护和拓展知识图谱,并且我认为对于希望采用泛人工智能技术的企业来说,知识图谱是必需的。这是出于几个原因:数据治理、访问控制和合规性;准确性和语境理解;以及效率和可扩展性。
参考文献:
https://towardsdatascience.com/how-to-implement-knowledge-graphs-and-large-language-models-llms-together-at-the-enterprise-level-cf2835475c47
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-07-06
比Kimi还好用?AI写作神器「橙篇」来势汹汹 欲夺长文创作之未来
2024-07-06
暴走WAIC:跟AI+教育有关的,都在这儿↑
2024-07-02
【研究成果】ArchGPT:利用大语言模型支持传统建筑遗产的更新与保护
2024-06-28
所有男生女生,AI 卖货主播来咯!
2024-06-28
AI+医疗专题报告:院内场景丰富,AI 全面赋能医疗健康领域
2024-06-20
AI 背后 B 端设计师的机会
2024-06-20
30 款让教师工作更轻松的 AI 工具
2024-05-31
智能体落地遇到数据难题,AI-ready data赋能AI Agent高效应用
2024-05-03
2023-07-06
2023-06-30
2023-06-29
2023-07-03
2024-04-28
2023-07-01
2024-05-25
2023-07-10
2023-06-29