是否需要更多的LLM调用?迈向复合推理系统的扩展法则

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

原文地址:performing-multiple-llm-calls-voting-on-the-best-result-are-subject-to-scaling-laws

2024 年 3 月 20 日

这份文档是一篇关于复合推理系统(Compound Inference Systems)的学术论文。论文主要探讨了在语言任务中,通过多次调用大型语言模型(LLM)并聚合它们的响应来构建复合系统的性能问题。具体来说,研究的重点是分析LLM调用次数如何影响复合推理系统的性能,尤其是一层次投票推理系统(one-layer Voting Inference Systems)。

关键发现和概念:

  1. 复合系统的性能与LLM调用次数的关系:论文发现,当增加LLM调用次数时,复合系统的性能最初会提高,但随后会下降。这一非单调性现象与任务中查询难度的多样性有关。
  2. 层次投票推理系统:这是一种简单的复合系统,通过多数投票的方式聚合LLM的响应。论文对这种系统进行了理论和实证分析。
  3. 查询难度的多样性:论文提出,更多的LLM调用在处理“简单”查询时可以提高性能,但在处理“困难”查询时会降低性能。当任务同时包含简单和困难查询时,就会出现非单调的行为。
  4. 系统性能的可预测性:论文提出了一个算法,可以从少量样本中计算出最大化系统性能的LLM调用次数,并定义了投票推理系统的缩放定律。
  5. 实验验证:通过实验,论文展示了其缩放定律可以预测投票推理系统的性能,并找到最优的LLM调用次数。

研究方法和结果:

  • 论文首先介绍了复合AI系统的背景和动机,然后提出了研究问题,即LLM调用次数如何影响复合系统的性能。
  • 通过理论分析和实证研究,论文发现了一个有趣的趋势:在多个语言任务中,投票推理系统的性能随着LLM调用次数的增加先提高后降低。
  • 论文提出了一个理论模型来解释这一现象,并通过定理1来描述不同难度查询对性能景观的影响。
  • 论文还提出了一个缩放定律,用于模拟基于项难度的推理系统性能,并提出了一个算法来使用少量样本估计缩放定律的参数。
  • 实验部分使用合成数据集和真实世界数据集来验证理论分析,并使用GPT-3.5作为LLM进行性能评估。

结论和未来工作:

  • 论文的结论强调,更多的LLM调用并不总是能提高复合AI系统的性能,这取决于查询的难度分布。
  • 论文提出了未来工作的方向,包括更准确地估计查询难度,并为每种类型的查询变化LLM调用次数。
  • 论文还提出了关于如何平衡LLM调用的成本、性能和延迟缩放的进一步研究问题。

整体而言,这篇论文为理解和利用复合AI系统的缩放属性提供了新的视角,并为未来在这一领域的研究奠定了基础。

定理1和缩放定律是论文中提出的两个关键概念,用于解释和预测复合推理系统性能与LLM调用次数之间的关系。

定理1(Theorem 1)
定理1提供了一个定性的特征化,描述了查询难度如何影响一层次投票推理系统的性能景观。具体来说,定理1表明,对于一个具有二级别难度(2-level difficult)的数据分布D,如果数据分布的参数满足特定的条件(即简单查询和困难查询的概率之和大于1,且简单查询的比例小于某个阈值),那么随着LLM调用次数K的增加,系统的性能F(K; D)将呈现出非单调的变化。具体来说,如果简单查询的比例α小于1减去一个由难度参数p1和p2决定的特定阈值,那么性能将先增加后减少,形成一个“倒U形”;反之,如果α大于这个阈值,性能将先减少后增加,形成一个“U形”。

缩放定律(Scaling Law)
缩放定律是一个数学模型,用于模拟和预测推理系统在不同难度分布的数据集上的性能。这个定律通过一个函数G(K; D)来表示,该函数考虑了数据集中简单和困难查询的概率分布。缩放定律的公式如下:

其中,gp(K; ccc)是一个关于LLM调用次数K的函数,它取决于简单查询和困难查询的正确率p1和p2,以及一个难度参数ccc。这个函数在p大于1/2时单调递增,在p小于1/2时单调递减,从而捕捉到LLM调用次数对性能影响的非线性特征。

算法(Algorithm for Estimating Scaling Law Parameters)
为了使用少量样本估计缩放定律的参数,论文提出了一个算法。这个算法首先在训练数据集上为每个查询估计难度参数,然后聚合这些结果以获得整体的缩放函数。算法的主要步骤包括:

  1. 对于训练数据集中的每个查询,使用少数LLM调用次数生成答案,并与真实标签比较以确定查询的难度。
  2. 根据观察到的性能来拟合每个查询的难度参数。
  3. 聚合所有查询的难度参数估计,得到整体的缩放函数。

