文献笔记|综述|When Large Language Model Meets Optimization

When Large Language Model Meets Optimization

题目:当大型语言模型遇到优化时

作者:Sen Huang , Kaixiang Yang , Sheng Qi and Rui Wang

来源:arXiv

单位:华南理工大学

文章目录

  • When Large Language Model Meets Optimization
    • 摘要
    • 1 引言
    • 2 LLM
    • 3 经典优化算法
      • 3.1 针对优化问题的传统优化算法
    • 4 作为优化的LLMs
      • 4.1 作为黑盒优化搜索模型LLMs
        • 4.1.1 启发式搜索算子
        • 4.1.2 多目标优化
      • 4.2 LLMs作为优化算法的生成器
        • 4.2.1 LLMs认知下的选项生成
        • 4.2.2 算法生成与Chain-of-Thought
    • 5 优化算法优化大型语言模型
      • 5.1 优化模型调谐
        • 5.1.1 多任务学习优化
        • 5.1.2 基于结构剪枝
      • 5.2 提示优化
        • 5.2.1 连续提示优化
        • 5.2.2 离散提示优化
        • 5.2.3 黑箱优化提示调优
        • 5.2.3 自调优优化
        • 5.2.4 优化网络架构搜索
    • 6 基于LLMs的优化算法应用
      • 6.1 辅助优化编程:软件编程
      • 6.2 辅助优化框架:神经结构搜索
      • 6.3 辅助优化生成:内容创新生成
    • 7 未来展望与研究趋势

摘要

【开门见山】Optimization algorithms and large language models (LLMs) enhance decision-making in dynamic environments by integrating artificial intelligence with traditional techniques. 【讲LLM的特点】LLMs, with extensive domain knowledge, facilitate intelligent modeling and strategic decision-making in optimization, 【讲优化算法的优势】while optimization algorithms refine LLM architectures and output quality. 【呼应开头,强调】This synergy offers novel approaches for advancing general AI, addressing both the computational challenges of complex problems and the application of LLMs in practical scenarios. 【总结本文干什么】This review outlines the progress and potential of combining LLMs with optimization algorithms, providing insights for future research directions.

1 引言

【介绍优化算法】

  1. 优化算法(OA)是一种启发式搜索算法。
  2. OA从生物进化的自然机制中获取灵感,例如:自然选择、遗传、突变和杂交等过程。
  3. OA具有具有全局搜索能力强、对问题结构依赖性低、易于并行化等优点,因此应用广泛。
  4. 在处理大规模、高维、动态变化的优化问题时,传统算法面临性能瓶颈。进化计算为这些问题提供了有效的解决方案。
  5. 进化算法具有灵活性和适应性,易于其他计算技术结合形成混合算法,从而进一步提高性能。

【介绍LLM,并阐述观点:改进优化算法需要LLM的帮助】

  1. LLM在NLP等领域取得了重大突破,并在算法设计及优化领域显示出巨大潜力。
  2. 传统的优化算法设计依赖于人类的专业知识,不仅耗时,而且可能受到专家知识的限制。LLM能够用来解决上述挑战。

【阐述另一个观点:改进LLM也需要优化算法的帮助】

  1. 构建和训练LLM需要大量的计算资源和大型数据集[156],这增加了研究和开发成本,并限制了LLM的适用性和泛化
  2. OA通过增强训练过程、提高计算效率和降低资源消耗,为LLM的构建和应用提供了便利。此外,OA能够增强模型的泛化能力和鲁棒性。
  3. 引出研究问题:为LLM设计优化算法,从而提高其操作效率,减少资源消耗,同时不影响模型性能,甚至可能提高模型性能。

【介绍文章框架】

本综述系统研究两方面内容:

  1. 利用LLM改进OA;
  2. 利用OA对LLM进行改进。
  • 第2节回顾LLM。
  • 第3节回顾OA。
  • 第4节考察了将LLM作为OA的研究。
  • 第5节讨论了为改进LLM而定制OA的最新进展。它强调了这些算法如何增强设计,提高效率,并改善LLM的性能。
  • 第6节考察了将OA与LLM集成的实际应用。
  • 第7节是未来展望和研究趋势。

2 LLM

【由“语言”的重要性,引出计算语言学的任务】

【介绍LLM的发展历程】

  • 早期的统计语言模型(SLMs)和神经语言模型(NLMs)。
  • 预训练语言模型(PLMs):BERT、GPT-2。
  • 大规模语言模型。

【介绍LLM在NLP领域具有如此卓越表现的四个关键因素】

  • First, “pre-training” is one of the core processes of LLMs.
  • Second,“adaptability” is another key characteristic of LLMs.
  • In terms of “applications”, the broad applicability of LLMs is another reason for their popularity.
  • Finally, “performance evaluation” is critical to ensure the reliability and effectiveness of LLMs.

【介绍LLM对人工通用智能的里程碑式的意义,通过举例说明LLM不仅应用在NLP领域,且正逐渐被应用在各个领域当中。】

