#To CoT or not to CoT? Chain-of-thought helps mainly on math and symbolic reasoning

o1带火的CoT到底行不行?新论文引发了论战

To CoT or not to CoT?

OpenAI ο1 的诞生极大地提升了人们对 LLM 推理能力和思维链(CoT)的兴趣。一时之间,似乎思维链很快就会成为所有 LLM 的标配,但思维链并非万能,就连 OpenAI 自己也提到 o1 在某些任务上的表现并不比 GPT-4o 强,尤其是以语言为中心的任务。

近日,一篇来自德克萨斯大学奥斯汀分校、约翰·霍普金斯大学和普林斯顿大学的论文引发了热议,其模仿莎士比亚《哈姆雷特》的台词提出了一个对 AI 研究者和实践者来说至关重要的问题:To CoT or not to CoT?

论文标题:To CoT or not to CoT? Chain-of-thought helps mainly on math and symbolic reasoning论文地址:https://arxiv.org/pdf/2409.12183GitHub 库:https://github.com/Zayne-sprague/To-CoT-or-not-to-CoT (待更新)

简单来说,这篇论文研究了思维链(CoT)技术帮助 LLM 解决各式问题的有效性。

首先,该团队分析了近期的相关文献,比较了 CoT 与直接回答方法(DA)的性能表现。

之后,他们使用 20 个数据集和 14 个当今主流的 LLM 在零样本提示和少样本提示设置下进行了实验。

图 1 简单总结了这两项研究的结果。

51c大模型~合集57_大模型

结果表明,CoT 能极大助益 LLM 解决涉及数学和符号推理的任务,至于其它任务,CoT 的效果并不显著甚至可能有损模型性能。

另一个发现是 CoT 能帮助提升执行计算和符号操作的执行步骤,但却比不上能使用外部工具的 LLM。这是什么意思呢?该团队发现,相比于使用直接回答方法,使用 CoT 时 LLM 能更好地生成可执行的形式化方案规划;但如果使用语言模型来生成方案规划,然后再使用外部符号解算器来求解该规划,性能表现还会更好一些。

这样的结果忽然让 CoT 的处境变得有点尴尬:在 CoT 有用的问题上,我们能使用外部工具做得更好;在另一些问题上,CoT 的能力又有限。

因此,该团队认为:「第一,很多广泛使用 CoT 解决的问题其实根本没必要使用 CoT:现在已有更高效方法,能以远远更低的推理成本取得相近的性能。第二,基于提示词的 CoT 不够用了,我们看到人们迫切地需要更复杂精妙的方法,比如基于搜索、交互式智能体或针对 CoT 进行过更好微调的模型的方法。」

文献研究

首先,该团队调研了近期的相关文献,比较了使用或不用 CoT 的提示词的效果。

具体指标和流程这里就不多介绍了。总之,他们从 110 篇论文(35 篇 ICLR 论文和 75 篇 NAACL 和 EACL 论文)中整理出了 1218 个实验结果,涉及 264 个数据集。之后,他们将这些相关任务分成了 14 类,表 1 展示了其中几类的定义。

51c大模型~合集57_大模型_02

文献研究结果

图 2 展示了 CoT 为不同类型的任务带来的性能增量,即使用 CoT 提示法取得的性能减去使用直接回答法取得的性能。

51c大模型~合集57_大模型_03

可以看到,在这些任务上,CoT 平均仅能带来 3.75% 的提升。其中 CoT 带来增益最大的三类任务分别是:符号推理、数学、逻辑推理。在这三个任务上,CoT 实现的平均性能为 56.9,而不使用 CoT 的表现为 45.5。而在其它任务上表现较好的个例(图中用黄色高亮标记出了 10 个),也或多或少与这三个任务有关。

但在其它任务上,CoT 的表现就没什么亮点了,平均成绩仅有 56.8,而就算不使用 CoT,直接回答法也能得到 56.1。该团队认为,这一点点提升甚至不能算作是提升,毕竟 CoT 的计算成本明显更高。

