首页 > 其他分享 >简短而精辟: 用什么样的约束思路能提高 (LLM) 成绩?

简短而精辟: 用什么样的约束思路能提高 (LLM) 成绩?

时间:2024-08-08 14:10:20浏览次数:12  
标签:CoT 精辟 模型 简短 LLM 长度 推理 答案

 欢迎来到[云闪世界](www.cloud88.xyz)。有时几个词就足够了:减少输出长度以提高准确性![](/i/l/?n=24&i=blog/3500014/202408/3500014-20240808135437935-347603220.png)

简洁是雄辩的一大魅力。——马库斯·图留斯·西塞罗
简洁和简练是纠正之父。——何西阿·巴卢
欢迎来到雲闪世界。大型语言模型 (LLM)在推理领域表现出了令人感兴趣的能力。事实上,与这些模型的交互是通过使用提示进行的,因此,已经开发出了一些技术来改进 LLM 的这些能力。
最有趣的技术之一是思路链 (CoT) 提示;这种技术提高了推理问题的正确性,并解释了模型如何得出解决方案(或它犯了哪些推理错误)。CoT 是一种通过中间步骤提示模型得出解决方案(而不是生成解决方案)的技术

这种技术非常有趣 [2–3],因为它在零样本设置中也有效。只需强制模型逐步推理(只需在提示中添加“让我们逐步思考”即可),推理问题的结果就会显著改善。
当然,这种技术也有缺点:模型会产生较长的输出,并且系统延迟(完成响应所需的时间)会增加。这源于模型的自回归性质,该模型一次解码一个单词。当模型必须与用户交互时,这种额外的计算成本和时间延迟是不可取的。
这些推理步骤真的有必要吗?模型的措辞难道不能强制吗?
如您所见,当今的模型越来越冗长。尽管答案过去要短得多,但新的 LLM 却用于创建越来越长的输出。在某种程度上,这是一种可取的行为,因为从理论上讲,这些响应总是更完整,可以更好地剖析问题主题。另一方面,响应通常不必要地冗长(尤其是当问题需要简短回答时)。对于用户来说,过长的答案可能会令人沮丧,尤其是在多轮问答设置中。此外,较长的响应并不总是更好。它通常充满了离题、不相关的细节,并且更容易产生幻觉。
问题之一是,没有考虑到输出的简洁性的评估指标,也没有惩罚避免过长的推理链的行为。直观地说,推理链越长,中间结果错误的风险就越大。因此,错误的中间结果对于 LLM 来说可能很难纠正(同样是因为其自回归性质)。
LLM 答复的长度取决于什么?
生成的响应的长度受多种因素影响。主要因素包括:提出的问题、体系结构、大小、预处理和后处理步骤、提示工程技术以及提示中添加的上下文。
很容易想象,生成的 token 越多,生成时间就越长。此外,模型越大,生成相同响应所需的时间就越长(70B 参数的模型生成相同数量的 token 所需的时间与 7B 参数的模型相比更长)
使用来自不同数据集的几个样本,三个 LLM 的响应时间和输出长度之间的关系
CoT 增加了模型的生成时间,因为还必须生成中间推理步骤。因此,标记数量越多意味着每个响应的生成时间越长。
CoT对Falcon-40b效率的影响分析
到目前为止,大多数研究都忽略了效率而注重准确性,因此我们没有考虑效率的指标。在这项研究 [4] 中,他们提出了三个指标来评估模型的准确性和简洁性:
Hard-k 简洁准确度。它测量正确且不超过一定长度 k 的输出的比例。
Soft-k 简洁准确度。与前一个类似,但会惩罚超过一定长度的正确答案。
一致的简洁准确度。对先前指标的概括,考虑到所有输出的长度变化。
现在我们有了一种方法可以同时衡量准确性和简洁性,我们可以尝试找到一种方法来在使用 CoT 时限制 LLM 中的推理步骤。本文 [4] 的作者建议在 CoT 中明确这一要求,以迫使模型压缩其推理。因此,这是一个 ZeroShot-COT 提示,添加了短语“并将答案的长度限制为 n 个单词”(其中 n 是所需的单词数)。

