博客

  • 用链式知识提示增强语言模型的推理能力

    摘要:

    最近,基于思想链(CoT)的提示在复杂推理任务中取得了成功,其目标是设计一个简单的提示,如“让我们逐步思考”或多个具有精心设计的理由的上下文示例,以引导大型语言模型(LLM)生成中间推理步骤。然而,生成的理由通常会伴随着错误,导致不真实和不诚实的推理链。为了减轻这种脆弱性,我们提出了一种新颖的基于知识的链式提示(CoK),目标是引导 LLM 生成形式为结构三元组的明确知识证据。这受到了我们人类行为的影响,即在回答复杂问题之前,我们可以在脑海中绘制思维导图或知识图作为推理证据。得益于 CoK,我们进一步引入了一种 F^2 验证方法,以估计推理链在事实性和忠实性方面的可靠性。对于不可靠的回答,可以指出错误的证据以引导 LLM 重新思考。大量实验证明,我们的方法可以进一步提高常识、事实、符号和算术推理任务的性能。

    正文:

    1. 介绍

    1. 大型语言模型(LLM)在许多自然语言处理(NLP)任务中取得了最先进的性能。
    2. 上下文学习(ICL)是一个蓬勃发展的研究课题,旨在通过对少数标记示例进行条件化来生成预测。
    3. LLM 可以自发地将复杂的多步骤问题分解为中间推理链。
    4. CoT 提示是一种通过将显式结构知识证据与文本解释相结合来提示 LLM 生成推理链的方法。
    5. CoK 提示是一种新颖的方法,它通过一系列将显式结构知识证据与文本解释相结合的示例来增强 LLM 的推理能力。
    6. 对问题的非事实性推理可能导致错误的答案,并且当 LLM 生成逻辑上合理的推理链时,但仍然提供不正确的答案时,响应可能是不忠实的。
    7. 为了解决这些问题,提出了一种新颖的基于知识的链式(CoK)提示方法来增强 LLM 的推理能力。
    8. CoK 提示由两部分组成:证据三元组(CoK-ET)和解释提示(CoK-EH)。
    9. CoK-ET 是一个结构三元组列表,反映了从查询到答案的整体推理证据。
    10. CoK-EH 是对这些证据的解释。
    11. 为了构建具有 CoK 提示的上下文示例,我们首先对 K 个标记示例进行采样,每个示例都可以与一个简单的提示“让我们逐步思考”连接起来。
    12. 然后,我们从外部知识库(KB)中检索一些结构三元组,并通过人工精心注释证据三元组来获得设计良好的 CoK 提示。
    13. CoK 提示可以被视为一个规则,它规范了输出空间/格式,并敦促 LLM 生成明确的证据,而不是仅仅尝试生成模糊的文本推理链。

    2. 相关工作

    1. 上下文学习(ICL)是一种因果语言建模任务,允许 LLM 通过设计良好的基于文本的提示进行零样本/小样本学习。
    2. ICL 可以绕过模型参数更新,并通过对少数标记示例进行条件化来实现显着的性能。
    3. 以前的工作已经探索了一些 ICL 的影响方面,例如输入输出映射、模板格式以及示例的不同选择和排列。
    4. 为了提高 ICL 的有效性,已经提出了一些新颖的方法,包括元学习、提示和示例工程、通过输入上下文示例获取 LM 偏好、通过自适应机制找到合适的示例组织以及预测校准。
    5. 与以往的工作不同,我们的工作重点是 LLM 的推理能力,包括推理提示设计和输出验证。
    6. 提出 CoT 提示是为了利用推理和可解释的信息来指导 LLM 生成可靠的响应。
    7. 提出了一系列 CoT 增强方法来进一步提高推理能力。
    8. LLM 推理的知识利用包括利用外部知识和工具来帮助模型完成推理任务。
    9. 刘等。[2023b] 将计算物理引擎集成到语言建模过程中,以模拟潜在结果,并将它们用作输入的一部分来驱动模型进行推理。
    10. 变色龙通过结合各种工具和知识资源来增强 LLM。

    3. 方法

    1. 生成的推理链有时会有错误,最终导致得出错误的答案。我们将这种挑战归咎于文本推理链:大型语言模型(LLM)可能会强制生成一种符合 CoT 提示格式的文本理性,但逻辑上模棱两可,导致得出
    2. 错误的答案。为了应对这种挑战,我们考虑了两个核心方面。
    3. 提示的生成方式。仅使用文本提示链并不能充分发挥 LLM 生成可靠和具体的推理过程的能力。受到 KB 中三元组结构的影响,我们需要用结构特征增强提示。
    4. 验证。LLM 通常无法检查它们已回答的答案,这需要我们利用外部知识进行验证。基于这些考虑,我们提供了如何提高 LLM 推理能力的具体解决方案。该框架的概述如图 2 所示。
    5. 框架说明。推理可以建模为现有知识系统中的归纳和演绎。这是受到人类行为启发的,人们会画思维导图或知识图来分析问题并找到通往答案的正确路径。幸运的是,我们可以采用 KB 中三元的概念,将其视为“主体,关系,对象”,以形式化推理链的明确证据。
    6. 建议的生成方式。我们首先使用链-of-knowledge(CoK)提示生成示例。然后,可以使用 CoK 提示让 LLM 生成包括证据三元组、解释提示和最终答案的推理链。最后,我们估计推理链在事实性和可靠性方面,不可靠的链将被重新考虑。
    7. 建议的生成方式。为了便于 LLM 生成文本理性,我们可以采用 KB 中三元组的概念,将其视为“主体,关系,对象”,以形式化推理链的明确证据。CoK-ET 表示从 LLM 中支持逐步思维过程的多个三元组列表。CoK-EH 表示推理链的解释,类似于普通的 CoT。例如,在图 1 中,我们可以要求 LLM 生成两个明确的证据:“德雷克·怀特是一名篮球运动员”和“篮球投篮通常用于曲棍球或网球”以及一个文本解释,以支持最终答案“不”。
    8. 挑战。构建文本理性,使其结构符合 CoK 三元组,是 CoK 提示生成中的关键挑战。如图 2 所示,我们首先进行示例构建,以获得一个设计良好的任务特定提示。具体而言,我们遵循 Wei 等。[2022,Wang 等。2022c] 的指导,随机选择 K 个问题作为基本示例。要自动获得 CoK-EH,我们遵循 Kojima 等。[2022] 的方法,使用简单的提示“让我们一步一步地思考”生成零样本 CoT 的文本理性。另一个挑战是如何获得更好的表示文本理性。

    4. 实验设置

    1. 实验共选择了五种类型的任务,包括常识和事实推理、算术推理、符号推理等,具体任务和数据集如下:
    2. 常识和事实推理任务使用了 CommonSenseQA、StrategyQA、OpenBookQA、AI2 Reasoning Challenge (ARC-c)、BoolQ 等数据集,其中使用了 Wikitude 6、ConceptNet、Wikidata5M、ATOMIC、GLUCOSE、ASER、CausalBank 等知识库。
    3. 算术推理任务使用了 GSM8K、SVAMP 等数据集,其中使用了 AQuA、MultiArith 等算法。
    4. 符号推理任务使用了 Last Letter Concatenation、Coin Flip 等任务,其中手动构建了每个词的词典知识库。
    5. 在我们的实验中,首先使用了几手/零手标准提示(SP)作为基线,然后使用了一些 SOTA CoT 方法作为强大的基线,如 Chain-of-thought (CoT)、Zero-shot-CoT 和 Auto-CoT 等。
    6. 常识和事实推理任务在多个数据集上进行了比较,发现在几手/零手学习场景下,CoK 提示的性能表现良好,可以超过之前 CoT 策略的表现。这表明将显性证据三倍体和解释相结合可以提高 LLM 的推理能力。

    5. 结论

    1. 提出了一种名为 chain-of-knowledge prompting 的方法,旨在将大语言模型的推理链分解成多个证据三元组和解释提示,以进一步提高推理能力。
    2. 根据 chain-of-knowledge prompt,引入了 F2-Verification,完全利用外部知识库对生成的推理链进行事实性和可靠性后验证。
    3. 采用重新思考过程,注入知识以纠正虚假证据三元组,并使大语言模型重新生成答案。
    4. 在多个推理任务上取得了比其他提示方法更好的结果。
    5. 在未来,计划进一步改进其他规模的大语言模型的性能,将知识库扩展到搜索引擎以实现实时验证,并对大语言模型的推理进行可解释性分析。
    6. 工作基于对大型语言模型的提示方法,在多个基准测试集上取得了优秀的性能。
    7. 然而,它仍然具有以下局限性:(1)知识库中的证据三元组是有限的,可能无法确保对模型所有问题的全面覆盖。(2)在重新思考算法的背景下,CoK 可能需要比经典的 CoT 方法更多 API 调用。
    8. 在社会影响方面,使用的知识库都是来自公共数据来源。
    9. 将事实知识注入模型推理过程不会引入额外的偏见。
    10. 它可以在某种程度上防止模型提供不负责且有害的答案。
    11. 在 12 个公开的可用于推理任务的基准数据集上对 CoK 进行了评估,涵盖了算术推理、常识推理、符号推理和自然语言理解任务。
    12. 数据集统计信息如表 5 所示,每个数据集的详细信息如下所示。
    13. CoK 在多个基准测试集上取得了比其他提示方法更好的结果。
  • JiuZhang 2.0:面向多任务数学问题求解的统一中文预训练语言模型

    摘要:

    尽管预训练语言模型 (PLM) 近期推动了数学推理研究的进展,但它们并非专门设计为有能力的多任务求解器,在实际应用中存在多任务部署成本高(例如,为一项任务复制一个模型)和复杂数学问题的性能较差的问题。为了解决这些问题,我们在本文中提出了 JiuZhang 2.0,这是一个专门针对多任务数学问题求解的统一中文 PLM。我们的想法是保持一个中等规模的模型,并采用“跨任务知识共享”来提高模型在多任务设置中的能力。特别地,我们构建了一个混合专家 (MoE) 架构来建模数学文本,以便捕获跨任务的通用数学知识。为了优化 MoE 架构,我们设计了多任务持续预训练和多任务微调策略,以进行多任务适配。这些训练策略能够有效地分解来自任务数据中的知识,并通过专家网络建立跨任务共享。为了进一步提高解决不同复杂任务的泛化能力,我们利用大型语言模型 (LLM) 作为互补模型,通过上下文学习,迭代地优化我们 PLM 生成的解决方案。大量的实验已经证明了我们模型的有效性。

    关键词:预训练语言模型,数学推理,多任务学习,混合专家,持续预训练,微调,大型语言模型,上下文学习

    正文:

    1. 介绍

    数学推理是人工智能的一个重要领域,具有广泛的应用,如自然语言处理、机器翻译、信息检索等。近年来,随着预训练语言模型 (PLM) 的发展,数学推理取得了显著的进展。PLM 在大规模数学语料库上进行预训练,能够在一定程度上理解数学公式和逻辑,在各种数学相关任务上取得更好的性能。

    然而,基于 PLM 的方法仍然存在两个主要局限性:任务性能有限和维护成本高。一方面,由于 PLM 的容量有限,在复杂数学问题上,其性能往往不佳。另一方面,由于 PLM 需要为每个任务单独训练,这导致了维护成本高的问题。

    为了克服这些问题,大型语言模型 (LLM) 被引入解决数学问题。LLM 具有更强的数学推理能力,能够解决更复杂的数学问题。然而,LLM 在任务或领域适应性调整方面非常昂贵。

    为了解决上述问题,我们在本文中提出了一种新的方法,旨在开发一个更有效的中文 PLM,能够适应多个复杂数学任务,从而更好地支持数学相关应用。该方法利用现有 LLMs 隐含的大量知识来提高 PLMs 解决复杂问题的能力。在实验中,该方法在一组数学任务上表现出色,甚至优于基于 LLM 的方法。

    2. 相关工作

    2.1 预训练语言模型的数学推理能力

    近年来,PLM 在数学推理方面取得了很大的进步。例如,BERT 在数学推理任务上取得了很好的性能,表明 PLM 能够在一定程度上理解数学公式和逻辑。CodeX 是另一个专门针对数学推理的 PLM,在数学问题求解任务上取得了最先进的性能。

    2.2 基于大型语言模型的方法

    LLM 具有更强的数学推理能力,能够解决更复杂的数学问题。例如,GPT-3 能够解决高中水平的数学问题,PaLM 能够解决大学水平的数学问题。然而,LLM 在任务或领域适应性调整方面非常昂贵。

    2.3 上下文学习

    上下文学习可以用于解决不同任务,但仍然难以适应需要丰富领域知识的特定任务。例如,在数学问题求解任务中,上下文学习可以用于学习数学公式和逻辑,但难以学习特定领域的知识。

    2.4 混合专家架构

    混合专家 (MoE) 架构是一种用于处理大规模任务的模型架构。MoE 架构将模型分解成多个专家网络,每个专家网络处理任务的不同部分。这种分解可以提高模型的容量,并降低模型的训练成本。

    2.5 多任务持续预训练和多任务微调策略

    多任务持续预训练和多任务微调策略是用于优化 MoE 架构的多任务适应性策略。多任务持续预训练策略是在一个包含多个任务的数据集上对 MoE 架构进行预训练。多任务微调策略是在一个特定任务的数据集上对 MoE 架构进行微调。

    2.6 传统 NLP 方法

    传统的 NLP 方法,如语义解析器和运算符树,被用于理解数学文本中的公式和逻辑。这些方法通常依赖于特征提取和深度神经网络。

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网 沪ICP备2024052574号-1