大型语言模型在算法设计中的系统性综述
刘飞,香港城市大学,中国
姚一鸣,香港城市大学,中国
郭平,香港城市大学,中国
杨志远,香港城市大学,中国
林曦,香港城市大学,中国
童夏亮,华为诺亚方舟实验室,中国
袁明轩,华为诺亚方舟实验室,中国
卢志超,香港城市大学,中国
王振坤,南方科技大学,中国
张庆福*,香港城市大学,中国
算法设计(AD)在各个领域的有效问题解决中至关重要。大型语言模型(LLMs)的出现显著增强了该领域的自动化和创新,提供了新的视角和更优的解决方案。在过去三年中,LLMs 与 AD 的结合(LLM4AD)取得了显著进展,应用于优化、机器学习、数学推理和科学探索等多个领域。鉴于该领域的快速发展和广泛应用,进行系统的综述既及时又必要。本文对 LLM4AD 的相关工作进行了系统综述。首先,我们概述并总结了现有研究。然后,我们从四个维度对现有工作进行了系统分类和综述,包括 LLMs 的角色、搜索技术、提示策略和应用领域。我们还讨论了各领域的成就和挑战,以及 LLM4AD 解决这些问题的能力。最后,我们探讨了当前的局限性,并提出了几个开放性问题和未来研究的有前景的方向。

