ICLR 2024:思维框架 原创

发布于 2024-4-30 14:53
浏览
0收藏

本工作旨在减少大型语言模型(LLMs)的端到端生成延迟。高生成延迟的主要原因之一是几乎所有最先进的LLMs都采用了顺序解码方法。在这项工作中,受到人类思考和写作过程的启发,研究人员提出了思维框架(SoT),它首先指导LLMs生成答案的骨架,然后进行并行API调用或批处理解码以并行完成每个骨架点的内容。SoT不仅可以显著加速12个LLMs的速度,而且还可以潜在地提高几个问题类别的答案质量。SoT是对推理效率进行数据中心优化的初步尝试,进一步强调了将LLMs推向更像人类思考的潜力,以提高答案质量。

背景

大型语言模型(LLMs)的生成过程很慢。例如,Claude(于2023年7月中旬通过Slack访问)回答“工作场所冲突解决最有效的策略是什么”问题需要22秒,Vicuna-33B V1.3(基于33B LLaMA模型,本地在一台NVIDIA A100 GPU上运行)需要43秒。

LLM的慢推理问题有三个主要原因:

  • (1)由大型模型大小引起的大内存、内存访问和计算量;
  • (2)流行的Transformer架构中注意力的二次内存和计算复杂度;
  • (3)生成过程采用逐个生成标记的顺序解码方法。大量文献已经通过压缩/重新设计模型或重新设计服务系统和硬件来解决前两个问题轴线。

能否加速现成的LLMs而不对它们的模型、系统或硬件进行任何更改?研究人员展示了对现成LLMs进行并行解码的可行性!

方法

这个想法源于反思人类如何回答问题。人类不总是按顺序思考问题并写答案。相反,对于许多类型的问题,我们首先根据某些协议和策略导出骨架,然后添加证据和细节来完善和阐明每一点。在像提供咨询、参加考试、写论文等正式场合,尤其如此。我们能让LLMs以同样的方式思考吗?为此,研究人员提出了思维框架(SoT)。具体来说,如下所示,首先引导LLMs自行导出一个骨架。基于骨架,LLMs可以并行完成每个点,从而获得加速。请注意,SoT可以用于加速具有批处理解码的开源模型和具有并行API调用的闭源模型。

ICLR 2024:思维框架 -AI.x社区

(1)骨架阶段

SoT首先使用骨架提示模板和原始问题组装一个骨架请求。骨架提示模板编写以指导LLMs输出答案的简明骨架。然后,从LLMs的骨架响应中提取B个点。

骨架提示模板:为了使输出骨架简短且格式一致,以提高效率和点提取的便利性,骨架提示模板(1)精确描述任务,(2)使用两个简单的演示,(3)提供部分答案“1.”供LLMs继续写作。研究人员发现,在大多数情况下,骨架响应都符合期望的格式。因此,可以简单地使用正则表达式从骨架响应中提取点索引和点骨架。

(2)点扩展阶段

根据骨架,研究人员使用点扩展提示模板组装B个点扩展请求,并让LLMs并行扩展每个点。对于仅具有API访问权限的专有模型,可以发出多个并行API调用。对于开源模型,让模型将点扩展请求作为批处理处理(在点扩展请求的左侧添加填充)。最后,在完成所有点之后,连接点扩展响应以获得最终答案。

点扩展提示模板:点扩展提示模板描述点扩展任务并提供部分答案。研究人员还提供了“非常简短地写”1∼2句的指示,以便LLMs保持答案简明。与骨架提示模板不同,研究人员发现不需要演示也可以获得合理的结果。

具有路由器的SoT(SoT-R):自适应触发SoT

SoT进行独立和并行的点扩展。因此,它不适用于以下类型的问题:(1)需要逐步推理的问题,(2)仅需要非常简短答案的问题,以及(3)不能独立解码以保持连贯性的问题。因此,为了推动SoT的实际应用,研究人员探索了仅在合适时自适应触发SoT的可能性。为实现这一目标,提出了一个路由器模块,该模块决定是否应用SoT进行用户请求,并相应地调用SoT或普通解码。为了实现路由器,研究人员探索了两种选项:LLM提示作为路由器(无需模型训练),以及在LIMA上进行训练、在Vicuna-80和WizardLM上进行测试的RoBERTa作为路由器。研究人员将整体解决方案命名为带有路由器的SoT(SoT-R)。

结果

数据集。使用了(1)包含80个问题的Vicuna-80数据集,涵盖编码、数学、写作、角色扮演等九个类别,以及(2)包含218个问题的WizardLM数据集,涵盖更多类别和不同难度。

模型。对12个最近发布的模型进行了SoT和SoT-R的测试,包括9个开源模型和3个基于API的模型,如下所示。