【揭示LLMs存在的挑战】

  1. Computational resources
  2. Data efficiency
  3. Interpretability and explainability
  4. Generalization and Robustness

3 经典优化算法

3.1 针对优化问题的传统优化算法

【介绍传统优化算法】

传统优化算法:

  • 确定性优化算法可以保证找到全局最优解,但一般不适用于大规模问题。
    • 线性规划(Linear Programming, LP)[98]
    • 整数规划(Integer Programming, IP)[107]
    • 混合整数规划(Mixed Integer Programming, MIP)[45]
    • 凸优化[130]
    • 自适应动态规划(Adaptive Dynamic Programming, ADP)[74]等。
  • 近似算法不能保证找到全局最优解。
    • 多项式时间近似算法
  • 启发式算法通常需要针对特定问题的定制和领域专业知识。此外,启发式算法可能收敛于局部最优解,并且具有较高的时间复杂度。
    • 贪心算法[20]
    • 禁忌搜索[4,5,49]
    • 遗传算法[131,63]
    • 差分进化算法[97,33]
    • 协同协同进化算法[11,18,125]。

【介绍分布估计算法EDA】

与依赖突变和重组算子的传统进化算法不同,EDA侧重于构建和更新有希望解决方案的概率模型。随后,研究人员也尝试利用EDA解决大规模全局优化问题。

【用于优化问题的强化学习方法】

强化学习,智能体只能通过试错来学习,而不是依赖标记数据或搜索数据的固有结构。

  1. 经典强化学习方法
  • model-based approaches
  • model-free approaches
    • value-based methods 适合小状态空间和离散的动作空间,难以估计价值函数和真实价值函数。
      • Q-learning
      • Double Q-learning,交替选择一个价值函数估计器来选择动作,另外一个用来对动作价值进行估计。已有研究表明,Double Q-learning具有更高的稳定性和更大的长期回报。
    • policy-based methods 适用于连续的动作空间,但需要对大量的轨迹进行采样,并且每个轨迹之间存在巨大的差异,导致“高方差”问题。
      • REINFORCE算法,又称蒙特卡洛策略梯度强化学习算法。
      • TPPO能够保证每次策略更新时新旧策略之间的KL散度不超过预定义的阈值,从而保证策略优化的稳定性。
      • PPO是对TPPO的改进,它的实施更简单,再实际使用中需要更少的计算。
    • actor-critic methods
      • Actor-Critic (AC)[60]算法结合了基于策略的方法和基于值的方法的优点。它同时学习策略和价值函数。
      • DPG[112]算法仅在状态空间中集成了确定性策略梯度,大大减少了采样的需要,并能够处理更大的动作空间。然而,DPG中策略更新和值估计之间的耦合导致稳定性不足,特别是对超参数高度敏感。
  1. 深度强化学习方法用来克服处理高维数据的限制

    • value-based methods
      • DQN)[94]基于Q-learning的DRL算法。一方面利用DNNs作为值函数估计器,另一方面引入了经验重放和目标网络。经验回放机制打破了采样样本之间的高度依赖性,而目标网络则缓解了神经网络在训练过程中的不稳定性。
      • Double-DQN[127]基于Double-Q learning。DDQN通过使用两个Q网络来解决高估问题。与DQN相比,DDQN具有更好的稳定性和算法性能。
      • S2V-DQN[58]利用structure2vec(S2V)的图嵌入网络来表示贪心算法中的策略,并使用多步DQN来学习由图嵌入网络参数化的贪心策略。
    • policy-based methods
      • DDPG[71]采用两种不同的参数化DNNs来表示价值网络和确定性策略网络。策略网络负责更新策略,而价值网络输出状态-动作对的Q值。
      • Zhang等[152]考虑了NP-hard问题的可行性约束,将启发式函数嵌入到变压器体系结构中,并将DRL应用于具有可行性约束的组合优化问题。
      • Ma等[85]引入了图指针网络(GPN)来解决经典的TSP问题,并将其与分层RL框架相结合来解决具有时间窗约束的TSP问题。
      • Hu等[54]设计了一个由共享图神经网络和分布式策略组成的网络,学习适合于MTSP的通用策略表达式。
    • actor-critic methods
      • A3C (Asynchronous Advantage Actor-Critic)通过异步梯度下降对DNNs参数进行优化,显著提高了策略优化效率。
      • Vinyals等[129]提出了求解组合优化问题的指针网络模型,开启了利用深度神经网络求解组合优化问题的一系列研究。该模型的灵感来源于机器翻译中的Seq2Seq模型。它采用基于深度神经网络的编码器对组合优化问题(如城市坐标)的输入序列进行编码,然后利用解码器和注意力机制计算每个节点的选择概率。最后以自回归的方式选择节点,直到得到完整解。由于Vinyals等[129]提出的训练方法具有监督性质,其得到的解的质量永远不会超过样本解的质量。
      • Bello等人[9]采用了一种强化学习方法来训练指针网络模型。他们将每个问题实例作为训练样本,以问题的目标函数作为反馈信号,并基于REINFORCE对模型进行训练。他们还引入了一个critic网络作为基线,以减少训练差异。
      • Nazari等[96]扩展了指针网络来处理动态VRP问题。他们用一个简单的一维卷积层取代了编码器输入层中的LSTM,有效地降低了计算成本。在保持优化效果的同时,训练时间减少了60%。
  2. 利用Transformer[128]的多头注意力机制解决组合优化问题

    • Deudon等人[36]通过结合Transformer的思想改进了传统的指针网络模型。
    • Kool等人[61]提出了一种利用注意力机制解决多个组合优化问题的新方法,并进一步设计了一个贪心的部署基线来取代Critic网络,从而显著提高了优化性能。

