前言:
而今大家对“c语言页面设计的设计思想”大约比较着重,朋友们都想要了解一些“c语言页面设计的设计思想”的相关文章。那么小编也在网上搜集了一些有关“c语言页面设计的设计思想””的相关知识,希望朋友们能喜欢,各位老铁们一起来了解一下吧!本文从语言模型和知识图谱的结合角度,讨论大模型增强的语言与知识推理,主要包括两部分:大型语言模型自身具备的推理能力,以及大型语言模型增强知识图谱的推理。最后对大模型语言推理和大模型知识推理进行了总结和挑战讨论。
语言模型与知识图谱
“推理”是指人们依据观察到的现象或事实,再结合已知的事实、经验或规则,得出推论或结论的认知过程。推理是人工智能(AI)的核心问题,在哲学、计算机、心理学等众多领域有着广泛的研究。由于推理概念广泛,在不同领域也有着众多不同的定义和理解,本文仅探讨语言模型和知识图谱领域的推理,并仅针对在相关文献中有明确评测数据集的推理任务。
知识图谱和大型语言模型都是表示和处理知识的技术手段,都可以基于知识完成不同的推理任务。如表1所示,常见的语言模型支持的推理任务包括数学推理(math reasoning)、常识知识推理(commonsense reasoning)、符号操作推理(symbolic reasoning)、逻辑推理(logic reasoning)、多模态推理(multi-modal reasoning)等。而对于知识图谱,常见的推理包括概念推理、补全推理、多跳查询推理、逻辑规则学习与推理、不一致性推理、类比推理等。
表1 语言模型推理与知识图谱推理
语言模型支持的推理主要依靠神经网络在参数化空间完成,因此更多的是一种隐式推理。很多研究表明,语言模型的推理和模型规模有很强的关系,只有当模型参数增加到一定规模时,才能激活某些推理能力。大模型多基于指令驱动和反馈学习等机制实现,因而具有非常好的泛化能力,即善于外推到新的推理任务,但推理主要在参数化空间完成,因而模型缺乏可解释性,同时由于推理过程依赖生成过程,容易产生幻觉生成问题,导致推理结果缺乏可靠性。
知识图谱支持的推理主要依靠显式获取的符号知识来完成,因此可解释性比较好,推理过程的可靠性较高。随着图神经网络等方法被应用到知识图谱中,也可以在向量空间对知识图谱进行推理。但总体而言,由于知识图谱的知识覆盖没有大型语言模型那么广,其推理过程多依赖符号计算过程,泛化能力较差。大型语言模型的出现,一定程度上可以缓解这一问题。
大模型增强的语言模型推理
推理能力是人类智能的核心之一。如图1所示,随着预训练技术的不断发展,借助提示学习(prompt learning,例如思维链(chain-of-thought)),大型语言模型展现出了令人惊讶的推理能力,引起了学术界和工业界学者的广泛关注。为了提高预训练模型的提示推理能力,近期的工作有以下两个主要研究方向。
图1 大模型增强的语言推理
第一个方向是增强提示中的推理策略,包括提示工程、推理过程优化和外部推理引擎。对于提示工程,许多方法尝试直接提高提示文本的质量,统称为单阶段方法。还有一些方法在每个推理阶段将推理过程作为上下文附加到提示中,或者为每个阶段的推理过程设计特定的提示,统称为多阶段方法(例如将一个复杂的问题分解成若干简单的子问题并逐步推理)。对于推理过程优化,最简单的方法是引入一个参数化的优化器在生成答案时校准推理步骤,这类工作可以称为自优化方法。而集成优化方法尝试从多个推理过程中联合得到最终结果。除此之外,整体的优化过程还能以迭代的方式与语言模型微调相结合,这类方法称为迭代优化方法。另外还有一些工作利用外部引擎生成提示文本,直接执行推理步骤,或在提示上下文中植入外部工具进行推理。
第二个研究方向是增强提示中的知识。大模型中富含的隐式知识可以帮助模型生成知识或推理依据作为知识提示。同时,也可以利用外部资源中的显式知识,并通过检索作为知识提示增强推理。下面将详细介绍不同类型的大模型增强的语言推理。
策略增强大模型的语言推理
策略增强的主要目的是设计更好的推理策略增强大模型的推理表现,具体分为提示工程、推理过程优化和外部推理引擎。
在单阶段方法中,预训练模型结合各种提示一次性生成问题推理的结果。早期工作通常使用基于模板的提示进行推理。然而,考虑到大规模语言模型具有强大的上下文学习(in-context learning)能力,思维链提示方法将称为“思维链”的中间推理步骤引入到少样本提示的示例中,促使预训练模型更好地完成推理。除了少样本推理,预训练模型还能进行零样本推理,只需在问题后附加“Let’s think step by step”作为提示,即可引导预训练模型生成推理步骤并完成推理问答任务。在推理过程中,人类通常难以一次性想出完整的推理路径。一种更直观的解决方法是将复杂问题分解为简单的子问题,并逐个进行推理解决。类似地,多阶段方法旨在将之前的单阶段提示转变为多阶段提示。Maieutic Prompting方法将每个阶段的输出视为独立的新问题,Least-to-most Prompting和Iteratively Prompt方法则将每个阶段的输出添加到上下文中,以提示预训练模型。而Decomposed Prompting方法将任务分解为多个独立的子任务,并为解决每个子任务设计了特定的提示。图2展示了通过提示工程增强大模型的语言推理能力。
图2 提示工程增强大模型的语言推理
自优化方法通过引入额外的模块纠正推理过程。Calibrator方法利用一个校准器调整预测概率,该校准器的分数反映了推理依据的真实性。在生成文本推理依据时,Human-AI方法通过微调一个序列到序列(Seq2Seq)模型作为过滤器,以预测生成的推理依据是否可接受。为了克服单一推理路径的限制,集成优化方法通过集成校准在多个推理路径之间进行操作。Self-Consistency方法引入了常见的自然语言生成采样策略,以获得多个推理路径,并通过多数投票产生最一致的答案。然而,考虑到某个推理路径可能会得出错误答案,但不是所有的推理步骤都导致最终的错误,DIVERSE方法提出了一个步骤感知的投票检验器对每个推理路径进行评分。当错误的推理路径数量较多而正确的推理路径数量较少时,步骤感知的投票检验器可以缓解简单多数投票的限制。迭代优化方法利用预训练模型进行迭代微调,以校准推理过程。具体而言,基于迭代优化的方法可以反复提示预训练模型生成推理路径,并使用包含生成的推理过程的实例微调自身。STaR方法从一组较小的样本开始,促使预训练模型生成推理步骤并自行回答问题,正确的答案和推理步骤将被直接添加到用于微调的数据集中。图3展示了通过过程优化增强大模型的语言推理能力。
图3 过程优化增强大模型的语言推理
在使用预训练模型提示进行推理时,模型应同时具有语义理解和复杂推理(例如通过生成推理过程)的能力,但往往鱼和熊掌不可兼得。为了解决这种问题,预训练语言模型可借助外部引擎进行推理。给定一个物理推理问题,Mind’s Eye方法利用一个物理计算引擎模拟物理过程,模拟结果可作为帮助预训练模型进行推理的提示,弥补了预训练模型物理知识的不足。程序和代码在鲁棒性和可解释性方面具有天然的优势,并且能更好地描述复杂的结构和推导复杂的计算。PAL方法将求解步骤从预训练模型中分离出来,交由程序执行。在该方法中,预训练模型主要负责学习任务,而推理过程则由自然语言和编程语言混合组成,在少样本提示和预训练模型输出中,自然语言用作注释帮助生成程序。这种混合的方式使推理过程更加清晰和可解释。尽管现在的大模型拥有强大的生成和决策能力,但仍不擅长一些基础的能力,比如数值计算、知识更新等,而这些恰恰是一些小而简单的工具擅长的。基于此,Toolformer将计算器、搜索引擎、翻译器等工具融入模型的训练过程中,通过将工具调用的结构植入到文本的生成过程中,模型的能力得到了极大扩展。Chameleon利用了大模型强大的决策能力,使它们能够结合各种外部工具处理组合推理任务。图4展示了借助外部引擎增强大模型的语言推理能力。
图4 外部引擎增强大模型的语言推理
知识增强大模型的语言推理
许多研究表明,预训练模型中蕴含了相当数量的隐式知识,这些知识可以通过条件生成引出,作为知识提示增强推理能力(如图5所示)。Generated Knowledge Prompting方法利用GPT-3生成少样本提示中的知识,并用这些提示引导下游的预训练模型。在此基础上,Rainier方法使用增强学习进一步校准生成的知识。与之不同的是,TSGP是一个两阶段的生成提示方法,其中包括答案生成的提示。此外,还有一些工作探索了使用大规模教师模型上的思维链输出微调小规模学生模型,以实现推理能力的迁移,这是基于知识蒸馏的思想。尽管预训练模型展现出强大的生成能力,但仍存在产生幻觉和不一致知识的倾向。最近的研究表明,通过在外部语料库中检索用于上下文学习的提示,可以向模型注入显式知识,从而取得良好的性能。PROMPTPG是一种基于梯度策略的动态提示检索方法,无须进行暴力搜索。Vote-k方法是一种选择性注释框架,以避免需要大量标记的检索语料库。该方法还开发了一种基于图的技术,通过从大型未标记语料库中构建多样化且具有代表性的小型标记数据库,大大降低了注释和检索的成本,然后可以从这个小型数据库中检索带有上下文标注的示例。这些方法的引入使模型能够更可靠地获取外部知识,并避免潜在的错误和不一致。
图5 知识增强大模型的语言推理
大模型增强的知识图谱推理
知识是人类对现实世界的抽象概括。我们首先将物理世界中存在的对象抽象为实体,再根据空间知识和社会知识等对实体之间的关系进行抽象。为了进一步对物理世界进行规律有序的建模,我们根据实体的不同特征将它们抽象为不同的概念,将规律抽象为规则,依托概念和规则进行更高效的交流。知识图谱是这些知识的一种结构化表示方式,对象间的关系表示为三元组,例如(中国, 首都是, 北京),这些三元组组成了知识图谱中的实例层,概念及规则组成了本体层,用于表示抽象的、规律性的知识,例如“地区”这个概念按层级可细分为洲、国家、省、市、区等,“国籍”关系可以借助“出生于”关系进行推理等。
知识图谱推理的基础和关键之一是对实体和关系语义的准确理解,例如对“中国”的相关推理需要充分理解“中国”是一个国家,对“父母”关系的推理需要充分理解一般每个人都只有一对父母,包含一个母亲和一个父亲。大模型的出现为知识图谱推理带来新的机遇。首先,大语言模型具有强大的语义理解能力,基于大规模文本和代码训练的大语言模型已经有了对这个世界的基本认知,了解一般的概念和关系,可以回答诸如“中国的首都是哪里?”这样的问题。这给知识图谱中的实体和关系语义理解带来了极大的便利,可以使知识图谱中的文字信息得到充分利用,包括实体和关系名称以及文本描述段落等,也可以将知识图谱推理方法从文本理解的困难任务中解放出来,使其更多地关注知识图谱内涵的知识及其结构关联。
知识图谱作为一种结构化知识表示方法,其优势之一是具有丰富的图结构信息。知识图谱中的一些路径对应了一些推理规则,例如A通过“大学同学”关系连接到B,B又通过“大学同学”关系连接到C,那么根据A和C之间存在的两跳“大学同学”关系可推理出A和C之间也具有“大学同学”关系。已有的许多知识图谱推理方法均利用了知识图谱中的图结构信息,典型的方法类型有知识图谱嵌入表示学习、基于图神经的知识图谱推理方法等。在大模型出来之前,这些方法基本都是基于监督学习的小模型思路,即给定一个数据集,在训练集上进行以目标任务为监督目标的模型学习,然后在测试集上进行测试。大模型的出现带来了自监督学习的思路,也让人们了解到模型的泛化能力显著依赖模型规模。自然语言处理以及计算机视觉领域的大模型思路是否可以迁移至知识图谱领域,形成具有感知各式各样知识图谱结构信息的通用知识图谱大模型,也是大模型给知识图谱推理带来的全新思路。
图6展示了知识图谱中的文本和结构信息。下面将从知识图谱文本推理和知识图谱结构推理两个方面分析大模型如何增强知识图谱推理方法。
图6 知识图谱中的文本和结构信息
大模型增强的知识图谱文本推理
我们将利用知识图谱中包含的文本信息进行推理的方法称为“知识图谱文本推理”。知识图谱中包含的文本信息主要有两种(见图7):一种是实体和关系的名称,例如在维基数据(Wikidata)中,中国的ID是“Q148”,对应的名称是“中国”;另一种是对实体和关系的大段文本描述,例如在维基百科(Wikipedia)中,中国的页面中包含了简介、名称、历史、地理、政治、军事、外交、经济、文化等多个方面的描述,每个段落都包含了丰富的关于中国的知识。
图7 大模型增强的知识图谱文本推理
名称和描述文本都是认知实体和关系的重要信息来源,近年来学者们一直尝试增强知识图谱推理模型的文本利用能力,一些方法通过实体对应文本中的词对其他知识图谱例如Wordnet、BableNet等进行检索,将其他图谱的部分信息放入当前图谱中,以文本为桥梁进行跨图谱的数据增强。一些方法通过将文本表示空间与实体表示空间进行对齐,使文本信息隐含地传递到结构表示中。还有一些方法基于或融合文本信息得到的实体表示,使文本成为实体表示获取的来源之一,但这些方法均依赖独立设计的文本编码或表示方法,并依赖知识图谱数据完成训练,对文本的理解常停留在浅层的文字共现特征捕捉上。
自预训练语言模型被提出后,模型对语言的理解能力得到了极大提升,于是有工作提出将知识图谱推理任务转化为将三元组的实体和关系文本序列输入到预训练语言模型中,以预训练语言模型作为初始化模型,在和知识图谱相关的新任务上进行训练,以充分利用预训练语言模型的语言理解基础。这里我们看到了一个利用文本信息的变化趋势,即知识图谱推理模型的主体由特别设计的文本编码模型转变为以预训练语言模型为主体的模型,在不改变模型结构的情况下,可以最大程度地利用预训练语言模型的文本理解能力。
以ChatGPT为代表的大语言模型被提出后,语言模型的语言理解能力已经让我们看到了有可能实现通用人工智能的希望。以编码器为模型结构、下一个词预测为训练目标,在40多TB的文本语料上训练出的千亿级参数大语言模型在众多语言理解任务上表现良好,在增加了有监督微调和人类价值观对齐后,与其对话体验非常流畅自然。大语言模型特有的上下文学习能力使提示工程兴起,只要仔细编辑输入语言模型的提示便可使大语言模型完成对应的任务,因此基于提示工程的零样本、少样本推理被广泛研究并取得了不错的效果,研究者也尝试通过提示工程使大语言模型完成知识图谱推理。有的工作将知识图谱推理任务,如链接预测、问答等,转化为文本问题,输入大语言模型,由大语言模型输出对应的预测答案。在零样本的设定下,大语言模型将利用其对输入文本的理解以及在预训练期间获得的知识进行预测。这里我们可以看到另一个新的大模型增强趋势,即保持大语言模型结构及其参数不变,通过修改提示干预大模型的行为,取得的预测效果虽不及任务特定的小模型,但远超预期。仅依靠大语言模型的文本理解和文本推理能力,已经可以在一些知识图谱推理任务上取得令人惊喜的效果,说明大语言模型可以极大地提升知识图谱中的文本利用效率和效果,补齐了知识图谱推理方法文本理解能力弱的短板。
大模型增强的知识图谱结构推理
我们将利用知识图谱中包含的结构信息进行推理的方法称为“知识图谱结构推理”。从图的角度来看,知识图谱中的三元组可以组成一个带标签的有向图,这里的结构信息主要指多个三元组组成的图中所包含的信息。基于图结构进行学习并完成推理是知识图谱推理常见的思路之一,例如已有的知识图谱嵌入表示学习方法通过在向量空间中拟合表示头尾实体存在某种关系的三元组,学习到富含实体语义(如相似度、上下位信息)的向量表示,并基于这些向量表示完成链接预测、三元组分类、实体对齐等任务;又例如一些规则挖掘方法通过规则条件模式在图中出现的频率等信息判断规则的置信程度。因此结构信息是知识图谱推理的重要信息来源之一。
在大模型出现之前,知识图谱结构学习方法多聚焦于单个知识图谱,例如在维基数据上进行模型学习后再完成维基数据相关的任务,这样的方法具有显著的局限性。首先,模型只能学习到当前图谱中具有的模式,对于出现次数较少的长尾样本,学习效果较差;其次,模型通常只能应用于当前的图谱,无法迁移到其他图谱上。大模型的出现,使基于自监督学习的大模型成为了获得具有高泛化能力模型的一条明路。因此,一些工作开始思考如何对知识图谱的结构进行预训练,使其可以从一个知识图谱向另一个知识图谱迁移共有的结构知识,并提出了基于Transformer架构的自监督学习的结构预训练模型(见图8)。该模型以知识图谱中采样的子图作为输入,以掩盖实体预测、掩盖关系预测、实体对预测作为预训练目标,训练出的三元组序列编码层可以应用于任意其他知识图谱支持的下游任务,并支持将下游任务数据建模为任务三元组输入模型,实现充分的下游任务知识图谱建模和知识融合。研究者们也在尝试通过增加维度或增加模型层数的方式增大知识图谱推理模型,以期得到更好的结构学习效果,但知识图谱数据的规模远小于互联网上的文本数据规模,因此知识图谱推理模型的规模还远小于目前的语言大模型或多模态大模型。
图8 知识图谱结构预训练方法KGTransformer
与此同时,一些研究者开始尝试探索大语言模型的结构学习能力,即尝试回答大语言模型是否具有从结构数据中学习规律并进行推理的较好能力,例如将多个具有“是公民”关系的人物和国家实体对以及实体对之间具有的路径作为提示输入到大语言模型中,并让大语言模型预测另一个未知的三元组如(张三, 是公民, 中国)是否正确。我们发现,相较于已有的知识图谱嵌入模型TransE,大语言模型并没有取得更好的判断效果,这说明大语言模型的结构学习能力没有语言理解能力好,并且激发大语言模型的结构学习能力需要非常精巧的设计,也值得进一步研究。
未来展望
大模型语言推理总结与挑战
对于大模型而言,先前工作已经系统地证明,随着模型规模的增大,少样本提示几乎在各项任务中都有很好的表现,这可以解释为更大规模的模型蕴含更多用于推理的隐式知识。思维链作为提示能够进一步提高性能,在大模型(如5400亿参数的PaLM)上表现出最大增益,但是当模型参数规模小于1000亿时,思维链并不能产生性能增益,甚至可能会导致性能下降。因此,思维链引发的可能是模型规模上的“涌现”能力,即一种仅存在于大规模模型中的能力。另一个有趣的现象是,在相同参数规模下,Codex(代码语料上训练的GPT-3变体)的性能显著优于GPT-3,尽管它们之间的主要区别在于训练语料库。这种现象已经在许多工作中得到验证,表明模型在代码语料上进行预训练,不仅可以实现代码生成、理解的能力,还可能诱发思维链推理能力。此外,近期工作表明思维链和问题的相关性及推理过程更加重要,也许输入上下文中显式包含的高质量推理依据是大模型提示推理的关键。尽管一些工作尝试探索大模型的上下文学习能力,然而对学术界而言,思维链提示为何能够在大模型上取得成功,仍然是未解之谜。一种可能的原因是思维链是代码预训练的副产品,并可以通过提示解锁。在少样本提示中包含思维链的样例可以被视为一种激发隐藏在大模型中的推理能力的指令。总体而言,在大模型增强的语言推理中仍然有以下问题值得研究者进一步探索。
预训练模型推理理论。大模型已经被证明具有“涌现”的零样本学习和推理等能力。为了探究涌现出现的原因,许多研究人员从经验上探讨了上下文学习和推理依据的作用,但仍需要对大模型提示学习推理的潜在理论原理有更深入的理解。
高效推理。现有的方法主要依赖大模型,这会消耗大量的计算资源。考虑到实用性,研究人员开发了高效大模型训练,比如模型编辑、高效参数微调等。大模型赋能小模型推理是有必要的,在模型训练和推理过程中有利于降低碳排放,实现绿色AI。
鲁棒、可信、可解释推理。大多数深度学习模型缺乏鲁棒性和可解释性,尤其是在推理等需要强逻辑的任务中。近期有工作发现大模型提示学习推理存在很强的偏见和毒性,因而研究鲁棒、可信、可解释的推理具有非常重要的意义。
多模态(交互式)推理。文本推理局限于可以通过自然语言表达的内容。考虑到人类在现实中推理时采用的信息具有多样性,一个更有前途的方向是多模态推理。此外,多模态(交互式)推理方法也受到其他领域(例如认知科学等)的启发。随着语言模型能力的增强,大模型与环境、人类(人类反馈强化学习(RLHF))、工具(tool learning)和其他模型(multi-agent)交互成为趋势,这一趋势与大模型具身智能关系紧密,是未来自然语言处理领域的重要研究方向。
泛化(真正的)推理。泛化是模型获得真正推理能力的最重要标志之一。给定一个推理任务,我们希望预训练模型不仅可以处理问题本身,还可以解决一组类似的推理任务(在训练阶段未见过)。现阶段,大模型基于提示学习涌现出一定的分布外泛化能力,这种能力是否适用于推理,能否实现新领域、新任务的自适应仍值得探索。
大模型知识推理总结与挑战
知识图谱推理的信息来源主要分为两类:文本信息和结构信息。大模型的出现给知识图谱文本推理和结构推理都带来了新的机会和思路。对于文本推理,大语言模型具有优异的文字理解和生成能力,可以极大地弥补之前知识图谱推理模型对文本信息利用较浅的问题。借助大语言模型增强知识图谱文本推理能力的思路,倾向于保留语言模型的结构甚至保留语言模型的参数,以此最大限度地利用大语言模型的语言理解能力。对于结构推理,大语言模型本身的结构推理能力有限,但大模型中的自监督训练、扩大模型规模等思路可迁移至知识图谱结构学习中,探索一条适用于结构元知识的预训练方法,并实现跨图谱的迁移应用。但是在大模型和知识图谱推理的结合过程中仍然有以下问题值得研究者进一步探索。
第一,如何充分融合大语言模型的语言理解能力和已有模型的结构学习能力。如果大语言模型的语言理解能力的保留程度与结构和参数的保留程度成正比,而好的结构推理模型架构或参数和语言模型不一致,假设未来要实现既具有良好文本理解能力又具有良好结构学习能力的知识图谱推理方法,那么模型架构以及两种模型参数的融合方法都是值得进一步探索的研究问题。
第二,知识图谱预训练方法是一套知识图谱特有的独立的训练方法,还是基于已有大模型架构的增量预训练方法。如果是前者,如何保证模型具有较强的语言理解能力?如果是后者,如何增强已有大模型的结构学习能力?这些都是非常值得进一步探索的问题。
第三,大语言模型交互的主流方法是提示,那么知识图谱和大语言模型交互过程中是否需要设计一套更适合语言模型提示的交互接口,如查询推理函数等,使语言模型和知识图谱之间的数据交互更加自然、效果更好。
尽管这些问题有待研究,但总体来说,大模型的出现将使知识图谱推理能力更上一层楼。
陈华钧
CCF专业会员、杰出演讲者。浙江大学计算机科学与技术学院教授/博导。主要研究方向为知识图谱、大数据系统、自然语言处理等。
huajunsir@zju.edu.cn
张宁豫
CCF高级会员。浙江大学软件学院副教授。主要研究方向为自然语言处理、知识图谱。
zhangningyu@zju.edu.cn
张文
CCF专业会员。浙江大学软件学院特聘研究员。主要研究方向为知识图谱、知识表示与推理、图计算。
zhang.wen@zju.edu.cn
其他作者:王昊奋
特别声明:中国计算机学会(CCF)拥有《中国计算机学会通讯》(CCCF)所刊登内容的所有版权,未经CCF允许,不得转载本刊文字及照片,否则被视为侵权。对于侵权行为,CCF将追究其法律责任
CCF推荐
【精品文章】
知识图谱与大语言模型协同模式探究 | CCCF精选大模型时代的知识图谱系统CCCF精选 | 知识图谱的开源与金融领域实践低资源条件下的知识图谱推理与构建ChatGPT和基础模型:原理探究、技术挑战及伦理规范 | CCCF精选刘知远、丁宁:大模型前沿技术展望 | CCCF精选嬗变:大语言模型带来的人工智能新纪元 | CCCF精选
标签: #c语言页面设计的设计思想