CoT 和受限思维链 (CCoT) 提示的示例
一旦你得到一个迫使模型更简洁地响应的提示,你可能会想知道这是否会影响模型的准确性。在研究中,他们分析了 5 个预先训练的模型(Vicuna-13B、Falcon 7B和 40B、Llama2 7B和 70B)。然后他们在GSM8K 基准数据集(推理问题最广泛使用的数据集)上对它们进行测试,并尝试不同的 n 值(15、30、45、60、100)。
结果表明,强制使用 token 数量可显著减少生成时间(这当然是意料之中的,因为模型产生的 token 数量要少得多)。如果模型不正确,这个结果将毫无意义(我们只会得到一个快速但错误的答案)。令人惊讶的是,对于像 Llama2–70B 和 Vicuna-13B 这样的模型,添加长度约束可以提高准确率(Falcon 7B 和 40B 并非如此)

对于作者来说,这种可变性取决于模型本身的因素,例如大小和训练。较小的模型似乎从这种方法中获益较少(实际上它们的表现更差)。此外,Llama2–70B(获益最多的模型)已在庞大且更加多样化的数据集上进行了训练。而且,它从更高的推理基线开始。
这是 Llama2–70B 对数学问题的响应示例。在这种情况下,我们可以观察到基本响应,包括 CoT 或不同的约束。有趣的是,即使只有很少的 token 可用于生成正确答案及其推理中间体,它也能得出正确答案。

分析模型输出的长度分布会显示一些有趣的结果。红线是中位数,而蓝线是根据假设的长度约束,LLM 应该满足的标记数。如果没有长度约束,模型会产生更长的响应,但同时模型不满足约束(中位数超过蓝线)。

之前,我们定义了三个指标来评估我们的模型,既要准确,又要简洁。通过评估 Hard-k 简洁准确度,准确度会降低。如果我们选择的 k 值太低(超过该字数,即使答案是正确的,也会被视为错误),即使使用受约束的 CoT,我们也会得到较低的结果(这在一定程度上是因为模型没有达到所需的长度)。对于合理的 k 值,我们发现使用新提出的 CoT 的答案既准确又简洁。

当我们查看软简洁性准确度 (SCA) 时,这些结果得到了证实。在这种情况下,α 的值表示接受比所需限制 k 更长的答案的容忍度。换句话说,即使答案超出了一定的字数限制,我们也会接受或不接受正确答案。这些结果表明,即使 CoT 受到限制,一些正确答案也会超出一定长度。也可能有些答案仍然需要更多的推理步骤才能回答,并且不能压缩到某个阈值以上。或者,由于模型的冗长性质,它们很难满足严格的限制。

相反,一致简洁准确度衡量的是平均长度是否一致,从而衡量它们是否平均满足约束。值得注意的是,长度约束增加的模型在要生成的输出长度方面具有更大的自由度(并使用这种自由度)。