【总结】

DRL也有其局限性,如数据需求、样本效率、计算资源、可解释性等。尽管在研究和应用领域都取得了一些成功,但DRL基本上仍然局限于具有理想的、高度结构化的实验数据设计的模拟环境。它们严重依赖于特定模型的设计和训练。因此,人们对自动算法的设计和优化越来越感兴趣。

4 作为优化的LLMs

4.1 作为黑盒优化搜索模型LLMs

【将辅助优化算法的LLMs进行分类】

请添加图片描述

  1. 使用大模型作为黑盒优化模型的搜索算子,充分利用LLMs的知识存储能力和经验,可以有效地减少人力投入。
  2. 充分发挥大模型的生成能力,充分利用大模型对优化问题的理解作为模型的输入,然后生成合适的优化算法配置或生成针对具体问题的优化算法。

请添加图片描述

  • Yang等[143]提出了OPRO (Optimization by prompts),这种方法适用于无导数优化场景。
  • Chen等[27]探索了多步任务中的线索优化方法。通过构建离散的基于LLM的提示优化框架,该框架通过集成人为设计的反馈规则和偏好对齐,自动提供改进建议。
  • 针对当前新兴的神经架构搜索优化问题,Zhang等[153]设计了基于LLM的AutoML-GPT。AutoML-GPT利用GPT模型作为连接多个AI模型的桥梁,并动态地使用优化的超参数对模型进行训练。
  • AhmadiTeshnizi等人[3]提出了一种基于LLM的智能体OptiMUS。OptiMUS设计用于从自然语言描述中制定和解决混合整数线性规划(MILP)问题。
4.1.1 启发式搜索算子
  • Ye等人[146]提出了ReEvo,使用LLMs作为超启发式(LHHs)来解决NP-hard组合优化问题(COPs)。

  • Zhong等人[159]利用ChatGPT-3.5,提出了一种受动物启发的元启发式算法,称为动物搜索优化(Zoological Search Optimization, ZSO),该算法是为了解决连续优化问题而提出的。

  • 语言模型交叉(LMX)[90],它利用大型预训练语言模型(LLMs)来生成新的候选解决方案。这种方法很容易实现,并且可以跨各个领域生成高质量的后代,包括二进制字符串、数学表达式、英语句子、图像生成提示和Python代码。

  • Liu等人[79]利用GPT-4对6种序列优化性能较好的种群算法进行识别和分解,通过构建提示来引导LLMs从当前种群的父解中搜索最优解。

  • INSTINCT (INSTruction optimization using Neural bandits Coupled with Transformers)[72]是一种黑盒LLMs线索优化方法。该方法采用一种新颖的神经带算法Neural Upper Confidence Bound (NeuralUCB)来代替BO中的高斯过程(GP)模型。NeuralUCB允许NN智能体与从预训练transformer(即开源LLMs)学习的隐表示自然耦合,从而显着提高算法性能。

4.1.2 多目标优化
  • Brahmachary等人[13]介绍了一种使用LLMs进行数值优化的方法,称为基于语言模型的进化优化器(LEO),该方法利用llm的推理能力在各种场景(包括多目标和高维问题)中执行零样本优化。一系列的测试案例表明,LEO不仅能够处理单目标优化问题,而且能够很好地解决多目标优化问题。

  • Liu等人[75]利用LLMs来设计多目标进化算法(MOEAs)的算子,提出了一种将多目标优化问题分解为多个单目标子问题的方法。

  • Bradley等人[11]引入了一种名为“通过AI反馈的质量多样性”(QDAIF)的新方法,该方法将进化算法和LLMs结合起来,为优化算法生成高质量和多样化的候选对象。

4.2 LLMs作为优化算法的生成器

优化算法通常需要根据指定的任务设计合适的优化方案。由于LLMs具有问题理解能力和算法分析能力,基于LLMs的优化方法设计相比于前LLMs时代的优化方法,可以产生合适的优化方法选择和组合方案[124,123]。

