Many evolutionary algorithms (EAs) take advantage of parallel evaluation of candidates. However, if evaluation times vary significantly, many worker nodes (i.e.,\ compute clients) are idle much of the time, waiting for the next generation to be created. Evolutionary neural architecture search (ENAS), a class of EAs that optimizes the architecture and hyperparameters of deep neural networks, is particularly vulnerable to this issue. This paper proposes a generic asynchronous evaluation strategy (AES) that is then adapted to work with ENAS. AES increases throughput by maintaining a queue of up to $K$ individuals ready to be sent to the workers for evaluation and proceeding to the next generation as soon as $M<<K$ individuals have been evaluated. A suitable value for $M$ is determined experimentally, balancing diversity and efficiency. To showcase the generality and power of AES, it was first evaluated in eight-line sorting network design (a single-population optimization task with limited evaluation-time variability), achieving an over two-fold speedup. Next, it was evaluated in 11-bit multiplexer design (a single-population discovery task with extended variability), where a 14-fold speedup was observed. It was then scaled up to ENAS for image captioning (a multi-population open-ended-optimization task), resulting in an over two-fold speedup. In all problems, a multifold performance improvement was observed, suggesting that AES is a promising method for parallelizing the evolution of complex systems with long and variable evaluation times, such as those in ENAS.
翻译:许多进化算法(EAs)利用候选解的并行评估优势。然而,若评估时间差异显著,大量工作节点(即计算客户端)将长时间处于空闲状态,等待下一代生成。进化神经架构搜索(ENAS)作为一类优化深度神经网络架构与超参数的EA方法,对此问题尤为敏感。本文提出一种通用异步评估策略(AES),并使其适配ENAS。AES通过维护一个最多包含$K$个个体的队列(这些个体已就绪可发送至工作节点进行评估),且当仅完成$M\ll K$个个体的评估后即进入下一代,从而提升吞吐量。通过实验确定$M$的适宜值,以平衡多样性与效率。为展示AES的通用性与效能,首先在八输入排序网络设计(评估时间变化有限的单种群优化任务)中验证,实现了超过两倍的加速;随后在11位多路复用器设计(评估时间变化范围更广的单种群发现任务)中验证,观察到14倍加速;最终扩展至图像字幕生成的ENAS(多种群开放式优化任务),同样获得超过两倍的加速。在所有问题中均观察到数倍性能提升,表明AES是并行化具有长且可变评估时间的复杂系统(如ENAS)进化过程的一种有前景的方法。