实验研究

除了研究近期文献,该团队也执行了实验,其中涉及到 20 个数据集和 14 个模型,并测试了零样本提示和少样本提示两种设置,见表 2。

51c大模型~合集57_大模型_04

实验研究结果

下面我们通过对一系列问题的解答来了解实验结果。

1.在哪些任务上,零样本 CoT 优于直接提示?

图 3 左展示了 CoT 在五个推理类别(见图 1 右)上带来的平均性能增益;图 3 右则是 CoT 在每个数据集上带来的平均性能增益。

51c大模型~合集57_大模型_05

可以看到,在非符号推理类别和数据集上,特别是那些主要包含常识(CSQA、PIQA、SiQA)、语言理解(WinoGrande)和阅读理解(AGI LSAT、ARC-Easy、ARC-Challenge)的问题上,零样本 CoT 和零样本直接回答的性能几乎没有区别。尽管这些数据集涉及推理,但 CoT 并没有带来增益。

相比之下,数学和符号类别(以及符号和半符号数据集)获得了更大的提升。CoT 在 MATH 和 GSM8k 上带来的增益分别高达 41.6% 和 66.9%。在 ContextHub 和 MuSR Murder Mysteries 等半符号数据集上,CoT 表现出了中等程度的增益。这些数据集需要应用逻辑规则才能得出答案,例如从简单的自然语言(ContextHub)或更复杂的常识性陈述(MuSR Murder Mysteries)中解析得到的一阶逻辑。

在少样本设置下得到的实验结果类似。

2.回答格式是否会影响 CoT 的有用性?

除了数学之外,许多常用的数据集都是多项选择题。该团队指出,对于两个非多项选择题的数据集(MuSiQue 和 BiGGen Bench,并且它们需要不同层级的非符号推理才能给出回答),CoT 的表现与直接回答相近。

因此,可以说回答格式对 CoT 的有用性的影响不大。并且,该团队还表示,预先针对正确响应进行规划或推理甚至可能妨碍 LLM 自由响应的能力。

3.CoT 在知识、软推理和常识推理方面带来的提升是否显著?

在 13 个涉及知识、软推理和常识推理的数据集上,该团队测试了 CoT 的表现,结果发现:答案是否定的,但 MMLU、StrategyQA 和 MuSR 是例外。在这三个数据集上,CoT 可以带来比较显著的增益。

详细研究 MMLU 和 MMLU Pro

MMLU 和 MMLU Pro 是两个范围广泛的数据集,因此很难简单地描述它们的特征。该团队详细研究了 CoT 在 MMLU 中每个类别上的性能表现,以了解 CoT 在不同领域的性能差异。

表 3 给出了 CoT 能为 Llama 3.1 8B 和 70B 在 MMLU 和 MMLU Pro 上带来最显著提升的三个类别。

51c大模型~合集57_大模型_06

可以看到,其中一些与数学有关,这不出人意料,但也有的属于「商业」等类别。不过更进一步研究发现,这些类别通常也涉及数学(比如资产计算等)。

因此,该团队对 MMLU 进行了更细粒度的研究(实例级)。他们发现问题或生成的响应中是否包含 = 这个符号非常关键,可以说是「符号推理的一个强有力的标志」。结果见图 4。

51c大模型~合集57_大模型_07

可以看到,当有 = 时,CoT 在 MMLU 和 MMLU Pro 上的表现明显会更好。该团队认为这是因为 = 通常出现在数学问题中。所以归根结底,CoT 依然是能在数学问题上为 MMLU 和 MMLU Pro 带来助益。

CoT 在形式推理方面的优势和劣势

下面来解释 CoT 有助于符号推理任务的原因。很多符号和半符号推理任务都可以分成两个阶段:规划与执行。该团队也基于此思路进行了分析。

