Prompting for Performance: Exploring LLMs for Configuring Software
作者: Helge Spieker, Théo Matricon, Nassim Belmecheri, Jørn Eirik Betten, Gauthier Le Bartz Lyan, Heraldo Borges, Quentin Mazouni, Dennis Gross, Arnaud Gotlieb, Mathieu Acher
分类: cs.SE, cs.AI, cs.PF
发布日期: 2025-07-13 (更新: 2025-09-23)
备注: ICTAI 2025
💡 一句话要点
探索LLM在软件配置中的应用,利用Prompt提升性能
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 软件配置 性能优化 Prompt工程 自动化配置
📋 核心要点
- 软件配置优化面临挑战,现有方法如机器学习计算成本高昂,需要大量实验。
- 利用大型语言模型(LLM)的推理能力,通过Prompt工程辅助软件配置,降低搜索成本。
- 初步实验表明,LLM在特定任务中能对齐专家知识,但存在幻觉和推理不足的局限。
📝 摘要(中文)
软件系统通常提供大量的配置选项,这些选项会影响执行时间、内存使用、二进制大小或比特率等性能指标。做出明智的决策具有挑战性,需要对选项及其组合具备领域专业知识。机器学习技术可以搜索广阔的配置空间,但计算成本很高,因为需要大量配置的具体执行。本研究探讨大型语言模型(LLM)是否可以通过提示来辅助面向性能的软件配置。我们在各种可配置系统(如编译器、视频编码器和SAT求解器)上评估了多个LLM,任务包括识别相关选项、对配置进行排序以及推荐高性能配置。初步结果显示了积极的能力和明显的局限性:根据任务和系统,LLM可以很好地与专家知识对齐,但在其他情况下可能会出现幻觉或肤浅的推理。这些发现是朝着系统评估和设计基于LLM的解决方案以辅助软件配置迈出的第一步。
🔬 方法详解
问题定义:论文旨在解决软件配置优化问题,即如何在众多配置选项中找到最佳组合,以最大化性能指标(如执行时间、内存占用等)。现有方法,如基于机器学习的搜索算法,虽然能够探索广阔的配置空间,但需要大量的实际执行来评估每个配置的性能,计算成本非常高。此外,这些方法通常缺乏对配置选项之间复杂关系的理解。
核心思路:论文的核心思路是利用大型语言模型(LLM)的知识和推理能力,通过Prompt工程来指导软件配置过程。LLM可以根据给定的Prompt,识别相关的配置选项、对配置进行排序,并推荐高性能的配置。这种方法旨在减少对大量实际执行的依赖,从而降低计算成本。
技术框架:论文采用了一种基于Prompt的LLM应用框架,主要包含以下几个阶段:1) Prompt设计:根据不同的任务(如识别相关选项、配置排序、配置推荐),设计合适的Prompt。2) LLM推理:将Prompt输入到LLM中,获取LLM的输出结果。3) 结果评估:评估LLM的输出结果,例如,将LLM推荐的配置与实际执行结果进行比较,或者与专家知识进行对比。4) 迭代优化:根据评估结果,调整Prompt设计,并重复上述过程,以提高LLM的性能。
关键创新:论文的关键创新在于探索了LLM在软件配置优化中的应用潜力。与传统的基于机器学习的搜索算法相比,LLM能够利用其预训练的知识和推理能力,减少对大量实际执行的依赖。此外,Prompt工程提供了一种灵活的方式来指导LLM的行为,使其能够更好地适应不同的任务和系统。
关键设计:论文中Prompt的设计是关键。例如,对于识别相关选项的任务,Prompt可能包含对软件系统的描述和性能指标的要求,要求LLM列出可能影响性能的配置选项。对于配置排序的任务,Prompt可能包含多个配置的描述,要求LLM根据其对性能的预测对这些配置进行排序。论文中没有明确提及损失函数或网络结构,因为重点在于利用现有的LLM,而不是训练新的模型。关键在于如何设计有效的Prompt,以引导LLM产生有用的输出。
🖼️ 关键图片
📊 实验亮点
实验结果表明,LLM在某些任务中能够很好地与专家知识对齐,例如在识别相关选项方面。然而,在其他任务中,LLM可能会出现幻觉或肤浅的推理,导致推荐的配置性能不佳。具体性能数据取决于不同的任务和系统,论文中没有给出具体的性能提升幅度,但强调了LLM在软件配置优化中的潜力和局限性。
🎯 应用场景
该研究成果可应用于各种软件系统的配置优化,例如编译器、视频编码器、数据库系统等。通过利用LLM的推理能力,可以帮助开发人员快速找到高性能的配置,提高软件系统的性能和效率。未来,可以将LLM与传统的机器学习方法相结合,构建更智能的自动化配置优化系统。
📄 摘要(原文)
Software systems usually provide numerous configuration options that can affect performance metrics such as execution time, memory usage, binary size, or bitrate. On the one hand, making informed decisions is challenging and requires domain expertise in options and their combinations. On the other hand, machine learning techniques can search vast configuration spaces, but with a high computational cost, since concrete executions of numerous configurations are required. In this exploratory study, we investigate whether large language models (LLMs) can assist in performance-oriented software configuration through prompts. We evaluate several LLMs on tasks including identifying relevant options, ranking configurations, and recommending performant configurations across various configurable systems, such as compilers, video encoders, and SAT solvers. Our preliminary results reveal both positive abilities and notable limitations: depending on the task and systems, LLMs can well align with expert knowledge, whereas hallucinations or superficial reasoning can emerge in other cases. These findings represent a first step toward systematic evaluations and the design of LLM-based solutions to assist with software configuration.