效率评估。使用time.time记录API调用的延迟,使用torch.cuda.Events记录本地模型运行的延迟。所有本地模型均使用FastChat - HuggingFace transformer - PyTorch库堆栈运行,并采用FP16精度。

答案质量评估。遵循最近的做法,让一个LLM判断比较答案。研究人员使用FastChat和LLMZoo的评估提示,并询问GPT-4对答案的偏好。

ICLR 2024:思维框架 -AI.x社区

下图左侧显示了整体解决方案SoT-R实现的答案质量和加速效果。SoT-R可以加速基于API和开源模型的生成。此外,SoT-R还可以改善许多模型的答案质量。这是因为SoT中的骨架阶段鼓励LLMs从围绕问题的多个角度思考,提高了答案的多样性和相关性。

对于SoT-R为何有所帮助的一些详细信息,请参见下图右侧,该图显示SoT-R成功地针对适合的问题类别触发SoT,并对其他问题类别进行正常生成,从而保持了这些类别的答案质量。

ICLR 2024:思维框架 -AI.x社区

SoT与路由器(SoT-R)在Vicuna-80上与正常生成相比的净胜率和加速比。净胜率是SoT-R的答案优于或劣于正常生成的问题分数之差。加速比是正常生成和SoT-R生成的延迟比率。(1.0, 0.0)表示正常生成。在两个轴上都更高更好。对于大多数模型来说,SoT-R不仅加速了生成,还提高了答案质量。

ICLR 2024:思维框架 -AI.x社区

(上图)SoT和SoT-R在Vicuna-80上不同问题类别的净胜率。对于不适合SoT的问题类别,SoT-R学会了回退到正常生成模式。因此,SoT-R可以保持所有问题类别的良好答案质量。

(下图)SoT和SoT-R在Vicuna-80上不同模型的加速比。SoT-R可以为大多数模型保持>1的加速比。

问题和展望

引导或提高LLMs的能力

SoT展示了提高答案质量的潜力。这是最近研究的一个更广泛趋势的一部分,例如CoT、ToT和ReAct等工作,这些工作共同证实了在语言中明确表达思维过程可以引出高质量的答案的观点。这些发现类似于人类的思维:经常记录逐步推理或思维组织,而不是仅依靠第一直觉或纯粹的顺序思维来获得高质量的答案。这种有趣的类比促使进一步探索如何从人类的思维过程中汲取经验,以促进更有效和高效的人工智能。

例如,SoT目前忽略了点之间的依赖关系。一个在概念上更好的方法是将这些点组织成思维图,其中边表示依赖关系,并且每个点的解码是依赖于其祖先点的内容。此外,研究人员预期需要动态思维图,而不是遵循静态图,其中高层思维结构由LLMs自己动态调整。这可能将SoT的效率和全局思维优势与逻辑推理和即兴思考等方法(例如CoT)的优势结合起来。

此外,还存在自我改进的训练管道,利用CoT生成的理由来微调LLMs,从而增强它们的推理能力。同样,有趣的是调查来自SoT的更结构化答案如何用于微调LLMs,以增强它们生成井然有序和全面答案的能力。

不同情景下SoT的效率和开销

服务系统通常采用批处理来处理并发查询。这引发了一个担忧,即SoT是否会由于并行请求而影响服务吞吐量。(1) 当存在未饱和的并发查询数量时,SoT可以有效地减少延迟并提高GPU利用率。示例场景包括(a)具有单个用户的边缘应用;(b)在用户请求未饱和且计算能力未充分利用的时期的集中式服务。有趣的是根据系统工作负载研究适当的SoT触发条件。(2) 当存在饱和的并发查询数量时,SoT仍然有助于提高答案质量。然而,在这种情况下,重要的是考虑来自SoT的计算开销。

对于基于API的模型,存在一个显着的问题,即填充令牌的数量增加。鉴于许多API收取令牌使用费,SoT可能导致更高的成本。为了解决这个问题,可以调整并行API请求的数量(通过在单个API调用中扩展多个点),或者使用提示调整来设计更短的SoT提示。

以数据为中心的效率优化

虽然以数据为中心的工程正在流行中用于提高答案质量,但其对推理效率的潜力尚未被充分探索。SoT是第一次尝试。随着LLM的能力和LLM生成的数据量迅速增长,未来数据为中心的技术可能变得更加有用。期待着更多的探索,以发掘数据为中心的效率优化的全部潜力。

译自(有删改):https://sites.google.com/view/sot-llm


本文转载自公众号AIGC最前线   

原文链接:​​https://mp.weixin.qq.com/s/rmdR2eoYvwatlgG8czLsng​

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
相关推荐