文献笔记|综述|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.mzph.cn/web/42962.shtml

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

相关文章

IT审计必看!对比旧版,CISA考试改版升级亮点和重点内容是什么?

官方通知,今年8月1日,CISA新版考纲正式上线,旧版在7月23日后就无法约考了。 艾威培训邀请了国内知名的IT审计CISA授课老师吴老师来为大家详细讲解CISA新版考纲的变化 目前第28th版教材只有英文版,中文版尚未发布。我们艾威经验丰…

Jetson-AGX-Orin多网卡绑定网卡名

Jetson-AGX-Orin多网卡绑定网卡名 ​ Jetson-AGX-Orin当通过USB接口或者Type-C口插入网卡设备后,重新上电Orin设备后,网卡设备的网卡名与Orin本身的以太网网卡名会发生交换。导致两个网卡设备配置发生错乱,两个网卡都将不通。 可以通过将网…

出道即包揽多项荣誉,Shokz韶音OpenFit Air拿下日本VGP金奖

说到盛夏的日本,你会想到什么?花火大会?但对于消费电子行业来讲,日本每年发布的VGP Summer奖项,才是每年盛夏时节行业内最大的庆典。而在今年的VGP 2024 Summer评选中,Shokz韶音在今年4月份刚发布的开放式耳…

开放式耳机音质哪个品牌的好?盘点几款音质好品牌

在音乐的世界里,每一分贝的振动都承载着情感与故事。对于追求极致音质体验的我们来说,耳机不仅是聆听的工具,更是通往音乐灵魂深处的桥梁。而开放式耳机,以其独有的声学构造和听觉享受,引领我们进入一个更为开阔的音乐…

vue中,图片在div中按照图片原来大小等比例显示

图片在div中按照图片原来大小等比例显示&#xff0c;可以保证web上显示的图片和实际图片形状一样&#xff0c;保留原始图片效果 实现代码如下&#xff1a; <div style"padding: 0; width:400px;height:400px;position: absolute;border: 1px solid #eff2f6;">…

如何探索高效知识管理:FlowUs知识库体验很好

在当今信息爆炸的时代&#xff0c;有效的知识管理对于个人和团队的发展至关重要。FlowUs 知识库作为一款创新的知识管理工具&#xff0c;正逐渐成为众多用户的首选&#xff0c;为他们带来了高效、便捷和有条理的知识管理体验。 FlowUs 知识库的一大特色在于其简洁直观的界面设计…

【ai_agent】从零写一个agent框架(五)基于egui制作一个agent/workflow在线编辑器

前言 上篇我们实现了基础节点&#xff0c;并暴露出grpc服务&#xff0c;但是手动编辑文本制作一个workflow实在强人所难。 所以本文我们做个webui自动生成workflow。 开搞之前先看看别人怎么做的。 Dify 的ui 效果如下图示&#xff1a; 支持多种功能节点 但只能打开一个节…

【spark】Exception in thread “main“ ExitCodeException exitCode=-1073741701

在window上运行spark程序写到本地文件的时候报错。 val rdd sc.sparkContext.parallelize(list)val arr rdd.collect()arr.foreach(println)rdd.saveAsTextFile("test1")sc.close()错误信息: zhangsan lisi wangwu Exception in thread "main" ExitCode…

红日靶场----(三)漏洞利用

上期已经信息收集阶段已经完成&#xff0c;接下来是漏洞利用。 靶场思路 通过信息收集得到两个吧靶场的思路 1、http://192.168.195.33/phpmyadmin/&#xff08;数据库的管理界面&#xff09; root/root 2、http://192.168.195.33/yxcms/index.php?radmin/index/login&am…

阿里云通义千问开源两款语音基座模型分别是SenseVoice和CosyVoice