通过这个算法,研究人员可以在不进行大规模实验的情况下,预测不同LLM调用次数下系统的性能,从而为实际应用中的资源分配和系统优化提供指导。

在论文中提到的一层次投票推理系统(one-layer Voting Inference System)中,多数投票(majority voting)是一种简单的聚合机制,用于从多个大型语言模型(LLM)生成的候选答案中选择最终响应。以下是多数投票实现的具体原理和步骤:

  1. 生成候选答案:当给定一个用户查询时,系统首先会调用多个LLM实例来生成候选答案。这些LLM实例可能具有不同的参数或配置,以增加生成答案的多样性。对于每个LLM实例,系统会根据当前的参数和查询内容生成一个或多个可能的答案。
  2. 收集候选答案:系统将所有LLM实例生成的答案收集起来,形成一个候选答案集合。这个集合包含了所有可能的答案,每个答案可能由一个或多个LLM实例生成。
  3. 多数投票决策:接下来,系统会对这些候选答案进行多数投票。具体来说,系统会统计每个答案在所有LLM生成的答案中出现的次数。然后,选择出现次数最多的答案作为最终的输出。如果出现次数最多的答案有多个,系统会随机选择其中一个作为最终响应。
  4. 处理平票情况:如果在多数投票过程中有多个答案出现次数相同且最高,系统会随机选择其中一个作为最终答案,以打破平票。
  5. 性能评估:系统会根据多数投票的结果来评估其性能。通常,这涉及到将系统输出的答案与真实答案进行比较,以计算准确率或其他性能指标。

在论文中,作者通过理论和实证分析发现,尽管增加LLM调用次数在处理简单查询时可以提高性能,但在处理困难查询时可能会导致性能下降。这种现象是由于任务中简单和困难查询的混合导致的。因此,一层次投票推理系统的性能并不是随着LLM调用次数的增加而单调提高的,而是呈现出非单调的行为。

这种多数投票机制的实现原理简单直接,但它有效地利用了多个LLM的集体智慧,以提高系统对查询的整体响应质量。然而,为了最大化系统性能,需要仔细考虑LLM调用的最优次数,这正是论文中提出的缩放定律和参数估计算法所解决的问题。

论文中提出的系统性能的可预测性算法是一个基于缩放定律的参数估计方法,它允许用户使用少量样本来计算出最大化系统性能的LLM调用次数。这个算法的核心是理解和模拟LLM调用次数(K)与系统性能(F(K; D))之间的关系,特别是在考虑查询难度分布的情况下。以下是算法的主要步骤:

  1. 样本收集:首先,对于一系列不同的LLM调用次数(例如,1, 2, 3, ..., N),系统将生成对应的候选答案集合,并通过对每个调用次数的性能进行评估来收集数据样本。
  2. 难度分类:接着,系统将查询分为“简单”和“困难”两类,基于每个查询的LLM生成答案的正确率。如果一个查询的多数投票结果是正确的,那么这个查询被认为是简单的;否则,它被认为是困难的。
  3. 参数估计:使用收集到的样本数据,算法将拟合缩放定律的参数。这些参数包括简单查询和困难查询的比例(α)、简单查询的正确率(p1)和困难查询的正确率(p2)。算法通过最小化实际性能与模型预测性能之间的差异来确定这些参数的最优值。
  4. 缩放定律应用:一旦参数被估计出来,算法将使用这些参数来计算不同LLM调用次数下的性能预测。这是通过将参数代入到缩放定律的公式中来完成的。
  5. 性能优化:最后,算法将找到使系统性能最大化的最优LLM调用次数。这是通过分析缩放定律的输出来确定的,即找到性能曲线上的最高点。 

论文中的缩放定律和算法是基于理论和实证分析得出的,它们提供了一种方法来预测和优化复合推理系统在不同任务和不同难度分布下的LLM调用次数。这种方法可以帮助研究人员和实践者更有效地分配计算资源,并提高复合AI系统的性能。

