大型语言模型中自动思维链提示的一切须知

大型语言模型中自动思维链提示的一切须知

简介

什么是大型语言模型中的自动思维链提示?在本文中,我们将从思维链(CoT)提示的定义开始,逐步剖析这个问题,接着讲解Auto CoT的优势和发展。最后,我们将讨论LLM API作为应用Auto CoT的核心部分。敬请关注,探索强大的Auto CoT!

什么是 CoT 提示?

思维链(Chain-of-Thought,CoT)提示是一种用于增强大型语言模型(LLM)推理能力的技术。大型语言模型(如GPT-3)在问答、文本生成和问题解决等多种任务上展现了卓越的性能。

然而,在许多复杂的推理任务中,LLM 可能难以提供完整且连贯的逐步解决方案。CoT 提示旨在通过引导语言模型生成“思维链”——一系列通向最终答案的中间推理步骤——来解决这一问题。

CoT 提示的核心思想是促使语言模型显式地思考问题,而不是仅仅提供直接答案。这通常通过在输入问题或任务旁加入“让我们一步步思考”或“解释你的推理过程”等提示来实现。对于复杂的多步任务,CoT 提示可以产生更准确且可解释的输出。

为什么需要 Auto CoT?

关键在于,思维链(CoT)提示有两种主要方法,且两者都存在显著缺陷。

Zero-Shot-CoT 的局限性

在此方法中,你只需向语言模型(LM)提出一个问题,并让它“一步步思考”以得出答案。优点是使用简单——无需提供任何额外信息或示例。然而,最大的缺点是 LM 的逐步推理常常有缺陷或包含错误,因此最终答案可能不可靠。

Manual-CoT 的局限性

此方法涉及手动为 LM 创建详细的示例,展示如何将问题分解为逻辑步骤并得出正确答案。通过提供这些精心设计的示例,LM 可以更好地解决新问题。优点是 LM 的推理在参考手动示例时更加稳健和准确。但主要缺点是创建这些详细示例极其耗时,需要大量人力和专业知识,完全不具备可扩展性。

通过 Auto-CoT 克服局限性

总之,Zero-Shot-CoT 简单但不可靠,而 Manual-CoT 更稳健但劳动密集。这正是作者提出的“Auto-CoT”方法试图解决的关键挑战。

一些学者倡导的 Auto-CoT 核心思想是自动生成 LM 可用的示例演示,无需人工努力。这样可能结合两种现有方法的优点——可靠的推理,同时更具可扩展性。

人们如何发展 Auto CoT?

在本节中,我们将深入探讨由 Zhuosheng Zhang、Aston Zhang、Mu Li 和 Alex Smola 于 2022 年发表的论文《大型语言模型中的自动思维链提示》的细节。如果你对研究细节不感兴趣,可以跳到下一节。

提出的方法

为克服现有 CoT 方法的局限性,作者提出了一种“Auto-CoT”范式,自动为 CoT 提示构建演示。

关键步骤是:

  1. 利用 LLM 配合“我们一步步思考”的提示,为演示问题生成推理链。
  2. 认识到生成的推理链可能包含错误,作者重点确保所选演示问题的多样性。
  3. 作者开发了一种两步方法来自动构建演示:
    a. 将数据集问题按相似性划分为多个簇。
    b. 从每个簇中选择一个代表性问题,并使用 Zero-Shot-CoT 生成其推理链。

评估

作者在十个基准推理任务(包括算术、常识和符号推理)上使用 GPT-3 评估 Auto-CoT 方法。他们将其性能与 Zero-Shot-CoT 和 Manual-CoT 范式进行了比较。

主要发现

结果表明,Auto-CoT 方法始终匹配或超过需要手动设计演示的 Manual-CoT 范式的性能。这表明 LLM 无需人工努力即可进行有效的 CoT 推理。

Auto CoT 如何工作?

Auto-CoT 的关键思想是自动生成语言模型(LM)可用于思维链(CoT)提示的演示示例,而不是依赖手动设计的演示。

以下是 Auto-CoT 方法的逐步工作原理:

第 1 步 问题聚类:

  • 第一步是获取测试问题集(LM 将评估的问题 & 标准基准数据集的现有问题),并根据相似性将它们分组为几个簇。
  • 这种聚类有助于确保演示问题涵盖 多样化 的问题类型,而不是过于相似。

第 2 步 演示生成:

  • 对于每个问题簇,Auto-CoT 从该簇中选择一个代表性问题。
  • 然后使用“我们一步步思考”的提示,要求 LM 为该代表性问题生成一个推理链。
  • 这个推理链(包括中间步骤和最终答案)成为该簇的演示示例。

