Evolutionary Computation (EC), drawing inspiration from natural evolutionary processes, has solidified its place as an integral facet of Artificial Intelligence. Its unique attributes, such as adaptability and the capability to navigate vast problem spaces, have rendered it indispensable, especially in domains demanding optimization like engineering design. In today's data-driven landscape, the need for scalability in EC is more pronounced than ever, especially with the rise in complex systems and large-scale data. However, many existing EC libraries, designed for modest scales, fall short in catering to the heightened demands of modern problems. The advent of some pioneering GPU-accelerated EC libraries is a step forward, but they too grapple with limitations, particularly in terms of flexibility, computational efficiency, and architectural robustness. To address these challenges, this paper introduces EvoX: a comprehensive, scalable framework tailored for the automated, distributed, and heterogeneous execution of EC algorithms. Central to EvoX is a functional programming model that streamlines the EC algorithm development process, bolstered by a hierarchical state management strategy for efficient distributed execution. Alongside this, leveraging the capabilities of EvoX, we present a rich library of EC algorithms designed to handle a spectrum of problem-solving scenarios. Experimental results demonstrate both the superior system performance and model performance of EvoX. The code of EvoX is available at https://github.com/EMI-Group/EvoX.
翻译:进化计算(Evolutionary Computation,EC)受自然进化过程的启发,已确立了其在人工智能领域不可或缺的地位。凭借适应性与探索广阔问题空间的能力等独特属性,EC在工程设计等需要优化的领域展现出不可替代的价值。在当前以数据为驱动的背景下,特别是随着复杂系统和大规模数据的兴起,对EC可扩展性的需求比以往任何时候都更为显著。然而,许多现有EC库专为中小规模设计,难以满足现代问题日益增长的需求。尽管一些开创性的GPU加速EC库的问世迈出了前进的步伐,但它们仍面临灵活性、计算效率和架构鲁棒性等方面的局限。针对这些挑战,本文提出EvoX:一种专为EC算法的自动化、分布式与异构执行而设计的全面可扩展框架。EvoX的核心在于一个函数式编程模型,该模型通过分层状态管理策略实现高效分布式执行,从而简化EC算法的开发流程。与此同时,依托EvoX的能力,我们提供了一个丰富的EC算法库,旨在处理各类问题求解场景。实验结果表明,EvoX在系统性能和模型性能两方面均表现优异。EvoX的代码可在https://github.com/EMI-Group/EvoX获取。