4.2.1 LLMs认知下的选项生成
  • Zhang等人[150]探索了在超参数优化(HPO)过程中使用LLMs来生成最优配置。
  • Liu等人[80]提出了一个名为AgentHPO的系统,该系统利用LLMs来简化HPO流程,而HPO传统上是一项需要大量计算资源和专家知识的劳动密集型复杂任务。
  • Ma等人[86]探讨了LLMs作为线索优化器的有效性,提出了一种新的“自动行为优化”范式,旨在更可控、更直接地优化目标模型的行为。
4.2.2 算法生成与Chain-of-Thought
  • Liu等人[77]提出了AEL的方法,旨在为特定优化问题自动生成高效算法。
  • PromptBreeder (PB)系统[41]采用了Chain-of-Thought prompt策略,可以显著提高LLMs在不同领域的推理能力。
  • Pluhacek等[101]通过LLM增加种群,识别并分解了六种在序列优化问题上表现良好的种群算法。
  • Bradley等人[12]提出了一种用于实现LLMs的优化算法生成工具,该工具将自然语言描述转换为实现代码,并自动修复程序错误。
  • Hemberg等[53]提出了一种基于LLM的GP算法,称为LLM-GP,用于生成优化算法代码。

5 优化算法优化大型语言模型

【深入研究面向LLMs的OA优化的复杂性,探索各种策略,如模型调优、提示调优和网络架构搜索】

请添加图片描述

5.1 优化模型调谐

5.1.1 多任务学习优化

大型模型的多任务学习(ML)优化是一种利用进化算法等优化方法来同时优化多个任务的模型架构的方法。该方法的优点是能够在不同任务之间共享和交互学习相关信息,从而提高模型的泛化能力和效率。表2总结了主要的优化模型调优类方法。

请添加图片描述

多任务学习的优化策略通过使用进化算法同时识别多个目标的最优模型架构,降低了训练成本,增强了模型性能,提高了跨不同领域和任务的适应性[133]。

  • Choong等人[30]提出了一组不同的紧凑机器学习模型集的概念,旨在通过进化的多任务学习范式有效地解决大型预训练模型中的多个目标架构。
  • Baumann等人[8]提出了一种进化的多目标方法,旨在优化LLMs中的提示符,可用于捕获冲突情绪。
  • Yang等[144]将指令生成视为一个进化的多目标优化问题,使用大规模语言模型来模拟指令算子,以提高生成指令的质量和多样性。
  • Gupta和Bali等人[7,48]研究了多目标多任务进化算法的使用,其成果在不同的应用领域和神经网络设计中表现出更高的性能或更大的压缩。
5.1.2 基于结构剪枝

结构剪枝通过选择性地去除基于梯度信息的非关键耦合结构来优化大型语言模型,有效地减小了模型尺寸,同时保留了功能并确保了任务不可知性。该方法采用多目标局部搜索算法,有效地识别出多个帕累托最优子网。它通过权重共享最小化评估成本来实现这一点。

  • Ma等人[87]提出了LLM-Pruner方法,通过基于梯度信息选择性地去除非关键耦合结构来优化大型语言模型。
  • Gholami等人[44]证明了权值修剪可以作为Transfer架构的一种优化策略,证明了明智的修剪可以在不牺牲性能的情况下显著减小模型大小。

5.2 提示优化

提示调优,通常称为提示调优的优化,是一种用于微调LLMs提示的方法。

  • 连续提示调优采用连续优化算法,如CMAES[51],以提高嵌入提示的质量[24]。这个过程涉及到分割和子空间分解等技术来增强嵌入空间。

  • 离散提示调优使用离散优化算法直接探索提示空间。它利用专门的遗传算子来调整提示,以解决搜索空间中组合爆炸的问题。

请添加图片描述

5.2.1 连续提示优化
  • Sun等人[118]提出了Black-Box Tuning的改进版本BBTv2,它使用分治的无梯度算法来优化预训练模型的不同层的提示。
  • Fei等[40]引入了一种无梯度框架,用于迭代进化策略中优化连续文本反演。
  • Pryzant等[103]提出了自动提示优化(APO),使用数值梯度下降技术自动改进LLMs的提示。
  • Zheng等[158]使用子空间学习(BSL)的黑盒提示优化通过元学习识别公共子空间,增强了跨任务和LLMs提示优化的通用性,确保了跨各种下游任务的竞争力。
  • Chai等[21]引入了Clip-Tuning技术,以提高搜索效率,并在整个黑盒调优过程中提供更详细和多样化的评估反馈。

连续提示调优是一种用于优化大型语言模型性能的方法,其中提示被表示为存在于连续嵌入空间中的连续向量。这些向量在连续嵌入空间中进行优化。搜索空间是连续的,可以区分,允许使用基于梯度的优化技术。连续提示调优适用于无法获取模型内部结构和梯度信息的黑盒优化场景。然而,由于涉及复杂的数学运算和梯度计算,这种方法可能需要更多的计算资源。

5.2.2 离散提示优化