正如我们在本文中看到的,LLM 天生冗长,往往会产生不必要的长响应。一方面,现代 LLM 会写出更丰富、更完整的答案。另一方面,感兴趣的答案隐藏在未经请求的细节中,您必须等到生成完成,并且存在相当大的延迟。推理链对于解决数学问题或当您拥有带有代理的系统时非常有用。由于自回归性质,这些链可能非常长,LLM 无法纠正错误的中间体。此外,LLM 还可能卡在推理链的一代中(例如,使用 ReAct 提示和代理)。因此,强制模型遵守一定的长度具有一定的吸引力。
将 CoT 强制为特定的输出长度 [4] 不仅不会降低推理能力,而且似乎还能提高某些模型的性能。目前尚不清楚为什么会发生这种情况(机制研究会很有趣),以及为什么它在较大的模型中效果更好。另一方面,研究是否与幻觉有关也很有趣(当然,生成的标记越多,风险就越大)。
感谢关注雲闪世界。(Aws解决方案架构师vs开发人员&GCP解决方案架构师vs开发人员)
订阅频道(https://t.me/awsgoogvps_Host)
TG交流群(t.me/awsgoogvpsHost)

标签:CoT,精辟,模型,简短,LLM,长度,推理,答案
From: https://www.cnblogs.com/cloud88/p/18348819

相关文章

  • 下载量10w+!LLM新书《大型语言模型:语言理解和生成》pdf免费分享
    下载量10w+!LLM新书《大型语言模型:语言理解和生成》pdf免费分享近年来,人工智能在新语言能力方面取得了显著进展,深度学习技术的快速发展推动了语言AI系统在文本编写和理解方面的表现。这一趋势催生了许多新功能、产品和整个行业的兴起。书旨在为Python开发者提供实用......
  • 一文搞定:LLM并发加速部署方案(llama.cpp、vllm、lightLLM、fastLLM)
    llama.cpp、vllm、lightllm、fastllm四种框架的对比:llama.cpp:基于C++,①请求槽,②动态批处理,③CPU/GPU混合推理vllm:基于Python,①PagedAttention高效管理注意力KV内存,②连续动态批处理,③量化GPTQ/AWQ/SqueezeLLM等。lightllm:基于Python,①三进程异步协作,②动态批处理,③Fla......
  • 再探GraphRAG:如何提升LLM总结能力?
    作者:王振亚编者语:自微软发布GraphRAG之后,相关解读文层出不穷,其中不乏优秀的内容。比如前段时间转载薛明同学的《微软GraphRAG框架源码解读》让大家对GraphRAG的开源代码有了快速的认识。这次我们分享一下来自蚂蚁技术同学王振亚的对GraphRAG如何提升LLM总结能力的思考,作者对Gr......
  • vllm+go||vllm+go-zero 流式输出
    Golang后端流式输出实现以下是如何在Golang后端实现流式输出的步骤。1.后端(Golang)首先,你需要创建一个HTTP处理器来处理前端的请求,并设置响应头以支持Server-SentEvents(SSE)。import("fmt""net/http")funcstreamHandler(whttp.ResponseWriter,r......
  • LLM-文心一言:Zigbee、LoRaWAN、NB-IoT
    Zigbee、LoRaWAN和NB-IoT都是无线通信技术,各自具有独特的特点和应用场景。以下是对这三种通讯技术的详细介绍:ZigbeeZigbee是一种短距离、低功耗的无线通信技术,主要用于构建低成本、低功耗的无线个人区域网络(WPAN)。它类似于蓝牙,但具有更低的功耗和更远的通信距离,且适用于需要大量......
  • LLM新巅峰||北大提出mllm-NPU,赋能1000字/秒的设备端LLM预填充
    本文提出了mllm-NPU,这是第一个有效利用设备上神经处理单元(NPU)卸载的LLM推理系统。mllm-NPU的主要设计目标是减少预填充延迟和能耗。它针对主流的仅解码器的变压器架构的LLM(例如LlaMA、GPT等)。关键思想是最大限度地在移动NPU上执行预填充,以加速整数计算,同时保持在CPU/GPU上执行......
  • LLM大模型实战:从零到精通——大模型应用开发极简入门
    大家好,今天给大家推荐一本大模型应用开发入门书籍《大模型应用开发极简入门》,本书对很多AI概念做了讲解和说明!朋友们如果有需要《大模型应用开发极简入门》,扫码获取~本书主要讲解了以下几个方面的大模型技术:GPT-4和ChatGPT的工作原理:书中详细介绍了这两个先进的语言......
  • 代码随想录算法训练营第62天 | 最短路径:dijkstra(堆优化版)+ Bellman_ford算法
    47.参加科学大会https://kamacoder.com/problempage.php?pid=1047dijkstra(堆优化版)精讲https://www.programmercarl.com/kamacoder/0047.参会dijkstra堆.html#思路94.城市间货物运输Ihttps://kamacoder.com/problempage.php?pid=1152Bellman_ford算法精讲https://www.pr......
  • WPF KeyDown MVVM via CallMethodAction of behavior
    <behavior:Interaction.Triggers><behavior:EventTriggerEventName="KeyDown"><behavior:CallMethodActionMethodName="WinKeyDown"TargetObject="{Binding}"/></behavior:EventTrigger>&......
  • 【大模型书籍PDF】LangChain入门指南:构建高可复用、可扩展的LLM应用程序( 推荐)
    今天又来给大家推荐一本大模型方面的书籍<Langchain入门指南>这本书专门为那些对自然语言处理技术感兴趣的读者提供了系统的LLM应用开发指南。全书分为11章,从LLM基础知识开始,通过LangChain这个开源框架为读者解读整个LLM应用开发流程。......