diff --git a/src/zh/posts/prompt/GoT.md b/src/zh/posts/prompt/GoT.md index e031b227c..66c001ca7 100644 --- a/src/zh/posts/prompt/GoT.md +++ b/src/zh/posts/prompt/GoT.md @@ -27,7 +27,7 @@ tag: ## 1 相关工作 大型语言模型正在变成人工智能世界的主导技术。近些年高速发展的模型主要基于仅解码器 Transformer 的变体,比如 GPT、PaLM 或 LLaMA。而在解决不同的 LLM 任务时,prompt 工程设计是一种能高效利用资源的方法。简单来说,就是在发送给 LLM 的输入中包含对任务的描述。如果能以适当的形式描述该任务,那么 LLM 就能借助其用于生成文本的基于自回归 token 的机制来解决该任务。 -思维链(CoT)便是一种用于设计 prompt 的方法,即 prompt 中除了有任务的输入和输出外,还包含推理的中间步骤(中间思维)。研究表明,CoT 能极大地提升 LLM 的能力,使之无需任何模型更新便能解决一些难题。具体参阅文章见[Chain-of-Thought: 思维链](./CoT.md)。。也有研究者改进了 CoT,提出了使用 CoT 实现自我一致的方法(CoT-SC);这个方案是生成多个 CoT,再选出其中最佳的结果。最近还有研究者更进一步提出了思维树(ToT),其做法是通过树(tree)来建模 LLM 推理过程。这能让模型使用不同的思维路径,并能提供全新的功能,比如基于不好的结果反向回溯推理过程。更多详情请参阅机器之心文章[Tree-of-Thought: 思维树](./ToT.md)。 +思维链(CoT)便是一种用于设计 prompt 的方法,即 prompt 中除了有任务的输入和输出外,还包含推理的中间步骤(中间思维)。研究表明,CoT 能极大地提升 LLM 的能力,使之无需任何模型更新便能解决一些难题。具体参阅文章见[Chain-of-Thought: 思维链](./CoT.md)。也有研究者改进了 CoT,提出了使用 CoT 实现自我一致的方法(CoT-SC);这个方案是生成多个 CoT,再选出其中最佳的结果。最近还有研究者更进一步提出了思维树(ToT),其做法是通过树(tree)来建模 LLM 推理过程。这能让模型使用不同的思维路径,并能提供全新的功能,比如基于不好的结果反向回溯推理过程。更多详情请参阅文章[Tree-of-Thought: 思维树](./ToT.md)。 ## 2 论文概述 @@ -41,7 +41,7 @@ GoT模块化架构有两大亮点。 一是可实现对各个思维的细粒度控制。这让用户可以完全控制与 LLM 进行的对话并使用先进的思维变换,比如将正在进行的推理中两个最有希望的思维组合起来得到一个新的。 二是这种架构设计考虑了可扩展性 —— 可无缝地扩展用于新的思维变换、推理模式(即思维图)和 LLM 模型。这让用户可使用 GoT 快速为 prompt 的新设计思路构建原型,同时实验 GPT-3.5、GPT-4 或 Llama-2 等不同模型。 -![表2.1 GoT 与其它 prompt 设计方案的定性比较](/assets/images/prompt/GoT2.png "表2.1 GoT 与其它 prompt 设计方案的定性比较") +![表2.1 GoT 与其它 prompt 设计方案的定性比较](/assets/images/prompt/GoT2.png "表2.1 GoT 与其它 prompt 设计方案的定性比较" =400x) ### 2.2 思维容量 @@ -53,7 +53,7 @@ GoT模块化架构有两大亮点。 下面详细介绍一下 GoT 框架。其示意图见图3.1,图中还给出了其它 prompt 设计策略的示意图。 -![图3.1 GoT和其他提示策略的示意图](/assets/images/prompt/GoT3.png "图3.1 GoT和其他提示策略的示意图") +![图3.1 GoT和其他提示策略的示意图](/assets/images/prompt/GoT3.png "图3.1 GoT和其他提示策略的示意图" =500x) 在数学形式上,GoT 可以建模为一个元组 (G, T, E, R),其中 G 是 LLM 推理过程(即上下文中的所有 LLM 思维及其关系),T 是可能的思维变换,E 是用于获得思维分数的评估器函数,R 是用于选择最相关思维的排序函数。 @@ -67,7 +67,7 @@ GoT模块化架构有两大亮点。 得益于将基于图的模型用于推理,GoT 能实现全新的思维变换。研究者称之为图使能的变换(graph-enabled transformation)。比如,在写作任务中可以将多篇输入文章组合成一篇连贯一致的摘要。在排序时,可将多个已排序的数值子数组合并为一个最终已排序数组。图 3.2给出了聚合和生成的示例。 -![图3.2 聚合和生成思维变换的示例](/assets/images/prompt/GoT4.png "图3.2 聚合和生成思维变换的示例") +![图3.2 聚合和生成思维变换的示例](/assets/images/prompt/GoT4.png "图3.2 聚合和生成思维变换的示例" =400x) ### 3.3 对思维进行评分和排名 @@ -85,7 +85,7 @@ GoT 由一组交互式模块构成。这些模块是 Prompter(准备用于 LLM 研究者描述一些 GoT 的一些用例,包括排序、集合运算、关键词计数、文档合并;下图 4.1 便是 GoT 的排序用例中一个图分解示例。 -![图4.1 GoT 的排序用例](/assets/images/prompt/GoT6.png "图4.1 GoT 的排序用例") +![图4.1 GoT 的排序用例](/assets/images/prompt/GoT6.png "图4.1 GoT 的排序用例" =300x) ## 5 思维容量 @@ -93,5 +93,5 @@ GoT 由一组交互式模块构成。这些模块是 Prompter(准备用于 LLM 各种方案的结构如下。CoT-SC 由源自单个起始思维的 k 条独立链构成。ToT 是一条完全 k 叉树。而在 GoT 中,会在其叶节点处加入一个完全 k 叉树,并带有一个「镜像」k 叉树 —— 其大小一样而边是反向的。 详细分析见表 5.1。CoT 的容量较大,最大可至 N,但也有 N 的高延迟成本。CoT-SC 将延迟降低了 k 倍(对应于其分支因子),但同时其容量也会减小 k 倍。ToT 的延迟为 log_k N,但容量也很低。GoT 是唯一能做到低延迟 log_k N 和高容量 N 的方案。GoT 之所以能做到这一点,是因为其利用了思维聚合,使其可从图分解中任何其它中间思维得到最终思维。 -![表5.1 提示策略的对比](/assets/images/prompt/GoT7.png "表5.1 提示策略的对比") +![表5.1 提示策略的对比](/assets/images/prompt/GoT7.png "表5.1 提示策略的对比" =300x)