其他关键词和短语:算法设计、大型语言模型、学习优化、优化、启发式、超启发式、进化计算。
1 引言
算法在解决各个领域(包括工业、经济、医疗和技术)的众多问题中发挥着至关重要的作用 [32, 82]。传统的算法设计手工方法需要大量的专家知识和相当大的努力,这既繁琐又耗时。人们越来越关注将学习和计算智能技术集成到算法开发过程中,以简化并增强这一过程 [ 12 , 154 ] \left\lbrack { {12},{154}}\right\rbrack [12,154] 。
作者联系方式:刘飞,[email protected],香港城市大学,中国香港;姚一鸣,[email protected],香港城市大学,中国香港;郭平,[email protected],香港城市大学,中国香港;杨志远,[email protected],香港城市大学,中国香港;张庆福,[email protected],香港城市大学,中国香港。
*通讯作者
近年来,大型语言模型(LLMs)在生成式人工智能领域取得了重大突破。LLMs 以其庞大的模型规模、广泛的数据训练和在多个研究领域的卓越表现而著称,包括数学推理 [5]、代码生成 [80] 和科学发现 [163]。
在过去三年中,用于算法设计的大型语言模型(LLM4AD)的整合已成为一个新兴的研究领域,有望彻底改变算法的设计、优化和实现方式。LLMs 的强大能力和适应性在改进和转变算法设计过程方面显示出巨大潜力,例如启发式生成 [98]、代码优化 [109],甚至为特定问题量身定制的新算法 [54] 的创造。这种方法不仅减少了设计阶段所需的人力,还提高了所产生解决方案的创造性和效率 [ 98 , 139 ] \left\lbrack { {98},{139}}\right\rbrack [98,139] 。
尽管LLM4AD正在获得关注,但这一新兴领域的系统性综述仍然稀少。现有文献主要集中在LLMs在特定算法背景下的孤立应用上,缺乏对方法论、应用、挑战和未来方向的系统性概述。已有几篇论文对LLM在特定优化主题中的应用进行了调研[66, 72, 177],其他则综述了LLM的一般应用[61]或特定问题的应用,包括电子设计自动化[205]、规划[129]、软件工程[69]、推荐系统[176]和代理[165]。本文旨在填补这一空白,通过提供算法设计中大型语言模型现状的系统性综述。我们将探讨各种应用,讨论关键挑战,并提出未来研究的方向。通过综合这些见解,本文有助于更深入地理解LLMs在增强算法设计中的潜力,并为这一激动人心的领域的进一步创新奠定基础。本文的贡献如下:
-
LLM4AD的系统性综述:我们提供了一个关于使用大型语言模型进行算法设计的系统性综述,涵盖了过去三年内发表的大量 180 + {180} + 180+ 研究论文。我们不仅综合了当前的研究状态,还对研究工作进行了分类,提供了对方法论、结果和算法设计进展的关键分析。我们期望这将成为新进入该领域的研究人员和寻求近期发展综合更新的经验丰富的专家的有用资源。
-
多维分类法的开发:我们引入了一个多维分类法,将LLM4AD的工作和功能分为四个不同的维度:1) LLM在算法设计中的角色,这界定了这些模型如何贡献或增强算法设计,包括LLM作为优化器、LLM作为预测器、LLM作为提取器和LLM作为设计者;2) 搜索方法,探讨LLM在算法设计中导航和优化搜索空间的各种方法;3) 提示方法,研究如何使用不同的提示策略;4) 应用领域,识别LLM被应用于解决复杂算法挑战的关键领域和行业。该分类法不仅明确了现状,还有助于识别未来的研究空白和机会。
-
关于局限性和未来方向的讨论:我们不仅限于对现有文献的简单总结,而是批判性地分析了当前关于算法设计的LLM研究中存在的局限性。我们讨论了可扩展性、可解释性、高成本和安全性等挑战。此外,我们提出了可能的未来研究方向来解决这些局限性,包括开发领域特定的LLM、探索多模态LLM、实施与人类专家的交互系统、使用LLM进行算法评估和理解LLM行为、推进完全自动化的算法设计,以及建立用于系统评估算法设计中LLM的基准标准。这一讨论旨在激发新颖的方法并促进该领域的进一步发展。
2 方法论与分类法
2.1 调查范围
本文旨在对新兴领域——算法设计的大语言模型(LLM4AD)的现有研究工作进行系统的调查和分类。我们进一步将调查范围界定如下:
-
我们不打算涵盖所有关于大型语言模型(LLMs)和算法的文献。具体来说,我们排除了专注于其他分支的工作,例如优化LLMs的算法,包括提示工程算法 [141] 和训练LLMs的算法 [1]。
-
大型语言模型(LLMs)一词指的是规模足够大的语言模型,能够在各种任务中实现稳健的零样本性能,包括语言理解、代码生成和数学推理。这些模型通常采用Transformer架构并以自回归方式运行 [204]。
-
使用较小模型进行算法设计的研究,例如在传统基于模型的算法和机器学习辅助算法中常见的那些 [12],被排除在外。虽然很难精确界定“大型”模型的定义,但大多数领先的大型语言模型包含超过十亿个参数 [119, 204]。
-
使用其他缺乏语言处理能力的大型模型的研究,例如纯视觉模型,不在考虑范围内。然而,包含语言处理的多模态大型语言模型在我们的研究范围内。
-
在此上下文中,算法一词指的是为解决问题而设计的一组数学指令或规则,特别是在计算机执行时 [32]。这个广泛的定义包括传统的数学算法 [5]、大多数启发式方法 [113, 117],以及某些可以被解释为算法的代理或策略 [179]。
2.2 统计
我们介绍了论文收集和扫描的详细流程,该流程包括四个阶段:
- 第一阶段 数据提取与收集:我们通过 Google Scholar、Web of Science 和 Scopus 收集相关论文。我们的搜索逻辑是标题必须包含以下两组词中的至少一组的任意组合:“LLM”、“LLMs”、“大型语言模型”、“大型语言模型” 和 “算法”、“启发式”、“搜索”、“优化”、“优化器”、“设计”、“函数”(例如,LLM 和优化,LLMs 和算法)。作为一个快速发展的研究领域,大多数关于 LLM4AD 的论文以预印本的形式在线发布,如在 Arxiv 上,这导致从 Google Scholar 收集的论文数量明显多于 Web of Science 和 Scopus ( 800 + ) \left( { {800} + }\right) (800+) 。在删除重复的论文后,截至 2024 年 7 月 1 日,我们最终得到了 850 篇论文。
图 1. 论文收集的四个阶段。
-
第二阶段 摘要扫描:我们首先检查每篇论文的标题和摘要,以高效排除不相关的论文。排除的标准包括这些论文不是用英语写的、不是用于算法设计以及没有使用大型语言模型。扫描后,剩余 260 篇论文。
-
第三阶段 全文扫描:在这一阶段,我们仔细检查每篇论文的全文。我们删除了这些在其主要论文中不包含相关内容的论文。扫描后,剩余 160 篇论文。
-
第四阶段 补充:为了避免遗漏任何重要贡献,我们根据我们在这个领域的过往知识手动搜索相关工作。在整合了额外的论文后,我们最终得到了 180 篇以上的论文。
我们将首先概述 LLM4AD 论文列表,然后提出一个分类法来系统地回顾进展。除了整理的论文列表外,这项调查还包含了一些在 2024 年 7 月 1 日之后发布的出版物。我们将根据需要更新统计数据。
2.3 概述
图2a展示了随着时间推移发表的论文数量的趋势,时间线以月为单位表示。该图显示了与LLM4AD相关的研究活动的显著增加,特别是注意到大多数研究是在过去一年内进行的。这表明LLM4AD是一个新兴领域,我们预计随着来自不同领域的学者意识到其巨大潜力,未来研究产出将显著增加。值得注意的是,作为一个快速扩展的领域,大多数作品最初作为预印本发布在Arxiv上。其中许多后来被顶级会议如ICML和NeurIPS接受。
图2. LLM4AD论文概述。
图2c和图2b展示了在LLM4AD领域发表论文的主要机构及其所在国家。美国领先,紧随其后的是中国,这两个国家单独占据了 50 % {50}\% 50% 的出版物。接下来的八个国家,包括新加坡、加拿大和日本,共同贡献了总出版物的三分之一。参与这项研究的著名机构包括清华大学、南洋理工大学和多伦多大学等知名大学,以及华为、微软和谷歌等主要公司。这种分布突显了研究主题的广泛兴趣及其对现实世界实际应用的重大相关性。
图3. 词云由所有被审查论文的标题和摘要生成,每个词至少出现五次。它展示了前80个关键词,分为四个颜色编码的集群。蓝色集群以关键词“语言”为显著特征,包括其他常用术语,如“策略”、“推理”、“提示”和“功能”,这些对于任务解决至关重要。红色集群围绕“GPT”展开。该集群还包括“微调”、“文本”和“准确性”等术语,这些在模型训练和推理中至关重要。绿色集群专注于搜索和优化,涵盖了“进化算法”、“组合”和“多样性”等术语。最后,黄色集群强调了LLMs在科学发现中的作用,突出了“科学家”、“假设”和“概念”等关键词。
在图3中,词云由所有被审查论文的标题和摘要生成,每个词至少出现五次。它展示了前80个关键词,分为四个颜色编码的集群,分别是“语言”、“GPT”、“搜索和优化”以及“科学发现”。几个关键词如“进化”、“策略”、“优化器”和“代理”也被突出显示。
图4. 一个四维分类法。
2.4 分类法
LLM4AD领域的研究主要探索三个基本组成部分:1) LLMs,2) 算法,和3) 应用。LLM4AD内的研究根据这些元素的变化和相互作用进行分类。本文提出了一种四维分类法:1) LLM角色,2) 搜索方法,3) 提示方法,和4) 应用。
-
LLM 角色:这一维度考察了 LLM 如何集成到算法开发中,将工作分为四类:LLM 作为优化器(LLMaO)、LLM 作为预测器(LLMaP)、LLM 作为提取器(LLMaE)和 LLM 作为设计器(LLMaD)。
-
搜索方法:这一类别涉及所使用的搜索方法。它包括各种搜索策略,从基本且广泛使用的随机搜索方法到更复杂的基于单点、基于种群和不确定性引导的方法。
-
提示方法:预训练 LLM 的有效性在很大程度上受到提示工程的影响。我们研究了 LLM4AD 中使用的典型提示策略,包括零样本、少样本、思维链、自一致性和反思提示。
-
应用:LLM4AD 的广泛应用涵盖了多个领域。我们确定了主要领域,包括优化、机器学习、工业和科学发现。3 LLM 角色
3.1 LLM 作为优化器(LLMaO)
在 LLMaO 中,LLM 被用作优化算法中的黑箱优化器,以生成和改进解决方案(图 5)。这种创新使用 LLM 超越了它们在自然语言处理中的传统应用,扩展到涉及搜索和优化的更复杂的问题解决任务。该过程通常涉及在迭代搜索框架中使用 LLM,模型根据每一步收到的反馈主动参与提出潜在解决方案。将 LLM 集成到优化任务中利用了它们理解和生成复杂模式和解决方案的能力,这可能是仅使用传统优化方法无法实现的。
图 5. 大型语言模型作为优化器 (LLMaO)。LLM 在算法中充当优化器,以生成新的解决方案。这通常涉及在迭代搜索过程中使用 LLM 来提高解决方案的质量。在这里,算法及其参数通常由人类设计。
在算法设计中利用 LLM 作为优化器的初步尝试之一是由 Yang 等人 [185] 进行的。他们利用 LLM 的上下文学习能力,根据先前评估的解决方案生成特定问题的新解决方案。生成解决方案的过程被视为一种上下文学习形式,其中评估的解决方案作为上下文信息。通常,这些解决方案被组织起来,以帮助 LLM 理解对优化结果的偏好,从而使其能够提出更优的替代方案。该方法被迭代应用于进一步优化解决方案。Yang 等人 [185] 已成功在各个领域展示了这一技术,包括连续和组合优化,以及机器学习任务。
从进化计算 (EC) 的角度来看,使用大型语言模型 (LLMs) 从现有数据中生成解决方案可以被视为类似于 EC 算法中的搜索操作符。例如,Liu 等人 [96] 引入了将 LLMs 用作进化操作符来解决多目标问题的方法。该方法涉及将多目标问题分解为更简单的单目标任务,LLMs 作为每个子问题的黑箱搜索操作符,从而提出新的解决方案。这种分解框架有助于防止 LLMs 被直接多目标优化的复杂性所压倒。在相关研究中,Liu 等人 [100] 探讨了将 LLMs 集成到进化算法 (EAs) 中,不仅用于生成解决方案,还用于指导选择、交叉和变异过程。同时,Brahmachary 等人 [18] 提出了一种新颖的基于种群的进化框架,该框架包括探索和利用池,在优化过程中交换解决方案,并且 LLMs 为两个池生成解决方案。与直接生成解决方案不同,Lange 等人 [84] 研究了在设计进化策略中使用 LLMs,引入了一种新的提示策略来增强其 “EvoLLM” 方法中的均值统计,该方法在合成 BBOB 函数和神经进化任务中表现出优于基线算法的性能。他们还证明,使用教师算法的数据对 LLMs 进行微调可以进一步提高 EvoLLM 的性能。Custode 等人 [34] 也使用了 LLMaO 进行超参数优化,他们提出了一项初步研究,使用 LLMs 通过分析优化日志并提供实时建议来自动选择超参数。
除了传统的优化任务,LLM越来越多地被用于提示工程中,以增强零样本性能,这一过程通常被称为“自动提示优化”[208]。这些方法主要涉及通过LLM对提示进行迭代细化,以提高其对特定模型的有效性。技术包括基于重采样的策略,其中LLM生成原始提示的变体,同时保持语义相似性,以及基于反思的策略,其中LLM通过分析和学习先前的提示迭代或错误来进行优化,如Wang等[168]和Guo等[58]的研究中所探讨的。特别是基于反思的方法,模仿了熟练的人类提示设计师的试错过程。尽管取得了进展,但仍存在挑战,正如Ma等[107]所指出的,LLM优化器在反思过程中往往难以准确识别错误的根本原因,这受到其先验知识的影响,而不是对错误的客观分析。此外,即使语义上正确的反思也不总是能在单次细化步骤中产生有效的提示,这通常是由于模型响应的不可预测性。为了解决这些问题,他们提出了一种名为“自动行为优化”的新方法,旨在更直接和有效地控制目标模型的行为。该领域的一个最新进展是Tang等[155]提出的基于梯度的提示优化方法,称为GPO。该方法确定了基于梯度搜索的两个关键组成部分:更新方向和更新方法。在每一步中,GPO从优化轨迹中检索相关提示以确定更新方向,然后应用基于生成的细化策略进行更新,同时通过基于余弦的衰减策略管理编辑距离。
3.2 LLM作为预测器(LLMaP)
LLMaP 采用大型语言模型(LLMs)作为代理模型,这些模型作为更复杂或计算成本更高的模型的替代品。如图 6 所示,这些 LLMs 被用于预测结果或响应,其功能可以是分类或回归上下文 [64]。在分类任务中,LLMaP 方法涉及 LLM 根据输入数据预测分类标签或类别。另一方面,在回归任务中,LLM 预测连续输出而非类别。与其他基于模型的预测器(如高斯过程和传统神经网络)相比,1) LLMs 能够处理和生成基于其在庞大数据集上训练的人类化响应。这种能力使它们能够理解和解释数据中的复杂模式,使其适用于传统建模技术可能因数据中的复杂性或微妙性而难以应对的任务 [43]。2) 预训练的 LLMs 可以显著减少与训练高保真模型 [ 64 , 79 ] \left\lbrack { {64},{79}}\right\rbrack [64,79] 相比所需的计算负载和时间。
大多数 LLMaP 工作使用 LLM 作为回归模型来预测解决方案的分数。例如,Jawahar 等人 [79] 使用 LLM 作为深度神经网络架构的性能预测器。它为神经架构搜索中的性能估计提供了一种成本效益高的替代方案。Zhang 等人 [201] 提出了 LINVIT,这是一种算法,将 LLM 的指导作为基于值的 RL 中的正则化因子,以提高样本效率。科学发现是 LLMaP 经常研究的另一个领域。例如,Li 等人 [92] 提出了 CodonBERT,这是一种用于 mRNA 的 LLM,用于基于 mRNA 的疫苗和治疗剂的序列优化。CodonBERT 使用密码子作为输入,并在来自各种生物的超过 1000 万个 mRNA 序列上进行了训练。该模型可用于预测 mRNA 特性,并在流感疫苗数据集上展示了优于以前方法的性能。Soares 等人 [149] 在电池电解质设计中的另一个应用展示了基于变换器的模型在预测电池电解质性能方面的应用。其他应用包括使用 LLM 确定名人的知名度分数以预测电影行业项目的票房表现 [7],以及采用 LLM 通过使用详细的视频字幕作为内容代理来评分视频问答 [198]。
图 6. 大型语言模型作为预测器 (LLMaP)。LLM 在算法中迭代使用,以预测解决方案的结果或响应,通常在分类或回归任务中发挥作用。
多项研究探讨了大型语言模型(LLMs)在分类任务中的应用。例如,Hao等人[64]提出了LAEA模型,该模型在进化算法中使用LLMs作为代理模型。这种方法既用于分类,判断解决方案的质量为好或坏,也用于回归,通过近似解决方案的值。这种方法显著有助于解决优化问题,通过基于历史数据评估新解决方案,从而消除了昂贵的模型训练需求。在另一项研究中,Chen等人[29]开发了一种无标签节点分类方法,利用LLMs来注释节点。这些注释随后用于训练图神经网络,从而提高了性能。
超越二元分类,Bhambri等人[14]利用LLMs来预测强化学习(RL)中构建奖励塑造函数的离散动作。他们的方法在BabyAI环境中展示了有效性,展示了LLMs在各种环境中的多功能性。Wang等人[166]探讨了LLMs在联邦搜索中的应用,在零样本设置中应用它们以有效选择资源。这种方法突显了LLMs在无需特定任务的先前显式训练的情况下改进资源选择的潜力。最后,Mehrdad等人[115]专注于自动化产品搜索中查询-项目对的关联性判断。通过微调LLMs,他们取得了显著的改进,强调了LLMs在复杂搜索任务中的适应性和有效性。
其他研究探讨了基于大型语言模型(LLM)的分类模型。例如,Hao等人[64]提出了LAEA,该方法利用LLM作为进化算法中的代理模型,并研究了分类(预测解决方案是好是坏)和回归(近似其值)。它通过基于历史数据评估新解决方案的质量来解决优化问题,从而消除了昂贵的模型训练。Chen等人[29]讨论了一种无标签节点分类方法,使用LLM对节点进行标注,然后用于训练图神经网络以提高性能。除了二分类任务外,Bhambri等人[14]使用LLM来预测用于构建强化学习中奖励塑造函数的离散动作,在BabyAI环境中展示了有效性。Wang等人[166]探索了LLM在联邦搜索中的应用,在零样本设置中使用它们来有效选择资源。Mehrdad等人[115]专注于自动化产品搜索中查询-项目对的关联性判断,通过微调LLM实现了显著改进。
图7. 大型语言模型作为提取器(LLMaE)。LLM被用于从目标问题和/或算法中提取特征或特定知识,以增强问题解决能力。
LLM不仅能处理数值数据,这与传统的预测模型有很大不同。例如,Egami等人[43]利用LLM为计算社会科学研究中的文档生成不完美的标注代理,结合高质量标签为下游分析提供有效的统计推断。此外,多模态LLM在利用多模态信息方面表现出卓越的能力。Wong等人[175]开发了一种视觉-语言模型的进化策略,用于实际的3D汽车设计。视觉LLM用于预测满足给定文本提示的设计的实用性程度。
3.3 作为提取器的LLMs (LLMaE)
LLMaE 利用 LLMs 从目标问题和/或算法中挖掘和提取嵌入特征或特定知识,然后战略性地用于增强基于算法的解决问题(图 7)。此过程利用了 LLMs 的高级自然语言理解能力,使它们能够识别数据中通过传统分析方法可能不明显的细微模式和关系 [178]。通过将这些见解整合到算法设计中,开发者可以创建更精确和高效的解决方案,以满足特定需求。
LLMs 在算法设计的各个领域展示了卓越的特征提取能力,超越了传统的启发式方法和常规的深度学习模型。例如,Kristiadi 等人 [83] 探索了在分子空间中使用 LLMs 加速基于原则的贝叶斯优化。LLMs 被用作标准贝叶斯优化代理模型的固定特征提取器,并利用参数高效的微调方法来获得 LLM 代理的后验。实验表明,LLMs 可以对分子进行贝叶斯优化,但前提是它们已经使用特定领域的数据进行了训练或微调。
图 8. 作为设计者的大型语言模型 (LLMaD)。LLMs 被用于直接创建算法或特定组件,这些组件通常通过迭代方式不断搜索更好的设计。
除了特征提取,与传统网络模型相比,LLMs 在文本理解和知识提取方面表现出色。Wu 等人的一个例子 [178] 利用 LLMs 通过理解代码文本来提取高维算法表示。这些表示与问题表示相结合,以确定最适合特定问题的算法。广泛的实验验证了所提出模型的性能优势,展示了每个关键模块的有效性。在另一个创新应用中,Du 等人 [39] 提出了一种新颖的方法,使用增强的专家混合框架与 LLMs 结合来优化各种无线用户任务。LLM 用于分析用户目标和约束,从而选择专门的专家,并权衡专家的决策,减少为每个独特的优化问题训练新模型的需求,并降低能源消耗和 AI 模型实施成本。此外,Becker 等人 [11] 讨论了 LLMs 在汽车和供应商行业中的应用,特别是关注检索增强生成系统,以改进从技术文档中检索信息。Memduhoğlu 等人 [116] 使用 LLM 嵌入来增强城市建筑功能的分类,通过解释 OpenStreetMap 标签并将其与物理和空间指标集成。由于 LLMs 在捕捉更广泛语言上下文方面的优势,传统技术在语义模糊性方面表现不佳,被 LLMs 超越。
LLMs 的多模态能力也使它们与传统的特征提取方法区别开来。Park 等人 [131] 证明,通过概率多模态解码过程和联合声学和词汇束搜索,将 LLMs 提取的词汇信息整合到基于声学的说话人日志系统中,可以显著提高语音处理性能。
3.4 LLMs 作为设计师 (LLMaD)
LLMaD 直接创建算法或特定组件(图 8)。这种对 LLM 的利用扩展了它们在传统边界之外的应用,使它们能够通过生成启发式方法、编写代码片段或制定可以集成到更大系统中的函数来积极参与算法开发。通过这样做,LLM 可以显著加速算法设计过程,减少人力投入,并为算法开发带来创造性和优化,这是仅通过传统方法难以实现的。
函数设计可能是应用领域中最直接的一个。Eureka [108] 利用 LLM 在代码编写和上下文学习中的能力来进化和优化强化学习的奖励函数。它可以在没有特定提示或预定义模板的情况下生成奖励函数,其性能优于人类专家设计的奖励。在包括 10 种机器人在内的 29 个不同强化学习环境的测试中,Eureka 在 83% 的任务中超越了人类专家,平均改进率为 52 % {52}\% 52% 。另一项关于自动奖励函数设计的研究 [90] 利用 LLM 为在稀疏奖励环境中工作的强化学习代理自动设计密集奖励函数,称为 Auto MC-Reward。Auto MC-Reward 的三个关键组件协同工作,根据代理与环境交互的反馈迭代优化奖励函数。通过这种迭代过程,代理能够更高效地学习复杂任务,如 Minecraft 中的实验所示。FunSecraft。FunSearch [139] 在多岛种群管理的进化框架中采用 LLM 进行函数生成。FunSearch 在数学问题和优化问题上都展示了有前景的结果。
AEL [97] 提出了早期尝试,采用 LLM 作为设计师来设计算法思路及其代码实现。它在一个进化框架中采用 LLM 来创建、组合和修改旅行商问题的算法启发式。结果显示,与简单的贪心算法相比,性能有显著提升,并且在不同规模下表现出鲁棒性。EoH [98] 是 AEL 的新版本,具有五种启发式空间搜索的提示策略。EoH 应用于引导局部搜索的关键启发式组件设计。结果优于人工设计的元启发式和基于深度学习的神经求解器。类似的框架已应用于贝叶斯优化中的成本感知获取函数设计 [187]、图像对抗攻击的对抗攻击算法设计 [57] 以及边缘服务器任务调度的启发式设计 Yatong 等人 [188]。LLaMEA van Stein 和 Bäck [161] 开发了一个迭代框架,基于性能指标和运行时评估生成、变异和选择算法。自动设计的算法在一些基准实例上优于最先进的优化算法。ReEvo [192] 引入了一个具有短期和长期反思的进化框架,为启发式空间探索提供了搜索方向。通过反思,在黑箱案例(提示中未提供特定问题信息)上观察到了更好的结果。此外,Yan 等人 [182] 探索了使用 LLM 生成高质量算法草稿以进行电子健康记录表型分析,旨在提高观察性健康研究中的效率和可扩展性,Hazra 等人 [65] 将 LLM 与启发式规划结合,生成成本效益高的计划,在 LLM 规划方法中表现出优越的性能。
与以往专注于优化单一性能标准的LLMaD研究不同,MEoH [186] 考虑了多个性能指标,包括最优性和效率,并在多目标进化框架中单次运行中寻求一组权衡算法。为了有效搜索复杂的算法空间,设计了一个支配-不相似度评分,这是传统MOEAs难以解决的。
基于LLM的代理设计也引起了广泛关注。例如,ADAS [71] 提出了一个自动设计代理系统的方案,旨在通过使用编程新代理的元代理,利用编程语言的图灵完备性来自动生成强大的代理系统设计,探索新颖的提示、工具使用和控制流。他们提出了一种新颖的算法,元代理搜索,该算法从先前设计的存档中迭代创建新代理,并通过实验证明这些代理在各个领域中可以超越最先进的手工设计代理,突显了它们的鲁棒性和通用应用的潜力。进一步研究基于LLM的代理系统在 [151] 和 [103] 中进行了讨论。
在利用大型语言模型(LLMs)进行优化建模方面取得了显著进展。Ahmed 和 Choudhury [4] 评估了各种 LLMs 将语言描述转换为数学优化问题的性能。该研究引入了 LM4OPT,这是一个针对较小 LLMs 的微调框架,缩小了较小模型与较大模型之间的性能差距,GPT-4 在不依赖额外命名实体信息的情况下在 NL4Opt 数据集上实现了高准确率。同样,Tang 等人 [157] 确定了运营研究 LLMs 训练数据集的四个关键要求,并开发了一个名为 OR-Instruct 的半自动化流程,以创建符合这些要求的合成数据。他们引入了 IndustryOR 基准,这是首个用于测试 LLMs 在现实世界运营研究问题上的工业基准。通过将 OR-Instruct 的数据应用于各种开源 LLMs,作者展示了优化建模能力的显著提升。此外,Mostajabdaveh 等人 [122] 引入了一种新颖的多代理建模框架,用于将自然语言描述转换为优化模型。它不依赖于求解器执行,而是采用关系标识代理和多代理验证机制进行有效评估。
4 搜索方法
在本节中,我们探讨了 LLMs 与搜索方法交互的两个分支:1) 搜索方法是设计算法,2) 搜索方法是基于 LLM 的算法设计搜索框架。在第一类中,搜索方法是 LLMs 的目标,例如用于进化算法和贝叶斯优化的 LLMs。在另一类中,LLMs 被用于搜索方法中,以迭代查询的方式设计更好的算法。本节根据搜索方法的类型对工作进行分类,而不区分这两个分支。
4.1 采样
最直接的搜索方式是通过反复指示LLM采样新设计[209]。最佳样本被选为最终设计。然而,最近的研究表明,简单地从LLMs中采样在算法设计中是不够的[199]。
4.1.1 束搜索。束搜索探索搜索空间中的一组有限的有希望的路径,或“束”,而不是仅探索一条路径。束搜索已在多个领域得到广泛应用。例如,基于LLM的提示工程 [ 107 , 134 , 209 ] \left\lbrack { {107},{134},{209}}\right\rbrack [107,134,209] 取得了有希望的结果,例如,[209]展示了当束搜索大小从4增加到128时,性能超越了人类专家的案例。
除了提示工程外,Lin等人[94]引入了Text2Motion,这是一个基于语言的规划框架,使机器人能够执行复杂的顺序操作任务。它采用对标记进行束搜索,并使用可行性启发式方法通过LLMs增强任务规划。相比之下,Hazra等人[65]采用对动作进行束搜索。它引入了“SayCanPay”,将LLMs的世界知识与启发式规划原则相结合,生成基于事实且高效的动作序列,在广泛的评估中表现出优于其他LLM规划方法的性能。此外,Park等人[131]使用带有LLMs词汇信息的束搜索来增强语音处理任务,而Wei等人[172]提出了一种置信度感知的子结构束搜索,作为在结构化数据生成中在子结构级别上操作的解码方法。
4.1.2 MCTS。MCTS 是一种树搜索算法,它使用随机采样来构建搜索树并根据这些样本的结果做出决策。它在具有大而复杂搜索空间的问题中特别有效。例如,Dainese 等人 [35] 提出了 GIF-MCTS,这是一种使用生成、改进和修复的代码生成策略,通过 MCTS 实现,在 Code World Models Benchmark 和其他基准测试中优于基线。在 GIF-MCTS 中,树中的节点是程序,边是动作。从父节点采取的每个动作都会生成一个新的完整程序,该程序被分为“状态”部分和“回滚”部分,并存储在子节点中。使用树的上限置信区间来选择要采取的动作。同样,VerMCTS [19] 通过渐进式扩展构建搜索树,以有效管理由代码行定义的大动作空间。在这棵搜索树中,扩展和评估由验证器引导,作为代码合成 MDP 中价值函数的计算成本较低的上限。此外,Wang 等人 [168] 将提示优化视为战略规划挑战,利用基于 MCTS 的系统规划算法来有效探索专家级提示空间。受人类试错学习的启发,所提出的 PromptAgent 通过分析模型错误并提供建设性反馈,生成精确的见解和详细的指令。
4.2 基于单点的搜索
4.2.1 爬山算法。爬山搜索迭代地寻找更好的结果,其中新的结果是基于上一个结果生成的,并且更好的结果得以保留。张等人[199]在算法设计中研究了爬山算法的基本版本。与基于种群的进化算法相比,它取得了有竞争力的结果。通常采用对现有状态的推理来增强每个搜索步骤。例如,李等人[90]利用大型语言模型(LLMs)自动设计密集奖励函数,用于在稀疏奖励环境中进行强化学习代理,称为Auto MC-Reward,该方法根据代理与环境的交互反馈迭代地优化奖励函数。杨等人[185]开发了一个多模块框架,具有创新的反馈机制,通过基于LLM和专家的评估,证明了LLMs能够有效地生成既新颖又反映现实的科学假设。
4.2.2 邻域搜索。邻域搜索方法是一种优化技术,通过迭代修改当前解来在结构化邻域中找到改进解,从而探索解空间。值得注意的是,LLM-GS框架[99]引入了一种调度爬山算法,该算法利用了两种不同的策略:1) 程序化邻域生成,通过从给定程序的抽象语法树(AST)中选择一个节点,并根据领域特定语言(DSL)的生产规则和采样策略随机生成一个子树来替换该节点,从而生成程序的邻域;2) 潜在空间表示,其中邻域在潜在空间中定义,通过在随机生成的DSL程序语料库上训练变分自编码器,从而创建一个更抽象且可能更具信息量的邻域结构。此外,Jin等人[81]通过定义基于查询向量和代码片段嵌入之间的最小余弦相似度阈值 60 % {60}\% 60% 的邻域算法,为这一研究方向做出了贡献,通过确保算法变体在语义上一致并与底层问题结构对齐,增强了搜索过程。
4.2.3 基于梯度的搜索。基于梯度的搜索利用每次迭代中新设计的生成中的(伪)梯度方向。与在具有显式可微目标公式的连续空间中搜索不同,在文本和代码空间中计算梯度是具有挑战性的。因此,在文本和代码空间中使用估计的下降方向作为伪梯度。
Pryzant 等人 [134] 引入了自动提示优化,该方法通过根据从训练数据中得出的自然语言“梯度”调整提示来实现自动改进。这种方法在各种 NLP 任务和越狱检测中显著提升了 LLM 的性能,最高可达 31 % {31}\% 31% 。此外,Nie 等人 [126] 探索了使用 LLM 作为交互式优化器,通过自然语言和数值反馈在文本空间中解决最大化问题。当提供方向性反馈时,LLM 表现出有效性,这是自然语言领域中一阶反馈的扩展。此外,Tang 等人 [155] 引入了一种新颖的基于梯度的 LLM 提示优化器 (GPO),该优化器与基于梯度的模型优化器有相似之处。通过结合基于梯度优化的更新方向和方法概念,GPO 增强了提示优化策略,在实验评估中显著提升了性能。这种将 LLM 与基于梯度的搜索方法相结合的方式展示了改进提示优化和整体 LLM 性能的潜力。
为了获得准确的梯度,Guo 等人 [59] 在映射的连续空间中进行基于梯度的搜索,并提出了一种协作优化策略,该策略结合了基于梯度的优化器和 LLM,以应对复杂的非凸优化挑战。LLM 用于从自然语言指令中推导解决方案,而基于梯度的优化器则在每次迭代中执行局部最优更新。这种协作方法利用了两种优化器的优势,LLM 推导的结果作为后续梯度优化阶段的起点。
4.2.4 强化学习。强化学习通过与环境交互来学习做出决策,以最大化累积奖励。最近的研究探索了这种方法的创新应用和增强。例如,GPTswarm [211] 和 Duan 等人的工作 [42] 利用大型语言模型(LLM)和强化学习技术来优化代码,降低复杂性并提高效率。同样,Liu 等人 [99] 提出了一种新颖的 LLM 引导搜索框架(LLM-GS),旨在通过利用 LLM 的编程专业知识来提高搜索效率,从而解决最先进的程序化强化学习方法中的样本效率问题。
此外,LLM 已被用于强化学习系统的设计,特别是在奖励塑造函数的设计中。Bhambri 等人 [14] 通过提出一个名为 MEDIC 的框架来解决样本效率问题,该框架使用 LLM 生成引导策略,用于构建奖励塑造函数。该框架在 BabyAI 环境的各个领域中显著改善了 RL 代理的样本复杂性。
4.3 基于种群的搜索
进化搜索是主要的研究工具,因为它在复杂搜索空间 [ 128 , 177 ] \left\lbrack { {128},{177}}\right\rbrack [128,177] 中的有效性和鲁棒性。根据目标的数量,它可以大致分为单目标进化搜索和多目标进化搜索。
4.3.1 单目标进化搜索。进化算法是集成 LLM 进行算法设计时的主要解决方案 [ 98 , 139 ] \left\lbrack { {98},{139}}\right\rbrack [98,139] 。通过维持多样化的个体种群,它们通常能有效地搜索空间。
杨等人[185]的研究代表了利用大型语言模型(LLMs)作为算法设计优化器的初步探索。该研究建议利用LLMs的上下文学习能力,根据现有评估的解决方案为目标问题生成新解决方案。尽管它没有明确提及进化搜索,但其背后的搜索范式可以被视为基于种群的进化搜索。刘等人[96]将LLMs引入为进化算子,通过将多目标问题分解为单目标子问题,并使用LLMs作为每个子问题的黑箱搜索算子来解决多目标问题。这种基于分解的方法使LLMs能够间接解决多目标问题,克服了它们在理解此类问题上的固有挑战。此外,刘等人[100]探讨了在传统进化算法(EA)中使用LLMs作为进化算子,指导它们在解决方案选择、交叉和变异过程中的应用。此外,Brahmachary等人[18]提出了一种基于种群的进化框架,包括探索和利用池,LLMs为两个池生成解决方案,并在优化过程中实现它们之间的通信。Lange等人[84]研究了LLMs在设计进化策略中的应用,引入了一种提示策略以提高平均统计性能。
与将大型语言模型(LLM)集成以生成硬编码解决方案相比,由于缺乏适用于复杂搜索空间的合适多样性测量、选择和种群管理方法,有效进化搜索提示和代码生成带来了挑战。大多数研究者采用贪婪方式 [ 26 , 57 , 90 , 98 , 123 , 161 , 187 ] \left\lbrack { {26},{57},{90},{98},{123},{161},{187}}\right\rbrack [26,57,90,98,123,161,187] 。在这些研究中,维护一个个体种群,只有适应度更好的个体才能生存。Romera-Paredes 等人 [139] 采用多岛进化算法来探索具有动态调整种群规模的多样化种群。此外,Wong 等人 [174] 探索了利用生成式人工智能模型为创意和工程应用创建数字制品的潜力,利用多因子进化算法驱动 LLM。所提出的 LLM2FEA 方法展示了生成新颖且实用设计的能力,这在 3D 空气动力学设计的实验结果中得到了证明。
为了实现对种群的有效多样性控制,Lehman 等人 [85] 和 Hu 等人 [71] 研究了质量多样性方法 [135]。具体来说,他们利用 MAP-Elites 算法与一个网格化的生态位来生成多样且高质量的解决方案。对一个预先存在的解决方案进行评估并放置到地图中,随后的迭代在已占用的生态位内扰动解决方案。新的候选解决方案根据行为特征进行评估并分配生态位,如果它们优于当前居民或填补未填充的生态位,则成为冠军。这个过程逐渐随着时间的推移在地图中填充改进的解决方案。
4.3.2 多目标进化搜索。Liu等人[96]提出了MOEA/D-LMO,利用LLM解决连续多目标优化问题。得益于基于分解的框架,LLM的上下文学习被用于为每个子问题生成新解。对于多目标LLM指令生成,Yang和Li[184]开发了InstOptima,该方法利用LLM模拟指令操作符并提高指令质量,以同时优化性能、长度和困惑度。此外,Morris等人[121]引入了用于神经架构开发的引导进化。它采用NSGA-II并优化准确性和模型大小。MEoH[186]引入了一个多目标启发式设计的主导-不相似度分数。与传统的MOEAs相比,它在启发式搜索空间中实现了探索和利用的良好平衡。
4.4 不确定性引导搜索
不确定性引导搜索利用了BOED和BO框架在搜索过程中的优势,结合了LLM。它首先建立一个描述初始信念的先验,然后利用基于不确定性的策略在推导的后验上迭代更新信念,最终在搜索过程中以样本高效的方式实现高效的决策。
这种带有不确定性的搜索范式在某些场景中展示了其优越性。例如,在利用大型语言模型(LLMs)[89, 132] 引出人类偏好信息的任务中,Handa 等人 [62] 提出了 OPEN,该方法利用 LLMs 和贝叶斯最优实验设计(BOED)。具体而言,LLMs 用于提取与环境相关的特征,并将抽象特征查询转化为自然语言问题,通过对话与用户互动,BOED 则用于识别最具信息量的查询,以高效学习偏好信息。实验研究表明,在内容推荐任务中,与基于 LLM 和 BOED 的偏好引出方法相比,OPEN 方法具有优越性。为了提高对任意项目集的多轮和决策论推理能力,Austin 等人 [9] 将基于自然语言的偏好引出问题纳入贝叶斯优化框架中。所提出的 PEBOL 算法在用户偏好上维持一个以 Beta 分布形式表示的概率先验。查询的生成通过结合 Thompson 采样和上置信界等策略的 LLM 获取函数来实现,旨在高效平衡探索与利用,从而学习用户偏好。在 LLM 解码领域,Grosse 等人 [55] 提出了一种名为 ULTS 的概率模型。该方法将解码过程框架化为树搜索问题,并通过在不确定性下的序列决策来识别 LLM 搜索树中的最优路径。它首先在 LLM 的 softmax 输出上建立先验信念,然后利用隐含的后验样本以非短视的方式指导搜索过程。
在本节提到的这些搜索方法中,进化算法(EAs)是基于LLM的算法设计中最常用的搜索方法[23],表1总结并比较了不同基于EA的方法在算法组件方面的差异,即提示策略、搜索策略和种群管理。对于提示策略,我们识别了单次提示(OS)、少量提示(FS)[20]、思维链(CoT)[173]和反思(RF)[20]。对于搜索方法,我们识别了遗传算法(GA)、差分进化(DE)、进化策略(ES)、多目标进化算法(MOEA)等。结果显示:1) FS和CoT是最常用的提示工程策略。2) 大多数工作使用简单的遗传算法和贪婪种群管理。3) LLMaO和LLMaD比其他两类更常被研究。
表1. 现有基于LLM的进化计算方法用于算法设计
方法 | 方法 | 提示策略 | 搜索策略 | 种群管理 |
---|---|---|---|---|
LLMaP | LAEA [64] | FS, CoT | 遗传算法 | 贪心算法 |
LLMaO | EvoLLM [84] | 特征选择 | 进化策略 | 全部 |
EvolPrompt [58] | FS, CoT | 遗传算法, 差分进化 | 贪心算法, 固定大小 | |
EvolPrompting [26] | FS, CoT | 遗传算法 | 贪心算法 | |
Instoptima [184] | FS, CoT | 多目标进化算法 | 贪心算法 | |
MOEA/D-LMO [96] | 特征选择 | 多目标进化算法 | MOEA/D,固定大小 | |
LMEA [96] | 协同训练 | 遗传算法 | 贪心算法 | |
LEO [18] | FS, CoT | 双种群遗传算法 | 贪心算法 | |
遗传表达 [121] | FS, CoT | 多目标进化算法 | 贪心算法 | |
LLMaD | 极限学习机 [85] | 特征选择 | MAP-Elites | MAP-Elites |
AEL [97] | FS, CoT | 遗传算法 | 贪心算法 | |
Eureka [108] | FS, RF | GA (1+1) | 贪心算法 | |
FunSearch [139] | 特征选择 | 多岛遗传算法 | 贪心算法, 动态尺寸 | |
EoH [98] | FS, OS, CoT | 遗传算法 | 贪心算法, 固定大小 | |
L-AutoDA [57] | FS, OS, CoT | 遗传算法 | 贪心算法 | |
EvolCAF [187] | FS, OS, CoT | 遗传算法 | 贪心算法 | |
ReEvo [192] | CoT, RF | 遗传算法 | 贪心算法, 固定大小 | |
1+1 [199] | OS | GA (1+1) | 贪心算法, 固定大小 | |
LLaMEA [161] | 协同训练 | 遗传算法 | 贪心算法 | |
Auto MC-Reward [90] | 协同训练 | GA (1+1) | 贪心算法 | |
EROM [123] | FS, RF | GA (1+1) | 贪心算法 |
5 提示策略
图9a描述了文献中使用的领域或预训练LLMs的百分比。其中,超过80%选择使用未经特定微调的预训练模型,大约 10 % {10}\% 10% 在领域数据集上对预训练模型进行了微调[33],其中 4.4 % {4.4}\% 4.4% 是从头开始训练的。图9c展示了最常用的LLMs。LLM4AD论文显示出对GPT模型的强烈偏好。GPT-4和GPT-3.5是最常用的LLMs,总共占据了大约 50 % {50}\% 50% 。Llama-2是最常用的开源LLM。开发有效的领域LLMs对大多数算法设计者来说是一个挑战。我们将在未来的工作部分提供更多讨论。
一旦我们有了预训练的大型语言模型(LLMs),提示工程对于在算法设计中有效整合LLMs至关重要。我们介绍了LLM4AD论文中使用的主要提示工程方法,包括零样本、少样本、思维链、自一致性和反思[141]。图9b显示了涉及不同提示工程技术的论文数量。少样本、零样本和思维链是最常用的。许多工作涉及不止一种提示工程技术。
5.1 零样本
零样本(Zero-Shot, ZS)学习使模型能够在没有对这些任务进行先前特定训练的情况下理解和执行任务。在算法设计中,零样本提示允许直接向LLM请求解决方案或响应,例如对话回复[143]、断言设计[118]、强化学习指导[201]和分子生成[189]。模型利用其预训练的知识来生成这些响应。尽管这种方法在基于一般知识快速生成解决方案方面具有优势,但它可能无法始终如一地提供针对复杂算法挑战的细微需求量身定制的响应[199]。
图9. LLM类型和提示工程方法
知识,但它可能无法始终如一地提供针对复杂算法挑战的细微需求量身定制的响应[199]。
5.2 少样本
少样本(Few-Shot, FS)学习涉及在模型尝试解决类似问题之前,向其提供少量示例以说明任务。这种方法增强了模型对上下文的理解及其针对特定任务定制响应的能力。在算法设计中,通过向模型展示算法示例[97]、解决方案[183]、提示[155, 168]和代码 [ 109 , 121 ] \left\lbrack { {109},{121}}\right\rbrack [109,121] ,这种方法被证明特别有效。提示中使用的示例可能是手动设计的种子 [ 71 , 139 ] \left\lbrack { {71},{139}}\right\rbrack [71,139] 或源自LLM生成的设计[34, 98, 106, 121, 155, 168, 174]。这些样本通常被排序以建议偏好,从而提高性能 [ 139 , 183 ] \left\lbrack { {139},{183}}\right\rbrack [139,183] 。
5.3 思维链
思维链 (CoT) 提示鼓励模型阐述导致最终答案的中间步骤或推理路径。这种技术在算法设计中特别有价值,因为在理解逐步过程或对现有设计进行指导性推理有助于防止异常结果并促进有效的算法开发。例如,Liu 等人 [98] 引入了几种提示策略,其中一种策略指导大型语言模型 (LLM) 对现有启发式方法进行推理,总结一般流程,并基于此推理设计新的流程。Custode 等人 [34] 提示 LLM 评估当前步长是否足以收敛,并根据其推理建议调整。此外,Sun 等人 [152] 在 CoT 框架内使用了多个基于 LLM 的代理,以增强布尔可满足性问题求解器的启发式设计。
5.4 自我一致性
自我一致性涉及生成对同一提示的多个答案或解决方案,然后综合它们以提高准确性和可靠性。在算法设计中,这可能意味着多次提示模型以不同的方法解决同一问题,然后比较这些解决方案以识别最有效或最稳健的算法。这种方法利用了模型生成多样化解决方案的能力,并构建了对可能策略的更全面理解。例如,Guan 等人 [56] 将响应数量设置为 10,并使用多数投票来获取预测标签。由于每个响应可能提供不同的关键词或正则表达式,因此它采用关键词或正则表达式的并集来创建候选集。此外,Lehman 等人 [86] 从同一选定的代码中采样多个修订代码,并相应地更新种群。
5.5 反思
提示工程中的反思涉及要求模型对其自身的响应或解决方案进行批判或评估。在生成算法后,可以提示模型反思其效率、潜在缺陷或改进之处。这不仅有助于优化算法,还能深入理解时空权衡等细微差别,这对于高级算法设计至关重要。Ma 等人 [107] 研究了 LLM 驱动的提示优化的隐式和显式反思,这使得 LLM 能够分析错误并生成关于当前提示的反思或反馈。Ye 等人 [191] 的另一项研究在启发式设计中结合了短期和长期反思,而 Zhang 等人 [196] 则专注于自我评估和对网络检测结果的推理。此外,Ma 等人 [108] 和 Narin [123] 都采用 LLM 进行 RL 奖励函数设计,其中奖励反思监控训练期间各个策略检查点处的所有奖励组件的标量值和任务适应度函数。
6 应用
6.1 优化
在本小节中,我们重点讨论 LLM 在优化算法设计中的实际应用。我们根据具体的优化任务类型,将现有文献分为组合优化、连续优化、贝叶斯优化、提示优化和优化建模。然后,我们继续比较 LLM 扮演的各种角色、所使用的提示策略以及它们所应用的具体问题或任务。这种比较分析总结在表 2 中,我们列出了作者提出的框架或方法的名称。对于那些没有明确命名其方法的研究,我们在文章中赋予适当的设计名称,并用星号表示以便于参考(例如,MH-LLM* 表示 [142])。
6.1.1 组合优化。在组合优化 (CO) 领域,设计有效的算法启发式方法长期以来一直是一个重要的研究领域。大型语言模型 (LLMs) 的出现现在为自动生成适用于各种应用任务的组合优化算法提供了新的途径。
旅行商问题 (TSP) 作为最著名的组合优化挑战之一,涉及寻找一条最短路径,以恰好一次访问所有指定地点并返回起点。鉴于其 NP-难性质,启发式算法通常用于解决此问题。最近的一些工作利用 LLMs 在进化计算 (EC) 框架内演化算法,例如 AEL [97]、ReEvo [192] 和 EoH [98]。不同的是,OPRO [183] 采用 LLMs 作为优化器,并提出了一种元提示,其中在每个优化步骤中添加了带有任务描述的解-分数对。此外,LMEA [101] 研究了将 LLMs 用作进化组合优化器以生成后代解,其中引入了一种自适应机制来平衡探索和利用。容量约束车辆路径问题 (CVRP) 通过引入与车辆容量相关的约束扩展了 TSP。为了应对这一挑战,MLLM [76] 设计了一个基于多模态 LLM 的框架,结合了文本和视觉输入以提高优化性能。
除了路由问题,装箱问题(Bin Packing Problem, BPP)是另一个具有多样化应用的广泛研究问题。BPP的目标是将不同大小的物品装入数量最少的固定尺寸的箱子中。FunSearch [139] 利用进化方法来演化BPP的启发式算法。研究表明,与传统的首次适应和最佳适应等策略相比,FunSearch在解决BPP带来的挑战时能够发现更优的启发式算法。与FunSearch相比,EoH [98] 设计的启发式算法不仅在性能上具有竞争力,而且在各种问题规模和容量上表现出更强的泛化能力,所需的查询次数显著减少。此外,除了前面讨论的研究外,许多重要的组合优化问题已被广泛研究,以验证其提出方法的有效性。例如,FunSearch [139] 中的帽集问题、EoH [98] 中的流水作业车间调度问题(FSSP)以及MH-LLM* [142] 中的社交网络问题。
6.1.2 连续优化。这里我们深入探讨处理具有连续设计变量的优化问题的工作,包括单目标和多目标优化。具体任务或基准包括合成函数以及现实世界应用。
在单目标优化领域,LLaMEA [161] 利用大型语言模型(LLMs)来自动化算法设计的进化过程。它展示了在 IOHexperimenter 基准测试工具 [36] 中生成基于隐喻的优化算法在 BBOB 基准 [63] 上的有效性,该工具支持评估生成算法的质量,并在进化过程中向 LLM 提供反馈。EvolLLM [84] 引入了一种提示策略,使基于 LLM 的优化能够作为进化策略(ES)运行,并在合成 BBOB 函数和神经进化任务中展示了稳健的性能。OPRO [183] 表明,LLMs 通过利用元提示中的过去优化轨迹,有效地捕捉线性回归问题的优化方向。此外,LEO [18] 设计了一种利用 LLMs 进行解决方案生成的探索-利用策略,该方法已在单目标和多目标基准函数以及包括超音速喷嘴形状优化、传热和风电场布局优化在内的工业工程问题中进行了测试和验证。与上述直接使用 LLMs 进行解决方案生成的方法略有不同,LAEA [64] 引入了基于 LLM 的代理模型用于回归和分类任务,以评估新解决方案的质量以进行选择。该方法已在使用九种主流 LLMs 的二维测试函数上得到了验证。
与单目标连续优化相比,多目标优化问题(MOPs)旨在识别一组最优解,称为帕累托最优解集。多目标进化算法(MOEAs)是解决跨领域MOPs的有效工具。MOEA/D-LMO [96]首次探讨了利用LLMs解决MOPs的初步探索。得益于基于分解的框架,LLMs的上下文学习过程易于整合,以生成每个源自原始MOP的子问题的候选解。在大规模MOPs领域,LLM-MOEA* [147]展示了LLMs在多目标可持续基础设施规划问题中的推理能力。该研究突出了LLM在筛选关键决策变量、自动分析帕累托前沿以及根据不同专业水平提供定制化推理方面的熟练程度。此外,CMOEA-LLM [170]利用LLMs与进化搜索算子相结合,解决了约束MOPs的挑战,并在DAS-CMOP测试套件中表现出强大的竞争力。[46].
6.1.3 贝叶斯优化。贝叶斯优化(BO)是一种基于模型的优化范式,用于解决昂贵的优化问题,并在各种现实场景中得到了广泛应用 [51]。它通常采用代理模型来近似昂贵的函数,并通过精心设计的获取函数(AFs)以样本高效的方式选择潜在解决方案。为了促进使用大型语言模型(LLMs)直接生成解决方案,HPO-LLM* [197] 为 LLMs 提供了一组初始指令,概述了特定数据集、模型和超参数,以提出推荐的超参数用于在超参数优化(HPO)任务中进行评估。与随机搜索和贝叶斯优化相比,这种方法在 HPOBench 数据集 [44] 上展示了相当或更好的性能。此外,LLAMBO 结合了 LLM 的能力,以提高基于模型的 BO 的效率,其中在整个 BO 管道中包括零样本预热启动、代理模型和候选点采样器以及端到端性能在内的三个特定增强进行了系统研究,评估任务选自 Bayesmark [159] 和 HPOBench [44]。BO-LIFT* [137] 不是利用 LLM 进行直接解决方案生成,而是利用语言接口微调(LIFT)框架 [38] 与 LLMs 提供的带有不确定性的预测,使用自然语言进行催化剂优化的 BO。EvolCAF [187] 引入了一种新颖的范式,用于自动设计成本感知的贝叶斯优化获取函数,该方法在合成函数和 JAHS-Bench-201 数据集 [10] 中的超参数调优任务上展示了显著的效率和泛化能力。FunBO [2] 通过扩展 FunSearch [139] 发现了新颖且表现良好的 BO 获取函数,这些发现的获取函数在训练分布内外的各种全局优化基准和基于 RBF 的 SVM 和 AdaBoost 算法的 HPO 任务中进行了评估。
6.1.4 提示优化。提示优化旨在识别最有效的任务提示,以最大化LLM在特定任务数据集上的性能。先前的研究主要集中在自然语言提示的离散优化 [ 37 , 133 , 181 , 202 ] \left\lbrack { {37},{133},{181},{202}}\right\rbrack [37,133,181,202] 或嵌入空间中的连续优化 [ 87 , 93 ] \left\lbrack { {87},{93}}\right\rbrack [87,93] 。尽管这些方法需要针对每个特定任务进行专门训练,但它们通常需要访问LLM的logits或内部状态,这在只能通过API访问LLM时可能不适用。为了解决这些问题,最近的工作提出将优化问题建模为自然语言,并使用LLM作为提示。APE[208]利用LLM作为推理模型,直接根据输入-输出对形式的一小部分示例生成指令候选。这种方法在各种任务中展示了人类水平的表现,包括指令归纳[68]和Big-Bench Hard(BBH)[153]。OPRO[183]使LLM作为优化器,逐步基于完整的优化轨迹生成新提示,与人类设计的提示相比,优化器提示在GSM8K[31]和BBH上展示了显著的改进。受数值梯度下降方法的启发,APO[134]通过识别当前提示的缺陷并在梯度的相反语义方向调整提示,进行文本“梯度下降”。结果显示,在四个NLP基准分类任务(即Jailbreak、Ethos[120]、Liar[167]和Sarcasm[48])上,无需超参数调优或模型训练,性能有显著提升。类似地,Tang等人[155]引入了一种基于梯度的LLM提示优化器,名为GPO,并在包括BBH、GSM8K、MMLU[67]、WSC[88]和WebNLG[53]的数据集上评估了其在复杂推理、知识密集型和常见NLP任务中的性能。Guo等人[60]提出了一种协作优化方法,将基于梯度的优化器和基于LLM的优化器以交错方式集成,该组合方法在NLU和图像分类任务上相对于基线提示调优方法实现了持续改进。通过利用进化算法在探索和利用之间取得良好平衡的优势,Guo等人[58]引入了一种名为EvoPrompt的离散提示调优框架,该框架使LLM像进化算子一样生成新的候选提示。EvoPrompt在31个数据集上展示了优于手动设计提示和先前自动提示生成方法的优势,涵盖了语言理解、生成和BIG-Bench基准相关的任务。
6.1.5 优化建模。优化建模 [13] 旨在构建一个现实世界优化问题的数学模型,该模型以标准形式表示,包括一个目标函数和一组约束条件 [ 3 , 157 ] \left\lbrack {3,{157}}\right\rbrack [3,157] 。除了设计有效的算法来解决优化问题外,建模或表述问题的过程也提出了重大挑战。即使使用相同的优化算法,不同的建模表述也可能导致解决效率的显著差异。此外,创建一个高效的表述通常需要优化技能的专业知识和广泛应用领域的专业知识 [140, 145, 171]。
最近,大型语言模型(LLMs)为自动化优化建模开辟了有前景的途径,促进了问题的制定和解决方案的实施,从而使专家知识得以普及。AhmadiTeshnizi 等人 [3] 提出了 OptiMUS,这是一种基于 LLM 的代理,旨在从自然语言中解释和解决优化问题。该方法的性能在一个名为 NLP4LP 3的新数据集上进行了评估,该数据集包括 41 个线性规划(LP)和 11 个混合整数线性规划(MILP)问题。尽管其表现出色,但对敏感数据提交给专有 LLMs 的依赖可能会在工业应用中引发数据隐私问题。为了解决这一问题,Tang 等人 [157] 提出了为优化建模训练开源 LLMs,这些模型适用于现实世界的工业环境。他们开发并实施了 OR-Instruct,这是一个半自动化的过程,用于生成符合特定需求的合成数据。表现最佳的模型 ORLM 在 NL4Opt [136]、MAMO [75] 以及提出的首个工业基准 IndustryOR 上展示了最先进的性能。Ahmed 和 Choudhury [4] 开发了一个名为 LM4OPT 的渐进式微调框架,以增强 LLMs 在 NL4Opt 数据集上优化问题制定任务的特异性。Wasserkrug 等人 [171] 开发了决策优化副驾驶(DOCP),该工具可供缺乏问题相关建模技能的广大决策者使用。该工具通过与用户进行自然语言交互,利用人类的知识和反馈来创建和解决特定问题的优化模型,从而辅助决策。实验针对设施选址问题上的三个 DOCP 要求进行了测试。
6.1.6 其他应用。除了可以归类为上述各个领域的优化应用外,我们还发现了LLMs在其他优化相关领域的应用,这些应用可能在不同程度上与上述分类有所交叉。为了便于参考,我们将它们归类为其他应用。
Wu等人[178]提出了AS-LLM,该方法利用LLMs的表示能力来提取算法特征,用于算法选择任务。该方法集成了一个特征选择模块,以识别关键特征,并利用算法和问题表示之间的相似性。除了在实验研究中展示了在ASlib(算法选择库)基准[17]上的稳健性能优势外,作者还严格给出了AS-LLM模型复杂度的上限。Ma等人[109]介绍了LLaMoCo,这是第一个专门为优化代码生成而定制的指令微调框架。得益于格式良好的指令集和一种新颖的两阶段训练策略,微调后的LLMs表现出稳健且优越的优化性能,减少了广泛领域知识和提示设计方面的努力。StrategyLLM[52]采用了四个基于LLM的代理——策略生成器、执行器、优化器和评估器——以协作方式工作。该方法使LLMs能够进行归纳和演绎推理,从而制定出比CoT提示方法更具普遍性和一致性的少样本提示。实验结果表明,StrategyLLM在涵盖数学推理、常识推理、算法推理和符号推理的四个具有挑战性的任务中具有有效性和可靠性。6.2 机器学习
表2. 语言模型在各个领域和任务中优化应用的概述。
应用 | 方法 | 大语言模型的作用 | 提示策略 | 特定问题或任务 |
---|---|---|---|---|
组合优化 | AEL [97] | LLMaD | FS, CoT | TSP |
ReEvo [192] | LLMaD | CoT, RF | TSP | |
OPRO [183] | LLMaO | FS | TSP | |
LMEA [101] | 混合 | FS | TSP | |
MLLM [76] | 混合 | ZS, FS | CVRP | |
FunSearch [139] | LLMaD | FS | 帽集问题, 在线BPP | |
EoH [98] | LLMaD | FS, OS, CoT | TSP, 在线BPP, FSSP | |
MH-LLM* [142] | LLMaD | ZS, FS | 社交网络问题 | |
连续优化 | LLaMEA [161] | LLMaD | 思维链 (CoT) | BBOB |
EvoLLM [84] | LLMaO | FS | BBOB, 神经进化 | |
OPRO [183] | LLMaO | FS | 线性回归 | |
LEO [18] | LLMaO | FS | 数值基准, 工业工程问题 | |
LAEA [64] | FS, CoT | LLMaP | 椭球体,Rosenbrock,Ackley,Griewank | |
MOEA/D-LMO [96] | LLMaO | FS | ZDT,UF | |
LLM-MOEA* [147] | LLMaE | ZS | 多目标可持续基础设施规划问题 | |
CMOEA-LLM [170] | LLMaO | FS | DAS-CMOP | |
贝叶斯优化 | HPO-LLM* [197] | LLMaO | FS | HPOBench |
LLAMBO [102] | 混合 | FS, ZS, CoT | Bayesmark, HPOBench | |
BO-LIFT* [137] | LLMaD | FS | 催化剂优化 | |
EvolCAF [187] | LLMaD | FS, OS, CoT | 合成函数, JAHS-Bench-201 | |
FunBO [2] | LLMaD | FS | 合成函数, HPO | |
提示优化 | APE [208] | LLMaO | FS | 指令归纳, BBH |
OPRO [183] | LLMaO | FS | GSM8K, BBH, MultiArith, AQuA | |
APO [134] | LLMaO | ZS, FS | NLP基准分类任务 | |
GPO [155] | LLMaO | FS | BBH, GSM8K, MMLU, WSC, WebNLG | |
MaaO [60] | LLMaO | FS | NLU任务, 图像分类任务 | |
EvoPrompt [58] | LLMaO | CoT, FS | 语言理解和生成任务, BBH | |
优化建模 | DOCP [171] | LLMaO | FS, CoT | 设施选址问题 |
OptiMUS [3] | 混合 | ZS, FS | NL4LP | |
ORLMs [157] | LLMaD | ZS | NL4Opt, MAMO, IndustryOR | |
LM4OPT [4] | LLMaD | FS, ZS | NL4Opt | |
其他应用 | AS-LLM [178] | LLMaE | zs | 算法选择 |
LLaMoCo [109] | LLMaD | FS | 优化代码生成 | |
StrategyLLM [52] | 混合 | ZS, FS, CoT | 数学与常识与算法与符号推理 |
在本小节中,我们探讨了大型语言模型(LLMs)在机器学习领域的应用,重点研究了它们对算法设计的贡献。我们的分析首先关注重要的应用领域,特别是任务规划和强化学习——追求通用人工智能的关键基准。随后,我们深入探讨了专门的应用,包括神经架构搜索、基于图的学习以及数据集标注的自动化。虽然不可能详尽讨论每个应用,但我们还介绍了LLMs在张量网络结构搜索和对抗攻击算法生成等任务中的其他用途。这些应用总结在表3中。
6.2.1 使用LLMs进行任务规划。LLMs的出现引起了对其在规划任务中应用的极大兴趣,这归功于它们在自然语言形式下生成指令的显著能力。Huang等人的开创性工作[73]展示了LLMs利用世界知识为VirtualHome环境生成可执行计划的有效性,展示了它们在这些环境中的潜力。Ahn等人进一步增强了这种方法[6],他们使用价值函数来锚定世界知识,从而能够在逼真的厨房环境中为机器人任务执行推导出最优策略。在随后的研究中,Huang等人[74]以更适应的方式扩展了锚定信息的范围。此外,Lin等人[94]结合贪心搜索和启发式算法来改进规划系统。不同的是,Singh等人[148]通过集成编程语言来解决规划挑战,从而生成代码以简化规划过程。一种更全面的方法,名为SayCanPay[65],通过在任务框架中同时考虑可操作性函数和奖励来进行规划。
表3. 跨多个领域和任务的语言模型在机器学习应用中的概述。
应用 | 方法 | 大语言模型的作用 | 提示策略 | 具体问题或任务 |
---|---|---|---|---|
任务规划 | 零计划者 [73] | LLMaP | 零样本, 全样本 | VirtualHome 任务 |
SayCan [6] | LLMaP | 全样本 | 真实世界厨房任务与机器人 | |
LLM-GM [74] | LLMaP | 全样本 | 真实世界厨房任务与机器人 | |
Text2Motion [94] | LLMaP | 全样本 | 机器人长序列任务 | |
ProgPrompt [148] | LLMaD | FS, COT | VirtualHome 任务 | |
SayCanPay [65] | LLMaP | 全样本 | VirtualHome 任务, Ravens 任务, BabyAI 任务 | |
强化学习 | LFG [144] | LLMaP | FS, CoT | 目标导航任务, 现实世界任务 |
SLINVIT [201] | LLMaP | 零样本, 全样本 | ALFWorld 任务, InterCode 任务, BlocksWorld 任务 | |
MEDIC [14] | LLMaP | ZS | BabyAI 任务 | |
Eureka [108] | LLMaD | FS, CoT | IsaacGym 任务, 双手操作任务 | |
EROM [123] | LLMaD | ZS, CoT | IsaacGym 任务 | |
LLM-MOE [39] | LLMaP | FS, CoT | 智能网络 | |
神经架构搜索 | EvoPrompting [25] | LLMaD | FS, ZS, CoT | MNIST 数据集, CLRS 算法推理 |
HS-NAS [79] | LLMaP | FS, ZS, CoT | 机器翻译任务 | |
LLMatic [124] LAPT [207] | LLMaD LLMaD | FS, ZS, CoT ZS, FS | CIFAR-10 数据集, NAS-bench-201 基准 NAS201, Trans101, DARTs | |
LLM-GE [121] | LLMaD | FS, ZS, CoT | CIFAR-10 数据集 | |
图学习 | LLM-Critical [112] | LLMaD | FS. ZS, CoT | 关键节点识别 |
LLM-GNN [29] | LLMaP | FS, CoT | 无标签节点分类 | |
ReStruct [27] | LLMaE | FS, ZS | 元结构发现 | |
AutoAlign [200] | LLMaE | FS, ZS | 实体类型推断 | |
KSL [49] | LLMaP | 全样本 | 知识搜索 | |
数据集标注 | 类间分类器 [30] | LLMaO | FS, ZS | iNaturalist 数据集, KikiBouba 数据集 |
DataSculpt [56] | LLMaP | 全样本 | 标签函数设计 | |
其他应用 | LLM2FEA [174] | LLMaP | FS. CoT | 面向目标的生成 |
tnGPS [195] | LLMaD | FS, OS, CoT | 张量网络结构搜索 | |
L-AutoDA [57] | LLMaD | FS, OS, CoT | 对抗攻击 |
知识以生成VirtualHome环境的可执行计划,展示了它们在这些环境中的潜力。Ahn等人进一步增强了这种方法[6],他们使用价值函数来锚定世界知识,从而能够在逼真的厨房环境中为机器人任务执行推导出最优策略。在随后的研究中,Huang等人[74]以更适应的方式扩展了锚定信息的范围。此外,Lin等人[94]结合贪心搜索和启发式算法来改进规划系统。不同的是,Singh等人[148]通过集成编程语言来解决规划挑战,从而生成代码以简化规划过程。一种更全面的方法,名为SayCanPay[65],通过在任务框架中同时考虑可操作性函数和奖励来进行规划。
6.2.2 强化学习。强化学习(RL)一直是序列决策任务的事实标准,最近,RL 与大型语言模型(LLMs)之间的协同作用在该领域中成为一种新兴趋势。这种融合反映了任务规划的动态,但将 RL 置于其方法论的核心。许多关于 RL 的 LLM4AD 论文涉及自动设计奖励函数 [14, 108, 123]。此外,Shah 等人 [144] 研究了使用 LLMs 进行启发式规划,以在 RL 框架内引导搜索过程。Zhang 等人 [201] 通过引入一个 Kullback-Leibler 散度正则化项,将 LLMs 集成到 RL 中,该项使 LLM 驱动的策略与 RL 导出的策略对齐。LLMs 还扩展到了多智能体 RL 场景,如 Du 等人 [39] 所示,他们在混合专家系统中展示了其应用,以指导 RL 模型在智能网络解决方案领域中的应用。
6.2.3 神经架构搜索。神经架构搜索(NAS)已成为AutoML社区中的一个重要焦点,最近的改进归功于大语言模型(LLMs)的能力。LLMs最常用于设计神经架构。例如,Chen等人[26]将LLMs与进化搜索相结合,成功生成了适用于各种任务的代码,包括用于MNIST数据集的NAS。Nasir等人[124]引入了一种专门针对NAS的质量多样性算法,生成了适用于CIFAR-10和NAS-bench-201基准的架构。此外,Morris等人[121]引入了用于神经架构开发的引导进化,并首次提出了算法设计中思想进化的概念。LLMs还被用于预测网络性能。Jawahar等人[79]利用LLMs预测NAS性能,将这种方法与进化搜索相结合,有效地创建了新颖的网络架构。与基于LLM的架构设计和分数预测不同,[207]研究了如何采用LLM进行设计原则转移,以减少和指导搜索空间。与现有的NAS转移方法相比,实现了显著的搜索效率提升。
6.2.4 图学习。图学习是机器学习中的一个重要领域。随着LLMs在符号推理和图处理方面的能力不断增强,它们与图学习的结合已成为近年来的一个趋势。例如,Chen等人[29]将LLMs应用于文本属性图(TAGs)的标注任务中,充分利用了LLMs在语言任务上的熟练度。Mao等人[112]和Chen等人[27]都采用了LLMs在进化框架中设计函数。前者通过进化启发式代码函数来识别图中的关键节点,而后者则识别异构信息网络中的元结构以增强其可解释性。此外,知识图谱也从LLMs的应用中获得了显著的收益。Zhang等人[200]提出了AutoAlign方法,该方法利用LLMs在不同知识图谱之间进行实体的语义对齐,而Feng等人[49]则开发了知识搜索语言,利用LLMs在知识图谱中进行有效的搜索。
6.2.5 数据集标注。LLMs已被用于从数据集中挖掘语义和多模态信息。LLMs被用于训练可解释的分类器以从图像中提取属性[30],并为弱监督学习生成标签函数[56]。
6.2.6 其他应用。LLM的其他应用扩展到众多机器学习任务,尽管列举所有这些任务是不切实际的。值得注意的是,Wong等人[174]利用多任务学习和提示的迭代优化来促进创新设计方法。Zeng等人[195]将LLM与进化搜索相结合,开发了一种启发式函数,旨在高效筛选代表原始张量网络的候选张量集。此外,Guo等人[57]开创了利用LLM生成新型基于决策的对抗攻击算法的方法,从而为模型鲁棒性的自动评估开辟了新的领域。
6.3 科学发现
本小节致力于探讨与算法设计相关的科学发现。表4总结了该领域的相关工作。对于LLM在科学发现中的深入讨论和综述,读者可参考调查论文 [ 16 , 61 , 78 ] \left\lbrack { {16},{61},{78}}\right\rbrack [16,61,78] 。
6.3.1 一般科学发现。在一般科学发现领域,已经开发了几个利用大型语言模型(LLMs)的框架。值得注意的是,Du 等人 [41] 提出了 LLM4ED 框架,该框架采用迭代策略,包括黑箱优化器和进化算子,以生成和优化方程。这种方法在从非线性动态系统中发现物理定律的稳定性和可用性方面取得了显著进展。同样,Shojaee 等人 [146] 提出了 LLM-SR,它结合了 LLMs 的广泛科学知识和代码生成能力与进化搜索。该框架在基于物理理解提出和改进初始方程结构方面表现出色,在多个科学领域发现物理上准确的方程方面优于传统的符号回归方法。另一个创新的框架是 Ma 等人 [106] 提出的 SGA,这是一个双层优化框架,它将 LLMs 的抽象推理能力与模拟的计算能力相结合。这种集成促进了假设生成和离散推理与模拟的结合,用于实验反馈和连续变量的优化,从而在发现本构定律和设计分子方面提高了性能。
6.3.2 化学、生物学与物理学。在化学和生物学领域,LLMs 主要应用于多样化的分子设计场景。这些包括一般分子设计 [ 15 , 77 ] \left\lbrack { {15},{77}}\right\rbrack [15,77] 、药物分子设计 [189]、化学反应 [138] 和催化剂设计 [164]。在 LLM4AD 论文中,物理学的研究较少,Pan 等人 [130] 展示了 LLMs 使用多步提示模板在理论物理中执行复杂分析计算的能力。
6.3.3 力学。MechAgents [125] 引入了一类受物理启发的生成式机器学习平台,这些平台利用多个大型语言模型(LLMs)来解决力学问题,例如弹性问题,通过自主协作编写、执行和自我修正代码使用有限元方法。此外,Du 等人 [40] 采用 LLMs 来自动从数据中发现控制方程,利用模型的生成和推理能力来迭代优化候选方程。这种方法在包括 Burgers、Chafee-Infante 和 Navier-Stokes 方程在内的各种非线性系统上进行了测试,展示了发现正确物理定律的卓越能力,并且在未见数据上的泛化能力优于最先进的模型。在流体力学领域的另一个例子由 Zhu 等人 [210] 研究,他们引入了 FLUID-LLM,这是一个将预训练的 LLMs 与时空感知编码相结合的新框架,以增强非定常流体动力学的预测,解决了计算流体力学中复杂几何形状的挑战。此外,Buehler [22] 研究了基于 LLM 的方法用于正向和逆向力学问题,包括仿生分层蜂窝设计、碳纳米管力学和蛋白质展开。
6.4 工业
本小节探讨了 LLMs 在各行业算法设计中的变革性影响。当我们展望制造业的未来时,LLMs 有望发挥关键作用。现有的发展,例如 SymphonyAI 1 {}^{1} 1 的成果,专注于增强研究和投资以优化这些模型,同时评估其在安全性、偏见和实用性方面的性能。LLMs 可以被视为连接人类和机器的桥梁,促进明智的决策。
表 4. 利用语言模型在各个领域和任务中的科学发现应用概览。
应用 | 方法 | 大语言模型的作用 | 特定问题或任务 |
---|---|---|---|
一般科学方程发现 | 双层 [106] | LLMaD | 物理科学发现 |
LLM-SR [146] | LLMaD | 科学方程发现 | |
LLM4ED [41] | LLMaD | 方程发现 | |
化学 | ChatChemTS [77] | LLMaD | 分子设计 |
Debjyoti Bhattacharya 等人 [15] | LLMaO | 分子设计 | |
Agustinus Kristiadi 等人 [83] | LLMaE | 分子设计 | |
BoChemian [138] | LLMaE | 化学反应 | |
多模态 MoLFormer [149] | LLMaP | 电池电解质配方设计 | |
CataLM [164] | LLMaP | 催化剂设计 | |
Gavin Ye [189] | LLMaD | 药物设计 | |
DrugAssist [190] | LLMaO | 药物设计 | |
生物学 | MLDE [158] | LLMaP | 蛋白质设计 |
X-LoRA [21] | LLMaP | 蛋白质设计 | |
CodonBERT [92] | LLMaP | mRNA 设计和优化 | |
重新审视预训练语言模型 [70] | LLMaP | 蛋白质功能预测 | |
力学 | 流体-LLM [210] | LLMaP | 计算流体动力学 |
力学代理 [125] | LLMaD | 力学设计 | |
力学语言模型 [22] | LLMaP, LLMaD | 碳纳米管和蛋白质设计 | |
杜梦歌等人 [40] | LLMaD | 非线性动力学方程发现 |
例如,大型语言模型(LLMs)在构建全面的智能6G网络系统中发挥着重要作用[104],解决了低延迟、高频段、高带宽、高传输速率和整体智能等挑战[206]。此外,LLMs有潜力通过简化任务和减少对大量人力和工程专业知识的需求,彻底改变电信行业。然而,解决现有挑战对于充分发挥其潜力至关重要[110]。
最近,LLMs在电子设计自动化(EDA)中的应用已成为一个有前景的探索领域。基于LLM的解决方案已被开发用于增强与EDA工具的交互[47]。特别是在VLSI设计流程中,验证实现是否符合其规范至关重要。为此,需要自动生成SystemVerilog断言(SVA)。生成式AI技术,如LLMs,可以有效地用于促进这一过程[118]。
为了提高云服务的可靠性和可用性,对云事件进行根本原因分析(RCA)是必要的。RCACopilot[28]根据警报类型有效地将传入事件与适当的处理程序匹配。它聚合关键的运行时诊断信息,预测事件的根本原因类别,并提供解释性叙述——所有这些都不需要手动调查。
更多适用的场景包括各种工业设计挑战,如芯片设计[24]、汽车形状设计[175]、飞机概念设计[105]、UI设计[50]和机器人设计[193]。LLMs主要利用数十亿的网络资源。然而,实际应用需要通过数千个特定设计意图的表示进行微调,以识别与每个设计任务相关的独特模式。
其他传统工业任务,如行程规划,也可以通过利用大型语言模型(LLMs)的力量来增强[180]。基于LLM的开放领域城市行程规划[156]结合了空间优化与LLMs,以创建详细的城市行程,根据用户的请求量身定制。这种方法通过根据用户以自然语言表达的请求生成个性化的城市行程,扩展了行程规划的范围。
7 LLMs在算法设计中的挑战
LLM在算法设计中的应用并非没有局限性。本节探讨了LLMs在可扩展性、推理成本以及在设计算法背景下生成新想法的能力方面的边界。
7.1 可扩展性
LLMs在算法设计中的主要限制之一是其可扩展性,特别是在处理长输入和输出时。LLMs受限于固定的上下文窗口大小,限制了它们一次可以处理的信息量,这对于需要详细规范和大量数据的复杂算法任务来说是一个挑战。这种限制不仅影响它们的理解,还影响它们可以生成的输出长度,通常需要多次迭代查询以获得全面的解决方案。此外,即使输入和输出的长度足够,LLMs在理解和对长输入进行推理方面也存在困难,影响了它们在设计复杂算法方面的有效性。例如,当LLMs作为优化器使用时,它们往往只能解决低维问题[185],而当它们作为设计者使用时,通常用于设计算法的一个函数或启发式组件,而不是整个算法[98]。
7.2 可解释性
在使用大型语言模型(LLMs)进行算法设计时,可解释性是另一个挑战。在LLMs中,很难追踪特定输入如何导致特定输出。这种不透明性在关键应用中可能成为问题,例如某些工业应用,在这些应用中,理解决策过程对于信任和可靠性至关重要。增强LLMs可解释性的努力涉及诸如特征可视化、模型简化[96]以及研究数据不同部分对模型行为贡献的技术[8]。尽管有这些努力,在不损害LLMs性能的情况下实现高水平的可解释性仍然是人工智能领域持续研究的关键领域。
7.3 推理成本
在算法设计中部署LLMs还面临着与成本相关的挑战,包括训练和使用成本。训练领域特定的LLMs需要大量的计算资源,通常涉及数周甚至数月的广泛GPU或TPU使用,这会产生高昂的财务和时间成本。一旦训练完成,推理成本——将模型应用于新数据的计算费用——也成为关键因素,特别是在模型频繁使用或需要快速响应的情况下,例如在许多LLM4AD工作中使用的进化搜索[139]。对于算法设计中的实际应用,可能需要多次迭代和测试,这些成本可能会累积,使得没有大量计算预算的研究人员使用LLMs变得不太可行。
7.4 安全性
将大型语言模型(LLMs)整合到算法设计中引入了重大安全风险,包括个人数据的处理不当和有害代码的潜在生成。LLMs 是在包含敏感信息的广泛数据集上进行训练的,如果这些模型无意中生成受此数据影响的输出,可能会导致隐私泄露的风险。此外,LLMs 的自主性可能导致无意中开发出有缺陷或恶意的算法,这在金融服务和个人数据管理等领域是一个关键问题 [203]。为了解决这些问题,建立严格的数据治理和模型训练协议至关重要,这些协议应防止敏感数据的包含,在各种条件下严格测试算法以防止意外行为,并持续更新安全措施以应对新兴漏洞。
7.5 新思想的生成
尽管有许多关于 LLM4AD 的工作,但它们产生真正新颖想法的能力仍受到质疑。LLMs 擅长在其训练数据范围内进行插值,但在外推到新的、未见过的场景时可能会遇到困难。在算法设计的背景下,这意味着虽然 LLMs 可以有效地提出与现有算法或解决方案相似或在其基础上有所改进的算法或解决方案,但它们在开创全新的算法概念或方法方面可能不那么有效,这些概念或方法与训练数据有显著偏离。这一限制对于以创新为生的领域至关重要,在这些领域中,生成新颖、突破常规的想法至关重要。对大量训练数据的依赖也引发了关于模型对历史数据的依赖性的担忧,这可能会使其输出偏向于传统方法,并可能抑制创新。虽然 LLM 在某些任务中展示了生成新想法的能力 [187],但如何持续探索实际的新颖想法仍然是一个挑战 [71]。8 未来方向 8.1 领域 LLM 用于算法设计
与其使用具有语言和代码生成能力的通用预训练 LLM,不如研究如何专门为自动算法设计任务训练 LLM。
在开发领域大语言模型(LLMs)时,可以探索以下几个方面:
-
训练领域大语言模型成本高且资源消耗大。一方面,可以采用先进的轻量级微调技术,例如LORA,以实现高效的领域适应。另一方面,借助领域数据和知识,可以减小特定应用的算法大语言模型的规模。
-
生成和收集用于算法设计的领域数据面临挑战。与一般的代码生成或语言处理任务不同,没有专门针对算法设计的大规模格式化数据。一些关于算法的Github仓库可能会有所帮助,然而,这些资源需要经过扫描和清理以用于算法设计。Lehman等人[86]提供了一个生成领域数据用于大语言模型的示例,其中在搜索过程中生成的样本被用作训练数据集,以微调预训练模型,从而在目标问题上获得更好的性能。
-
如何学习高级算法设计思想以及算法修订和推理能力,而不是仅仅学习文本和代码生成模型,仍然是一个未被探索的领域。主要挑战是如何提升大语言模型在推理 [ 169 , 194 ] \left\lbrack { {169},{194}}\right\rbrack [169,194] 中的自动推理能力,这也是被认为是先进大语言模型(如OpenAI o1 [127])背后的关键技术之一。
8.2 用于算法设计的多模态大语言模型
本文讨论的工作主要集中在利用大语言模型的文本理解和生成能力,无论是在语言、代码还是统计方面。与传统的基于模型的优化相比,大语言模型的一个显著优势是它们能够像人类一样处理多模态信息。一些尝试已经展示了在算法设计中融入多模态信息的优势,如Huang等人[76]和Narin[123]的研究所示。预计未来将开发更多利用多模态大语言模型的系统性方法,并进行进一步的应用研究。
8.3 与人类专家的互动
需要进一步研究来探讨大型语言模型(LLMs)与人类专家在算法设计中的互动 [91]。例如,在LLMaD工作中,LLMs可以被视为智能代理,使得人类专家能够介入并接管生成、修改和评估算法等任务。研究如何促进LLMs与人类专家之间的高效和富有成效的合作将是有价值的。集体智能 [111] 中的思想和技术可以用于此目的。
8.4 基于LLM的算法评估
LLMs在算法评估中可以发挥作用。已经有一些尝试用于自动评估算法和评估算法设计。例如,Sterbini和Temperini [150] 表明,LLMs可以用于分析算法描述并与给定的任务描述进行比较。这种文本相似性与教师和学生给出的评分都有很好的相关性。OMNI-EPIC [45] 利用基础模型自动生成定义下一个引人入胜且可学习任务的代码。通过生成环境和奖励函数,OMNI-EPIC能够创建广泛的模拟学习任务用于算法评估。我们期待更多关于基于LLM的算法评估的研究。
8.5 理解LLM的行为
在大多数研究中,LLM 作为一个黑箱模型工作。对 LLM 行为的解释不仅丰富了我们对 LLM 行为的理解,而且有利于在直接请求 LLM 具有挑战性或成本高昂的情况下。一些尝试已经用于近似和理解 LLM 在解决方案生成中的上下文学习行为。例如,Liu 等人 [96] 设计了一个白箱线性算子来近似 LLM 在多目标进化优化中的结果。尽管有这些初步尝试,但在包括启发式生成和想法探索在内的许多算法设计案例中,如何解释 LLM 的行为仍然是一个开放的问题。
8.6 全自动算法设计
全自动算法设计面临两个主要挑战:1) 生成新颖的算法思想和 2) 创建复杂、冗长的代码。虽然一些研究已经探讨了新思想的生成 [98],但包括启发式组件和详细代码实现在内的完整算法设计(而不是启发式组件)仍然是一个挑战。现有应用通常侧重于在预定义算法框架内自动化组件,而不是从头开始创建新算法。未来的研究需要解决这些复杂性,以推进全自动算法设计领域。
8.7 LLM4AD 基准测试
基准测试允许公平、标准化和便捷的比较,并识别最佳实践,从而为创新提供新的见解。尽管我们很高兴见证了多样化的研究工作和应用的出现,但LLM4AD在算法设计测试集的系统性和科学性评估方面,或在大语言模型算法设计的严格流程和评估标准方面仍缺乏基准测试。已有几次尝试涉及相关主题,如数学推理[95]和规划[160]。[162]提出了基于一些基本算法的算法测试集,而[114]则展示了LLM在与神经算法推理器相比时的优越性能。未来,预计会有更多的基准测试出现,它们将在推进LLM4AD方面发挥关键作用。
9 结论
本文对算法设计领域的大语言模型(LLM4AD)进行了系统且最新的综述,该领域处于人工智能与计算问题解决的交汇点。通过系统地回顾大量近期文献,本文不仅突出了LLM在算法设计中的当前状态和发展,还引入了一种新颖的多视角分类法,其中包含全面的文章列表,对LLM在该领域的角色和功能进行了分类。该分类法为学术界和工业界的研究人员提供了一个框架,以理解和导航使用LLM进行算法设计的复杂领域。
本文提出的讨论揭示了该领域目前面临的局限性和挑战,如可扩展性、可解释性和安全性等问题。此外,提出的未来研究方向旨在激发和指导后续研究,包括领域特定模型的需求、多模态方法、交互系统以及全面的基准测试标准。
展望未来,很明显,LLMs与算法设计的交叉点具有革命性变革的潜力,能够彻底改变算法的发展和实施方式。LLMs在算法设计过程中自动化和创新的能力可能会导致更高效、更有效和更具创造性的算法,以解决跨领域的复杂问题。我们希望本文能够为更深入地理解这一潜力做出贡献,并为未来在这一有前景的研究领域的创新和合作奠定基础。