阿里巴巴近期发布了开源语音大模型项目FunAudioLLM&#xff0c;该项目包含了两个核心模型&#xff1a;SenseVoice和CosyVoice。可以精准多语言识别并且进行语音克隆。 SenseVoice&#xff1a;精准多语言识别与情感辨识 SenseVoice主要致力于高精度多语言语音识别、情感辨识和…

使用八股搭建神经网络

神经网络搭建八股 使用tf.keras 六步法搭建模型 1.import 2.train, test 指定输入特征/标签 3.model tf.keras.model.Sequential 在Squential,搭建神经网络 4.model.compile 配置训练方法&#xff0c;选择哪种优化器、损失函数、评测指标 5.model.fit 执行训练过程&a…

数据结构双向循环链表

主程序 #include "fun.h" int main(int argc, const char *argv[]) { double_p Hcreate_head(); insert_head(H,10); insert_head(H,20); insert_head(H,30); insert_head(H,40); insert_tail(H,50); show_link(H); del_tail(H); …

Python 传递参数和返回值

Python是一种功能强大的编程语言&#xff0c;它以其简洁和易用性而广受欢迎。在Python编程中&#xff0c;参数传递和返回值是函数调用中两个非常重要的概念。理解这些概念对于编写高效且可维护的代码至关重要。 一、参数传递 在Python中&#xff0c;函数参数可以通过以下几种…

Golang期末作业之电子商城(源码)

作品介绍 1.网页作品简介方面 &#xff1a;主要有&#xff1a;首页 商品详情 购物车 订单 评价 支付 总共 5个页面 2.作品使用的技术:这个作品基于Golang语言&#xff0c;并且结合一些前端的知识&#xff0c;例如:HTML、CSS、JS、AJAX等等知识点&#xff0c;同时连接数据库的&…

统信UOS软件包标识化工具deepin-sbom-tools使用

原文链接&#xff1a;统信UOS上使用软件包标识化工具deepin-sbom-tools Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于在统信UOS上使用软件包标识化工具deepin-sbom-tools的文章。deepin-sbom-tools是一个强大的工具&#xff0c;可以帮助开发者和系统管理员更好…

Linux初始化新的git仓库

1.在git服务器上找到项目常部署的git地址可以根据其他项目的git地址确认 例如ssh://git192.168.10.100/opt/git/repository.git 用户名&#xff1a;git&#xff08;前面的是用户&#xff09; 服务器地址&#xff1a;192.168.10.100 git仓库路径&#xff1a;/opt/git/ 2.在服务器…

数据结构之折半查找

折半查找的算法思想&#xff1a; 折半查找又称二分查找&#xff0c;它仅仅适用于有序的顺表。 折半查找的基本思想&#xff1a;首先将给定值key与表中中间位置的元素&#xff08;mid的指向元素&#xff09;比较。midlowhigh/2&#xff08;向下取整&#xff09; 若key与中间元…

C++ 八股(1)

C语言中strcpy为什么不安全&#xff1f;如何解决&#xff1f; 主要原因是缺乏对输入长度的边界检查&#xff0c;容易导致缓冲区溢出漏洞。 解决&#xff1a;可以使用strncpy函数替代&#xff0c;或者在程序最顶端加入代码段 #define _CRT_SECURE_NO_WARNINGS 缓冲区溢出 …

javascript高级部分笔记

javascript高级部分 Function方法 与 函数式编程 call 语法&#xff1a;call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义&#xff1a;调用一个对象的一个方法&#xff0c;以另一个对象替换当前对象。 说明&#xff1a;call 方法可以用来代替另一个对象调用一个方法。cal…

Vue3 pdf.js将二进制文件流转成pdf预览

好久没写东西&#xff0c;19年之前写过一篇Vue2将pdf二进制文件流转换成pdf文件&#xff0c;如果Vue2换成Vue3了&#xff0c;顺带来一篇文章&#xff0c;pdf.js这个东西用来解决内网pdf预览&#xff0c;是个不错的选择。 首先去pdfjs官网&#xff0c;下载需要的文件 然后将下载…