论文标题

Evosax:基于JAX的进化策略

evosax: JAX-based Evolution Strategies

论文作者

Lange, Robert Tjarko

论文摘要

深度学习革命大大加快了“硬件彩票”:现代硬件加速器和编译器的最新进展为大规模批处理梯度优化铺平了道路。另一方面,进化优化主要依赖于CPU - 平行性,例如使用DASK调度和分布式多宿主基础架构。在这里,我们认为,现代进化计算也可以从GPU和TPU提供的大量计算吞吐量中显着受益。为了更好地利用这些资源并启用下一代黑盒优化算法,我们发布了EvoSax:基于JAX的进化策略库,该策略允许研究人员利用强大的功能转换,例如及时的汇编,自动矢量化和硬件并行化。 Evosax实现了30种进化优化算法,包括基于有限差异,分布进化策略和各种遗传算法。每种算法都可以直接在硬件加速器上执行,并使用单个代码线自动对跨设备进行矢量化或并行处理。它以模块化的方式设计,可通过简单的询问评估tell API进行灵活的使用。因此,我们希望促进一系列可扩展的进化优化算法。

The deep learning revolution has greatly been accelerated by the 'hardware lottery': Recent advances in modern hardware accelerators and compilers paved the way for large-scale batch gradient optimization. Evolutionary optimization, on the other hand, has mainly relied on CPU-parallelism, e.g. using Dask scheduling and distributed multi-host infrastructure. Here we argue that also modern evolutionary computation can significantly benefit from the massive computational throughput provided by GPUs and TPUs. In order to better harness these resources and to enable the next generation of black-box optimization algorithms, we release evosax: A JAX-based library of evolution strategies which allows researchers to leverage powerful function transformations such as just-in-time compilation, automatic vectorization and hardware parallelization. evosax implements 30 evolutionary optimization algorithms including finite-difference-based, estimation-of-distribution evolution strategies and various genetic algorithms. Every single algorithm can directly be executed on hardware accelerators and automatically vectorized or parallelized across devices using a single line of code. It is designed in a modular fashion and allows for flexible usage via a simple ask-evaluate-tell API. We thereby hope to facilitate a new wave of scalable evolutionary optimization algorithms.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源