离散提示优化更多地关注文本序列级别的提示调优,适用于基于文本序列的任务,例如文本生成或分类。本研究主要集中在特定的快速工程情况下,广度有限。为了充分利用离散优化在黑盒提示优化中的潜力,有必要解决离散搜索空间中的组合爆炸问题。

  • Zhou等人[161]提出了一种简单的黑盒搜索方法ClaPS,通过聚类和修剪搜索空间来关注影响LLM预测的关键提示令牌,显著降低了搜索成本。
  • Yu等[148]提出了一种用于视觉语言模型的黑盒提示调优框架,该框架通过进化策略优化内在参数子空间中的视觉和语言提示,使任务相关提示学习无需反向传播。
  • Pan等[99]将元启发式算法作为一种通用的提示学习方法引入,并通过测试六种典型方法,证明了元启发式算法在黑箱提示学习和思维链提示调优中的有效性。
  • Lapid等人[62]提出了一种利用遗传算法攻击LLMs的方法,以揭示模型容易受到恶意操纵的漏洞,并为评估和增强语言模型与人类意图的一致性提供诊断工具。
  • Guo等人[46]提出了EvoPrompt,这是一个使用进化算法自动优化LLMs提示的离散提示优化框架。
  • Pinna等人[100]提出了一种使用遗传改进技术改进LLMs代码生成的方法。

一般来说,离散提示优化是一种在黑箱环境下优化大型语言模型性能的方法,它在不需要模型内部梯度信息的情况下,通过遗传算法、启发式搜索和聚类剪枝等技术在离散提示空间中搜索最优提示词或短语。其优点是在黑箱环境下不依赖模型内部信息而有效地提高了性能,能够适应少样本或零样本的任务,缺点是可能面临巨大的搜索空间、容易陷入局部最优、超参数的敏感性、泛化能力有限、结果解释困难等,以及对评价指标选择的高度依赖。

5.2.3 黑箱优化提示调优

大模型的黑盒优化是指在黑盒优化框架内对大型预训练模型(如大型语言模型)进行优化和调优的过程。在大型模型的黑箱优化中,优化算法通常通过与预训练模型交互,逐步调整其输入或参数来优化模型的性能,而不直接访问模型的内部结构或参数。

  • Yu等人[149]使用基于对话反馈的方法优化了视觉语言模型。
  • Guo等[47]介绍了协同黑盒调优(CBBT)技术。
  • Sun等人[119]为语言模型即服务(LMaaS)开发了一个黑盒调优框架。
  • Diao等[37]提出了一种黑盒离散提示学习(BDPL)算法。
  • Yu等人[148]的工作为可视化语言模型引入了一个黑盒提示调优框架。

这些研究表明,在不能直接修改模型权值的黑盒场景下,利用外部提示学习和优化有效地提高了模型在图像分类、文本到图像生成以及适应不同下游任务方面的性能。

5.2.3 自调优优化

请添加图片描述

  • Singh等人[113]应用可解释的自动提示(iPrompt)来生成解释数据的自然语言字符串。

  • Fernando等人[41]为PromptBreder提出了一种自改进机制,该机制可以进化和适应不同领域的线索。

  • Pryzant等人[104]提出了一种简单的非参数解决方案,即自动提示优化(APO),它通过使用受数值梯度下降启发的技术自动执行快速改进提示。

  • Li等人[68]提出了一种名为SPELL的黑盒进化算法,该算法使用LLM自动优化文本样式提示,对各种文本任务显示出快速改进。

  • Zhang等人[154]提出了Auto-Instruct方法,该方法利用LLMs的生成能力自动提高各种任务的指令质量,。

5.2.4 优化网络架构搜索

一种称为LLM网络体系结构搜索(NAS)的方法侧重于直接优化LLM模型的体系结构,并且在大型语言模型(LLM)的上下文中,NAS可以通过直接优化模型的体系结构而不是通过调整模型的参数来采取不同的形式。

请添加图片描述

  • Nasir等[95]提出了一种新的NAS算法,该算法有效地结合了LLMs和质量多样性(Quality Diversity, QD)算法的优势,自动搜索和发现高性能神经网络架构。

  • So等人[115]提出了一种进化式Transformer,通过在多语言任务中进行进化式架构搜索,可以用更少的参数实现更好的性能,并且即使在更小规模下也能保持高质量。

