简介
什么是大型语言模型中的自动思维链提示?在本文中,我们将从思维链(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 提示构建演示。
关键步骤是:
- 利用 LLM 配合“我们一步步思考”的提示,为演示问题生成推理链。
- 认识到生成的推理链可能包含错误,作者重点确保所选演示问题的多样性。
- 作者开发了一种两步方法来自动构建演示:
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 或更高版本
安装:
- 使用指定版本和 PyPI URL 安装所需的 PyTorch 和 torchtext 包:
pip install torch==1.8.2+cu111 torchtext==0.9.2 -fhttps://download.pytorch.org/whl/lts/1.8/torch_lts.html - 运行
pip install -r requirements.txt安装其他依赖。
数据集:
从以下 GitHub 仓库下载数据集:
- https://github.com/kojima-takeshi188/zero_shot_cot/tree/main/dataset
- https://github.com/kojima-takeshi188/zero_shot_cot/tree/main/log
快速开始:
请参阅 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 结合有什么好处?
- 访问强大的语言模型:
- Auto-CoT 依赖于大型语言模型的能力来生成逐步推理链并产生准确输出。
- 通过集成 LLM API,研究者和开发者可以利用最新、最强大的语言模型(如 GPT-3、Megatron-LLM 或 InstructGPT)来驱动 Auto-CoT 系统。
- 灵活性与定制化:
- 不同的语言模型可能有不同的优势、偏见和能力。集成 LLM API 允许用户针对特定任务和应用实验并比较不同模型的性能。
- 这种灵活性使研究者能够根据需求微调和定制语言模型,从而提高 Auto-CoT 系统的整体有效性。
- 可扩展性与部署:
- LLM API 通常为语言模型的部署和服务提供可扩展且可靠的基础设施,使 Auto-CoT 系统能够处理更大的工作负载并为更多用户提供服务。
- 通过利用 LLM API 的扩展能力,研究者和开发者可以更轻松地在生产环境中部署和维护 Auto-CoT 系统。
- 持续模型改进:
- 语言模型发展迅速,新版本和改进版频繁发布。集成 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 维护的烦恼。免费试用。