设置 1 和 2:少样本直接回答和 CoT:使用之前的少样本直接回答和 CoT 作为基线。图 5 给出了在 GSM8K 上每个设置的示例。

51c大模型~合集57_大模型_08

设置 3 和 4:规划 + 直接求解器以及计划 + CoT 求解器。

设置 5:规划+工具求解器。

评估结果

图 6 展示了选出的代表性模型的结果。

51c大模型~合集57_大模型_09

可以看到,对于许多数据集和模型而言,仅仅有规划不足以带来明显的性能增益。与直接回答相比,CoT 或规划+ CoT 求解器是实现强大性能所必需的。使用其中一种方法跟踪执行情况可带来最大的准确性优势,尤其是对于含有大量数学内容的数据集。

尽管 CoT 或规划+ CoT 求解器比直接回答和规划+直接回答更强,但规划+工具求解器在大多数情况下还要更优。也就是说,很多时候,使用 CoT 还不如让 LLM 使用工具。




#从架构、工艺到能效表现,全面了解LLM硬件加速

大语言模型(LLM)的发展同时往往伴随着硬件加速技术的进化,本文对使用 FPGA、ASIC 等芯片的模型性能、能效表现来了一次全面概览。

对人类语言进行大规模建模是一个复杂的过程,研究人员花了几十年的时间才开发出来。这项技术最早可追溯于 1950 年,当时克劳德・香农将信息理论应用于人类语言。从那时起,翻译和语音识别等任务取得了长足的进步。

在这个过程中,人工智能 (AI) 和机器学习 (ML) 是技术进步的关键。ML 作为 AI 的一个子集,其允许计算机从数据中进行学习。一般来说,ML 模型要么是有监督的,要么是无监督的。

在接下来要介绍的这篇论文中《 Hardware Acceleration of LLMs: A comprehensive survey and comparison 》,来自西阿提卡大学的研究者重点介绍了有监督模型。

论文地址:https://arxiv.org/pdf/2409.03384

根据论文介绍,深度学习模型分为生成式和判别式。生成式人工智能是深度学习的一个子集,它使用神经网络来处理标记和未标记的数据。大型语言模型 (LLM) 有助于理解字符、单词和文本。

2017 年,Transformer 彻底改变了语言建模。Transformer 是一种神经网络,它使用注意力机制处理长期文本依赖关系。谷歌于 2017 年创建了第一个用于文本翻译的 Transformer 模型。Transformer 此后不断发展,改进了注意力机制和架构。发展到今天,OpenAI 发布的 ChatGPT 是一个著名的 LLM,它可以预测文本并能回答问题、总结文本等。

本文对使用硬件加速器来加速 Transformer 网络所做的一些研究工作进行了全面的调查。该调查介绍了已提出的框架,然后对每个框架的技术、处理平台(FPGA、ASIC、内存、GPU)、加速、能源效率、性能(GOP)等进行了定性和定量比较。

FPGA 加速器

在这一部分中,作者以 A-T 编号的方式列举了有关 FPGA 的研究,可谓调查的非常详细。每项研究都用简短的几句话概括,阅读起来简单又清晰。举例来说:

FTRANS 。2020 年,Li 等人提出了一种硬件加速框架 FTRANS,旨在加速基于 Transformer 的大规模语言表示。FTRANS 显著提高了速度和能效,超越了 CPU 和 GPU 实现,在一系列比较后显示 FTRANS 比其他方案快 81 倍,能效高 9 倍,特别是与使用 VCU118 (16nm) 的 GPU 处理器 RTX5000 相比。该加速器的性能速率为 170 GOP,能效率为 6.8 GOP/W。

多头注意力。2020 年,Lu 等人提出了一种基于 FPGA 的架构,用于加速 Transformer 网络中计算最密集的部分。在他们的工作中,他们为两个关键组件提出了一种新型硬件加速器,即多头注意力 (MHA) ResBlock 和位置前馈网络 (FFN) ResBlock,它们是 Transformer 中最复杂的两个层。所提出的框架是在 Xilinx FPGA 上实现的。根据性能评估,与 V100 GPU 相比,所提出的设计实现了 14.6 倍的加速。