近年来,研究人员提出了更复杂、更有效的搜索策略来提高大型模型的性能。例如,

  • Gao等人[43]提出了一种自动发现通用语言模型(LLM)主干结构的方法(AutoBERT-Zero),该方法使用设计良好的搜索空间和操作优先的进化策略,以及两分支权重共享的训练策略,以提高搜索效率和性能。
  • Ganesan等人[42]对BERT模型进行任务无关的预训练,同时通过改变Transformer层中的隐藏维度来生成不同形状的子网络。通过改变网络的隐藏维度来生成一系列不同大小的模型,这些模型可以针对各种下游任务进行微调。
  • Yin等[147]提出使用one-shot Neural Architecture Search (one-shot NAS)自动搜索架构超参数。通过一次学习得到一个大型的SuperPLM,它可以作为所有潜在子体系结构的代理。利用进化算法在SuperPLM上搜索最佳的体系结构,然后根据这些体系结构提取相应的子模型并进行进一步训练。
  • Javaheripi等人[55]提出了一种无需训练的神经架构搜索(NAS)算法,用于寻找在任务性能(复杂度)和硬件约束(例如,峰值内存使用和延迟)之间具有最佳平衡的Transformer架构。
  • Zhou等人[162]提出了一种名为T-Razor的Transformer架构搜索方法,该方法使用零成本智能体引导进化来提高搜索效率,并通过引入突触多样性和突触显著性等指标来对Transformer进行评估和排名,从而有效地在Transformer搜索空间中找到优化的架构。
  • Klein等人引用了klein2023structure提出的基于权值共享的NAS作为一种结构修剪方法,用于寻找优化效率和泛化性能之间的最佳平衡,从而实现对LLMs的压缩,以减小模型大小和推理延迟。

总的来说,NAS用于优化大型模型的主要优势是它能够自动探索和发现针对特定任务的高效网络架构,从而显著提高模型性能,同时减少人工设计和调优工作。未来的研究将集中在提高搜索效率、降低计算成本、增强模型的通用性和适应性等方面。

6 基于LLMs的优化算法应用

请添加图片描述

6.1 辅助优化编程:软件编程

  • Weyssow等人[134]探索使用LLMs进行代码生成任务,重点关注参数高效微调(PEFT)优化技术。该方法旨在通过更新模型的一小部分参数。
  • Cassano等[19]提出了一个名为MultiPL-E的系统,该系统用于将代码生成基准测试从Python翻译为其他编程语言。
  • Pinna等人[100]指出了基于问题描述的自动代码生成的应用,提出了一种基于进化算法的方法,该方法使用遗传改进(GI)使用用户提供的测试用例集合来改进LLMs生成的代码。
  • Tao等[122]结合生成式预训练Transformer(GPTs)和语法引导遗传规划(G3P)来解决程序合成问题。
  • OpenAI团队开发了一种名为CodeX的语言模型[26]。Codex的一个特殊生产版本是GitHub Copilot,一个编程辅助工具。
  • Brownlee等人[15]探索了如何将LLMs应用于遗传改进(GI)中的变异操作,以提高搜索过程的效率。
  • Ji等人[57]具体介绍了基于LLMs的代码生成能力的评估和解释的研究概况,包括两个主要阶段:数据收集和分析。
  • CODAMOSA[66]将预先训练的Codex与基于搜索的软件测试(SBST)集成在一起,以提高测试用例代码的覆盖率。
  • Wu等人[137]强调了大规模语言模型(llm)在代码生成方面的进步以及相关的安全风险,特别是生成代码中的关键漏洞。

6.2 辅助优化框架:神经结构搜索

LLMs具有大量参数和深度学习能力,结合精心设计的优化算法,可以进一步加快神经结构搜索过程,提高搜索效率和所得模型的性能。

  • Nasir等人[95]提出了LLMatic,一种基于神经架构搜索(NAS)的大型模型算法。LLMatic利用LLMs生成新的架构变体,并结合QD算法(特别是MAP-Elites算法)来发现多样化和健壮的解决方案。
  • Chen等人[25]发现一种结合了进化提示工程和软提示调整的方法,即EvoPrompting。虽然专注于神经架构设计任务,但这种方法同样适用于依赖于上下文学习(ICL)或线索调整的LM任务。
  • Jawahar等人[56]通过使用LLMs来预测特定深度神经网络(DNN)架构在下游任务上的性能,为性能预测器(PP)构建了新的用途,提出了一种混合搜索算法(HS-NAS)。
  • Zheng等人[157]探索了GPT-4模型在设计有效神经网络架构的神经架构搜索(NAS)任务中的潜力。同时,他们提出了一种称为GPT-4增强型神经架构搜索(GENIUS)的方法,该方法利用GPT-4的生成能力作为黑盒优化器来快速导航架构搜索空间,识别有前途的候选架构,并迭代地改进这些候选架构以提高性能。
  • Radford等人[105]描述了一种使用生成式预训练来增强自然语言理解(NLU)的方法。
  • Chowdhery等[31]提出了大规模语言模型PaLM (Pathways Language Model), PaLM在多种NLP任务上表现优异,在网络结构设计、结构搜索等方面也有很好的表现。

综上所述,将LLMs与神经网络架构搜索(NAS)中的优化算法集成可以提高搜索效率,促进创新,使模型设计多样化,并为复杂神经网络架构的自动化设计开辟了新的途径。