第 3 步 提示 LM:

  • 在评估 LM 对新测试问题的回答时,Auto-CoT 向 LM 提供一组自动生成的演示示例。
  • LM 可以利用这些演示来引导自己的逐步推理过程,从而得出测试问题的答案。

如何使用 Auto CoT?

要求:

  • Python 3.8 或更高版本

安装:

数据集:

从以下 GitHub 仓库下载数据集:

快速开始:

请参阅 try_cot.ipynb 笔记本以获取快速入门指南。

操作说明:

构建演示:

  • 运行以下命令为“multiarith”任务构建演示:
    python run_demo.py --task multiarith --pred_file log/multiarith_zero_shot_cot.log --demo_save_dir demos/multiarith

运行推理:

  • 运行以下命令对“multiarith”数据集进行推理:
    python run_inference.py --dataset multiarith --demo_path demos/multiarith --output_dir experiment/multiarith

引用 Auto-CoT:

如果在工作中使用 Auto-CoT,请引用以下论文:

@inproceedings{zhang2023automatic,
title={Automatic Chain of Thought Prompting in Large Language Models},
author={Zhang, Zhuosheng and Zhang, Aston and Li, Mu and Smola, Alex},
booktitle={The Eleventh International Conference on Learning Representations (ICLR 2023)},
year={2023}
}

LLM API 作为应用 Auto-CoT 的核心部分

将 Auto-CoT 与 LLM API 结合有什么好处?

  1. 访问强大的语言模型:
  • Auto-CoT 依赖于大型语言模型的能力来生成逐步推理链并产生准确输出。
  • 通过集成 LLM API,研究者和开发者可以利用最新、最强大的语言模型(如 GPT-3、Megatron-LLM 或 InstructGPT)来驱动 Auto-CoT 系统。
  1. 灵活性与定制化:
  • 不同的语言模型可能有不同的优势、偏见和能力。集成 LLM API 允许用户针对特定任务和应用实验并比较不同模型的性能。
  • 这种灵活性使研究者能够根据需求微调和定制语言模型,从而提高 Auto-CoT 系统的整体有效性。
  1. 可扩展性与部署:
  • LLM API 通常为语言模型的部署和服务提供可扩展且可靠的基础设施,使 Auto-CoT 系统能够处理更大的工作负载并为更多用户提供服务。
  • 通过利用 LLM API 的扩展能力,研究者和开发者可以更轻松地在生产环境中部署和维护 Auto-CoT 系统。
  1. 持续模型改进:
  • 语言模型发展迅速,新版本和改进版频繁发布。集成 LLM API 使 Auto-CoT 系统能够受益于这些进步,并随时掌握最新的语言模型能力。
  • 这确保 Auto-CoT 系统能够持续提供高质量结果,并在语言模型领域的发展中保持竞争力。

如何将 LLM API 集成到我的项目中?

Novita AI 为用户提供调用多个模型的 LLM API,包括最新发布的 llama-3–8b 和 llama-3–70b。您可以在我们的 Playground 上免费尝试不同模型并比较其性能,然后再集成我们的 LLM API。

此外,为满足定制需求,您可以调整关键参数,如 temperature(控制模型输出的随机性和探索程度)、top_p(另一种采样方法,即核采样,模型考虑概率质量 top_p 的 token 结果)、presence_penalty(鼓励模型生成与之前不同的文本)和 maximum tokens(设置模型生成输出的最大长度),以针对特定应用需求优化模型输出。这种定制水平使您能够将 LLM 的功能与 Auto-CoT 系统充分结合。

您可以访问我们的网站获取有关 LLM API 的更多信息,包括集成代码说明、定价和其他功能。

结论

在本文中,我们探讨了思维链(CoT)提示的概念以及引入自动方法 Auto-CoT 的必要性。现有 CoT 方法存在局限性,而 Auto-CoT 方法旨在自动生成演示示例,引导语言模型进行逐步推理,无需人工努力。我们讨论了 Auto-CoT 的关键步骤,包括问题聚类和演示生成。最后,我们强调了集成 LLM API 如何为 Auto-CoT 系统提供强大而灵活的语言模型,从而带来改进的性能、可扩展性和持续模型改进。总体而言,Auto-CoT 代表了增强大型语言模型推理能力的一个令人兴奋的发展。

Novita AI,一站式无限创意平台,提供 100 多个 API。从图像生成和语言处理到音频增强和视频操作,按量付费,价格低廉,让您在构建自己的产品时免去 GPU 维护的烦恼。免费试用。