论文
手动软件优化已经成为过去吗?
Is manual software optimization a thing of the past?
摘要
科学软件越来越需要处理更大的数据集,同时保持可接受的执行时间。传统上,软件优化需要编程、算法和数值方法方面的丰富专业知识。大语言模型 (LLM) 的最新进展为实现这一过程的大部分自动化提供了可能性。我们研究基于 LLM 的Agent是否可以自主地在科学软件中实现显着的性能改进,包括已经由人类开发人员广泛优化的成熟实现。我们委托一个基于 LLM 的Agent针对三个计算问题优化软件:t-SNE、单样本基因集富集分析 (ssGSEA) 和图基数计数。人类定义了范围、正确性标准和验证机制,之后Agent自主工作,在某些情况下持续几个小时。代码维护人员审查了每个最终的实现并验证了其正确性。在所有测试的配置中,优化的实现速度更快,比最快的现有工具快了两个数量级。这些改进包括低级代码优化、数学重新表述以及全新的图基数计数算法。软件优化可以越来越多地委托给自主Agent,人类的角色从实施优化转向决定优化哪些软件、定义目标、提供验证机制并确保最终软件的正确性。对于范围广泛、可验证的问题,我们认为手动软件优化可能已成为过去。