6.3 辅助优化生成:内容创新生成

  • Xiao等人[141]提出了一个以模式为中心的文本生成框架PatternGPT,以解决LLMs容易出错的本质,以及无法在文本生成任务中直接使用外部知识的问题。

  • Chen等[28]通过模型自适应提示优化(Model-Adaptive Prompt Optimization, MAPO)增强了LLMs在语言生成任务中的性能。同样,他们提出了一种新的新闻摘要生成范式,该范式使用大语言模型(llm)通过进化微调来提高新闻摘要生成的质量[140]。该方法利用LLM从新闻段落中提取多个结构化事件模式,通过遗传算法进化事件模式种群,并选择适应性最强的事件模式输入LLM生成新闻摘要。

  • 盘古药物模型[73]是一种图到序列的非对称条件变分自编码器,旨在改善药物发现任务中的分子特性表示和性能。该模型的灵感来自化学课堂上分子式和结构式之间的转换,可以从两种表示中恰当地表征分子。

  • Liang等人[70]提出了一个DrugChat系统的原型,旨在为药物化合物分析提供类似chatgpt的功能。DrugChat通过结合GNNs、LLMs和适配器,使用户能够上传化合物的分子图谱,并在多轮交互中提出各种问题。

  • Berger等[10]提出了StableYolo框架,该框架旨在通过将进化计算应用于稳定扩散模型,同时调整提示符和模型参数,优化大型语言模型(LLMs)的图像生成质量。

  • uzuki等人[120]提出了一个基于LLMs的人格特征进化模型,特别是与合作行为相关的模型。该方法展示了LLMs如何能够加强对人类行为进化的研究,并基于进化博弈论,使用一个进化模型,假设人类在博弈论情境下的行为选择可以通过为LLMs提供高层次的心理和认知特征描述来模拟。

  • De等人[34]探索了LLMs之间的社会互动中无标度网络的自组织形成现象。

  • Lu等人[82]提出了一种新的学习框架SELF,旨在通过自我反馈和自我完善,使LLMs不断完善自己。

7 未来展望与研究趋势

  1. 需要在理论研究上深入探索LLMs与OAs之间相互强化的机制,并通过大规模的实证研究详细分析它们在实际应用中的互补优势和潜在问题。
  2. 对llm与oa相结合的算法进行深入的理论分析至关重要,包括评估其收敛性、时间复杂度和空间复杂度。
  3. 研究算法参数设置对性能的影响,以及算法在不同问题类型上的性能保证或理论限制,是推进算法的关键步骤。进一步探索优化理论[78],如明确目标函数的定义和表征、处理约束、分析问题的可行解空间等,将为算法的设计和应用提供坚实的理论基础,从而在解决更复杂的问题时获得更好的算法性能
  4. 神经结构搜索(NAS)是LLMs与OAs相结合的重要应用场景。虽然LLMs在其他任务中表现出显著的有效性,但它们并不是专门为NAS设计的[25]。当前LLM模型在用于NAS任务时的性能差异很大,基于LLM的方法与传统NAS方法在应用领域和泛化能力方面存在明显差异[106]。
  5. 跨学科应用与创新。LLMs与OAs的结合在多个跨学科领域显示出潜力,为刺激创新和提高复杂工作的性能提供了强大的协同作用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/373452.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis主从部署

文章目录 Redis主从部署1.下载安装Redis2.单点双副本主从配置1.修改配置信息2.修改配置文件redis.conf3.拷贝配置文件到每一个实例文件夹里4.修改每一个实例的端口和工作目录5.配置主从关系6.检查效果 3.哨兵模式监控主从1.创建实例目录2.复制配置文件并进行修改3.启动并测试 4…

Java增加线程后kafka仍然消费很慢

文章目录 一、问题分析二、控制kafka消费速度属性三、案例描述 一、问题分析 Java增加线程通常是为了提高程序的并发处理能力,但如果Kafka仍然消费很慢,可能的原因有: 网络延迟较大:如果网络延迟较大,即使开启了多线…

使用redis进行短信登录验证(验证码打印在控制台)