FPGA NPE。2021 年,Khan 等人提出了一种用于语言模型的 FPGA 加速器,称为 NPE。NPE 的能源效率比 CPU(i7-8700k)高约 4 倍,比 GPU(RTX 5000)高约 6 倍。

除此以外,文中还介绍了 ViA 、 FPGA DFX 、 FPGA OPU 等研究,这里就不再详细介绍了。

基于 CPU 和 GPU 的加速器

TurboTransformer。2021 年,Jiarui Fang 和 Yang Yu 推出了 TurboTransformers 加速器,这是一种在 GPU 上专为 Transformer 模型打造的技术。TurboTransformers 在可变长度输入的延迟和性能方面优于 PyTorch 和 ONNXRuntime,速度提高了 2.8 倍。

Jaewan Choi。2022 年,研究员 Jaewan Choi 发表了题为「Accelerating Transformer Networks through Rewiring of Softmax Layers」的研究,文中提出了一种加速 Transformer 网络中 Softmax 层的方法。该研究引入了一种重新布线技术来加速 Transformer 网络中的 Softmax 层,随着 Transformer 模型处理更长的序列以提高准确率,这项技术变得越来越重要。所提出的技术将 Softmax 层划分为多个子层,更改数据访问模式,然后将分解的 Softmax 子层与后续和前面的过程合并。该方法分别将 BERT、GPT-Neo、BigBird 和 Longformer 在当前 GPU 上的推理速度加快了 1.25 倍、1.12 倍、1.57 倍和 1.65 倍,显著减少了片外内存流量。

SoftMax。2022 年,Choi 等人提出了一种通过重组 Softmax 层加速 Transformer 网络的新框架。Softmax 层将注意力矩阵的元素归一化为 0 到 1 之间的值。此操作沿注意力矩阵的行向量进行。根据分析,缩放点积注意力 (SDA) 块中的 softmax 层分别使用了 BERT、GPT-Neo、BigBird 和 Longformer 总执行时间的 36%、18%、40% 和 42%。Softmax 重组通过显著减少片外内存流量,在 A100 GPU 上对 BERT、GPT-Neo、BigBird 和 Longformer 进行推理时实现了高达 1.25 倍、1.12 倍、1.57 倍和 1.65 倍的加速。

此外,论文还介绍了 LightSeq2 、 LLMA 、 vLLMs 等研究。

ASIC 加速器

A3。2020 年,Hma 等人提出了一项关于 Transformer 网络加速的早期研究,称为 A3 。不过,研究人员所提出的方案尚未在 FPGA 上实现。基于性能评估,与 Intel Gold 6128 CPU 实现相比,所提出的方案可实现高达 7 倍的加速,与 CPU 实现相比,能效可提高 11 倍。

ELSA。2021 年,Ham 等人提出了一种用于加速 Transformer 网络的硬件 - 软件协同设计方法,称为 Elsa 。ELSA 大大减少了自注意力操作中的计算浪费。

SpAtten。2021 年,Want 等人提出了一种用于大型语言模型加速的框架 Spatten。SpAtten 采用新颖的 NLP 加速方案,以减少计算和内存访问。SpAtten 分别比 GPU(TITAN Xp)和 Xeon CPU 实现了 162 倍和 347 倍的加速。在能源效率方面,与 GPU 和 CPU 相比,SpAtten 实现了 1193 倍和 4059 倍的节能。

在这部分,作者还列举了加速 transformer 网络的新方法 Sanger、用于提高自然语言处理中 transformer 模型效率的 AccelTran 等多项研究。

内存硬件加速器

ATT。2020 年,Guo 等人提出了一种基于注意力的加速器加速方法,称为 ATT,该方法基于电阻性 RAM。根据性能评估,ATT 与 NVIDIA GTX 1080 Ti GPU 相比,可以实现 202 倍的加速。