在论文中,具有二级别难度(2-level difficulty)的数据分布D是指一个数据集中的查询(或问题)可以根据它们的难度被分为两个类别:简单(easy)和困难(hard)。这种分类是基于每个查询的正确答案生成概率来定义的。具体来说,二级别难度分布通过以下参数来描述:

  1. α(易查询的比例):这是一个介于0和1之间的比例值,表示数据集中被认为是简单查询的问题所占的比例。例如,如果α=0.7,那么意味着70%的查询被认为是简单的。
  2. p1(简单查询的正确答案生成概率):这是在简单查询上,一个LLM调用生成正确答案的概率。p1的值通常大于0.5,因为简单查询被认为是容易回答的,所以LLM有较高的概率给出正确答案。
  3. p2(困难查询的正确答案生成概率):这是在困难查询上,一个LLM调用生成正确答案的概率。p2的值通常小于或等于0.5,因为困难查询被认为是难以回答的,所以LLM生成正确答案的概率较低。

通过这些参数,可以构建一个二级别的难度分布模型,其中每个查询的难度是根据它们属于简单查询的概率α和相应的正确答案生成概率p1,或者属于困难查询的概率(1-α)和相应的正确答案生成概率p2来确定的。这种模型允许研究人员分析和预测在不同难度查询混合的情况下,通过增加LLM调用次数,复合推理系统的性能如何变化。

论文中的定理1和缩放定律正是基于这种二级别难度分布来推导和建立的,它们帮助解释了为什么在增加LLM调用次数时,系统的性能可能会先提高后降低,这一现象与简单和困难查询的比例和正确答案生成概率有关。

多次执行LLM调用并投票选择最佳结果遵循的扩展法则。更多的LLM调用在简单查询上可以提高性能,但在困难查询上却会降低性能。那么可以发现和利用哪些扩展法则呢?最优的LLM调用次数是多少?

介绍

考虑到最近的研究,LLM互动的结构涉及复杂的提示策略,并且某种解决方案是围绕LLM互动构建的,正在发生两种现象:

  1. 有更多的LLM调用涉及生成人工智能方法或策略。将大部分功能转移给LLM的方法意味着更多的调用。这会产生额外的开销和问题,例如推理时间、成本和对特定LLM的依赖性。
  2. 在许多情况下,会对 LLM 进行多次调用,并使用一个或多个 LLM 来选择要使用的最佳响应或呈现给用户。

这些方法旨在最大限度地利用LLM,避免在微调模型方面付出努力,引入任何人机交互流程或外部数据。

了解这些缩放动态也有助于理解复合推理策略的局限性。

然而,更多的 LLM 调用可以增强简单查询的性能,但会降低困难查询的性能。

达成共识

本文研究了大型语言模型 (LLM) 调用数量对语言任务中使用的复合系统性能的影响。

这些复合系统聚合来自多个LLM调用的响应。

该研究从理论上和经验上对此进行了检验,以了解控制此类系统性能的缩放定律。

研究表明,与预期相反,投票推理系统的性能随着各种语言任务中的 LLM 调用数量的增加而先增加后减少。

考虑下图,这符合我在简介中描述的内容。运行多个推理实例,并使用预定义的流程来选择要使用的最佳响应。

来源

更多的 LLM 调用可以提高简单查询的性能,但会降低困难查询的性能。

通过了解这一点,该研究设计了一种方法来计算 LLM 调用的最佳数量,以最大限度地提高系统性能,基于少量样本。

实验验证了该缩放定律可以准确预测投票推理系统的性能并确定 LLM 调用的最佳数量。

来源

考虑到上图,随着 LLM 调用数量的增加,单层投票推理系统表现出显着的性能趋势:它在简单项目上显着提高,同时在困难项目上恶化。

具体来说,虽然系统受益于 LLM 调用的增加,可以更有效地解决更简单的问题,但它很难在更具挑战性的项目上保持性能,从而导致整体性能模式存在细微差别。

来源

考虑到上面的图表……对推理系统在现实世界数据集上的性能的分析揭示了一个有趣的模式。经验性能(以超过 1000 次运行的平均橙色点表示)表明,增加调用次数并不能持续提高性能。

这种差异是由于系统内简单查询和困难查询的效果对比而产生的。定义的缩放法则的预测能力(用蓝线表示)可以准确预测性能趋势。具体来说,它可以实现最佳的集合大小选择,而无需对所有可能的调用进行详尽的搜索。这强调了该研究的分析模型在指导系统设计和提高实际应用性能方面的有效性。

综上所述

该研究的结果强调了一个关键点:仅仅增加LLM的调用数量并不总能带来性能的提高。

相反,它强调复合系统中深思熟虑的设计的重要性。通过揭示 LLM 调用量对系统性能的细微影响,该研究强调了在构建人工智能系统时仔细考虑的重要性。

希望这些见解能够激发在开发最有效的人工智能系统方面的进一步研究和创新。

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值