大型语言模型(LLMs)在自然语言处理领域产生了令人印象深刻的影响,但它们在完整性、及时性、忠实性和适应能力等方面仍存在一些问题。
例如:
首先,LLM在及时更新和特定领域的专业性方面存在局限性。
其次,这些模型可能会产生不真实或"幻觉"的知识,从而带来可靠性和伦理方面的问题。
第三,由于成本和可及性等限制,大模型很难通过持续培训吸收新知识,这阻碍了这些模型适应特定知识需求的能力。
虽然最近的工作重点是将LLM与外部知识源连接起来,但对知识库(KB)的整合研究仍然不足,并面临着一些挑战。
例如,
Toolformer通过查询维基百科对相互关联实体的描述来回答相关问题。
Graph-Toolformer和ToolkenGPT使LLM能够对知识图谱(如Freebase)进行推理。
RET-LLM与LangChain和LlamaIndex中KG索引的实际工作并行,利用从过去对话中提取的相关三元组构建个性化KG记忆,以供未来使用。互联网增强语言模型以及NewBing和ChatGPT 用BrowsewithBing插件,使语言学习者能够通过搜索引擎或网络浏览器获取最新信息。REALM、RAG等检索增强方法利用文档语料库增强了LLM,最近的大模型也越来越多地采用这些语料库作为记忆单元。
最近的工作文章《KnowledGPT: Enhancing Large Language Models with Retrieval and Storage Access on Knowledge Bases》提出了一个将LLM与各种知识库连接起来的综合框架,可同时促进知识的检索和存储。其检索过程采用思维提示方法,以代码形式生成知识库搜索语言,并为知识库操作预设函数。与普通LLM相比,该方案既能利用知识库中已有的知识,也能利用提取到个性化知识库中的知识,从而正确回答更广泛问题。
文章主要介绍了KnowledGPT,该工作将LLM与外部知识库整合在一起的综合框架,可方便LLM在知识库中进行检索和存储。
在检索方面,KnowledGPT采用"思维程序"提示,通过代码生成和执行来检索知识。
在存储方面,KnowledGPT从用户提供的文本中提取各种形式的知识,并将提取的知识填充到个性化知识库中。
KnowledGPT解决了将LLM与知识库集成过程中固有的几个难题,包括复杂的问题解答、实体链接中的歧义以及有限的知识表示形式。
不过,尽管KnowledGPT使LLM能够有效地对外部知识库执行知识库操作,但其目前的形式仍存在一些局限性。
首先,出于效率考虑,检索过程需要单轮代码生成和执行。然而,多轮机制可以更好地让LLM自主探索知识库。由于LLM不了解知识库中的内容,它们可能会生成看似合乎逻辑却没有结果的搜索。例如,像"谁是......中女主角的配音演员"这样的查询,在某些知识库中可能需要对女主角和配音演员这两个关系进行两跳搜索,而在其他知识库中则只需要对主要配音演员这一个关系进行搜索。在这些情况下,多轮机制赋予了LLM自主探查和重新访问知识库的能力,这可能会产生更好的结果,但也会增加成本。
其次,受限于通过API访问GPT-4的费用,在具有代表性但规模较小的数据集上进行了KnowledGPT实验。虽然实验结果验证了KnowledGPT的有效性,但我们希望在完整基准上进行更全面的评估,以便更好地将KnowledGPT与相关方法进行比较。