ReTransformer。2020 年,Yang 等人提出了一种用于加速 Transformer 的内存框架,称为 ReTransformer。ReTransformer 是一种基于 ReRAM 的内存架构,用于加速 Transformer,它不仅使用基于 ReRAM 的内存架构加速 Transformer 的缩放点积注意力,而且还通过使用提出的矩阵分解技术避免写入中间结果来消除一些数据依赖性。性能评估表明,与 GPU 相比,ReTransformer 可以实现高达 23.21 倍的加速,而相应的整体功率降低了 1086 倍。

iMCAT。2021 年,Laguna 等人提出了一种用于加速长句 Transformer 网络的新型内存架构,称为 iMCAT。该框架结合使用 XBar 和 CAM 来加速 Transformer 网络。性能评估表明,对于长度为 4098 的序列,这种方法实现了 200 倍的加速和 41 倍的性能改进。

除此以外,该章节还介绍了 iMCAT 、 TransPIM 、 iMTransformer 等研究。

定量比较

下表 I 列出了目前所有的硬件加速器以及各自的主要特性,包括加速器名称、加速器类型(FPGA/ASIC/In-memory)、性能和能效。

在某些情况下,当提出的架构与 CPU、GPU 进行比较时,以往的工作也会提及加速这一指标。不过,由于每种架构的基线比较不同,因而本文只展示了它们的绝对性能和能效,而没有涉及加速。

51c大模型~合集57_大模型_10

性能定量比较

下图 1 展示了不同工艺技术下,每种加速器的性能;图 2 展示了更加清楚的对数尺度性能。

51c大模型~合集57_大模型_11

51c大模型~合集57_大模型_12

我们可以看到,采用 14nm 工艺的 AccelTran(服务器)实现最高性能,达到了 372000 GOPs,而 ReTransformer 模型的性能最低。此外,ViA、Me-ViT 和 Ftrans 等采用相同工艺技术的模型并没有实现相似的性能。

不过,对于没有采用相同工艺技术的加速器,则很难进行公平比较。毕竟,工艺技术会对硬件加速器性能产生显著的影响。

能效 vs 工艺技术

下图 3 展示了大多数硬件加速器的能效(GOPs/W)水平,图 4 展示了对数尺度层面的能效。由于很多架构没有测量能效,因而本文只列出了提供了能效的加速器。当然,很多加速器采用了不同的工艺技术,因此很难进行公平比较。

结果显示,以内存为主(In-Memory 加速器)的模型具有更好的能效表现。原因在于数据传输减少了,并且这种特定的架构允许数据在内存中直接处理,而不需要从内存传输到 CPU。

51c大模型~合集57_大模型_13

51c大模型~合集57_大模型_14

16nm 工艺下的加速比较

下表 II 展示了 16nm 工艺下,不同硬件加速器的外推性能。

51c大模型~合集57_大模型_15

下图 5 展示了当在相同的 16nm 工艺技术下外推性能时,不同硬件加速器的绝对性能,其中 AccelTran 的性能水平最高。

51c大模型~合集57_大模型_16

实验外推

本文针对 FPGA 架构进行了实验外推,并测试了 20nm、28nm、40nm、 55nm、65nm 和 180nm 工艺下技术不同的矩阵乘法代码,以验证 16nm 工艺的理论转换效果。研究者表示,FPGA 技术上的矩阵乘法结果有助于外推不同硬件加速器在相同工艺技术上的结果。

下表 III 展示了不同 FPGA 设备、工艺技术以及矩阵乘法 IP 核的结果。

51c大模型~合集57_大模型_17

下图 6 展示了每种 FPGA 设备和矩阵乘法工艺技术的最大时钟频率。由于 FPGA 的性能依赖于最大时钟频率,因此外推性能使得不同工艺技术下架构之间能够实现公平比较。

51c大模型~合集57_大模型_18

更多实验细节请参阅原论文。