使用redis进行短信登录验证 一、流程1. 总体流程图2. 流程文字讲解:3.代码3.1 UserServiceImpl:(难点)3.2 拦截器LoginInterceptor:3.3 拦截器配置类: 4 功能实现,成功存入redis (黑…

悠律凝声环Ringbuds Pro耳机:素皮纹理质感独一档,音质也拉满

悠律(UMELODY)推出的这款新品——凝声环开放式耳机,以其独特的设计风格和出色的音质表现赢得了众多消费者的喜爱。 在外观上,凝声环采用了时尚潮酷的设计理念,并且采用简约典雅素皮工艺,首次将“素皮”材料…

QT文件生成可执行的exe程序

将qt项目生成可执行的exe程序可按照以下步骤进行: 1、在qt中构建运行生成.exe文件; 2、从自定义的路径中取出exe文件放在一个单独的空文件夹中(exe文件在该文件夹中的release文件夹中); 3、从开始程序中搜索qt&#xf…

提升Selenium在Chrome上的HTML5视频捕获效果的五个方法

在使用Selenium进行网页自动化测试时,捕获HTML5视频是一个常见的需求。然而,许多开发者发现,在使用Chrome浏览器时,视频捕获效果并不理想,经常出现视频背景为空白的问题。本文将概述五种方法,帮助提升Selen…

品牌渠道低价管控的思考与策略

消费者在购买产品时追求低价、货比三家,这无可非议。然而,产品低价就一定是好事吗?倘若品牌为了迎合消费者对低价的需求,一味追求低价引流,最终的结果只能是从源头压价,比如在原材料的选购、供应商的选择上…

校园运动用品租借租赁租体育用品平台设计

校园运动用品租借租赁租体育用品平台设计 摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 基于web的校园运动用品租借平台主要有管理员和用户两个角色功能模块,管理员对后台对有相…

Python 接口自动化中,如何实现参数化测试?

在Python接口自动化中,参数化测试是一种非常重要的技术,它可以帮助我们更高效地执行大量的接口测试用例。参数化测试允许我们通过修改测试数据,多次执行同一个测试用例,以验证系统在不同输入情况下的行为。下面,我将从…

[高频 SQL 50 题(基础版)]第一千七百五十七题,可回收且低脂产品

题目: 表:Products ---------------------- | Column Name | Type | ---------------------- | product_id | int | | low_fats | enum | | recyclable | enum | ---------------------- product_id 是该表的主键(具有唯…

php简单商城小程序系统源码

🛍️【简单商城小程序】🛍️ 🚀一键开启,商城搭建新体验🚀 你还在为繁琐的商城搭建流程头疼吗?现在,有了简单商城系统小程序,一切变得轻松又快捷!无需复杂的编程知识&a…

羊大师:暑期不“胖”秘籍:羊奶滋养,细嚼慢咽是关键!

夏日炎炎,假期悠长,如何在享受悠闲时光的同时,保持轻盈体态,成了许多人心中的小秘密。今天,就让我们一起揭秘暑期不“胖”的秘籍,让羊奶的滋养与细嚼慢咽的智慧,成为你美丽夏日的守护神。 羊奶轻…

BUUCTF[堆][of_by_one]

堆中of_by_one 介绍: 严格来说 off-by-one 漏洞是一种特殊的溢出漏洞,off-by-one 指程序向缓冲区中写入时,写入的字节数超过了这个缓冲区本身所申请的字节数并且只越界了一个字节。溢出字节为可控制任意字节 :通过修改大小(size…

一个项目学习Vue3---事件处理

学习下面代码&#xff0c;了解Vue3的事件处理 <!--条件和列表渲染--> <template><el-button v-on:click"countAdd" type"primary">count{{ count }}</el-button><el-button click"countAdd" type"primary"…

18.按键消抖模块设计(使用状态机,独热码编码)

&#xff08;1&#xff09;设计意义&#xff1a;按键消抖主要针对的时机械弹性开关&#xff0c;当机械触点断开、闭合时&#xff0c;由于机械触点的弹性作用&#xff0c;一个按键开关在闭合时不会马上稳定地接通&#xff0c;在断开时也不会一下子就断开。因而在闭合以及断开的瞬…

解决centos yum和wget指令都用不了(换源)

先ping一下网络&#xff0c;看看能不能ping通&#xff0c;先排除是网络的问题 ping www.baidu.com有消息回传说明网络有连接&#xff0c;没有的话就要去把虚拟机的网络连接好&#xff08;CtrlC关闭&#xff09; 接下来写centos更换源 一般yum用不了&#xff0c;下载不来wget …

树莓派采集系统

树莓派&#xff08;Raspberry Pi&#xff09;是一款非常受欢迎的小型单板计算机&#xff0c;因其低成本、低功耗以及丰富的I/O接口&#xff0c;非常适合用来搭建数据采集系统。无论是环境监测、智能家居、工业自动化&#xff0c;还是科学实验&#xff0c;树莓派都能胜任。以下是…

苹果开发者取消自动续费

文档&#xff1a;https://support.apple.com/zh-cn/118428 如果没有找到订阅&#xff0c;那就是账号不对 取消订阅后&#xff0c;就不会自动续费了&#xff0c;如果不放心&#xff0c;可以把付款绑定的方式也取消

window 安装 openssl

文章目录 前言window 安装 openssl1. 下载2. 安装3. 配置环境变量4. 测试 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0c;实在白嫖的话…

虚幻引擎中增强输入映射中鼠标输入无反应,怎么办?

在本地重新实现官方示例Cropout的时候&#xff0c;有增强输入&#xff0c;设置了鼠标左键的输入操作&#xff0c;但是蓝图一直不能触发 鼠标输入无效&#xff0c;而改用键盘输入则能正常触发。 解决办法就是在蓝图中设置输入模式游戏和UI 则鼠标左键控制的IA_Villager可以正…