Massively Parallel Genetic Optimization through Asynchronous Propagation of Populations
Fuente:
arXiv
Salvato in:
| Autori principali: | , , , , , , , |
|---|---|
| Natura: | Preprint |
| Pubblicazione: |
2023
|
| Soggetti: | |
| Accesso online: | |
| Tags: |
Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
|
| _version_ | 1866916449817198592 |
|---|---|
| author | Taubert, Oskar Weiel, Marie Coquelin, Daniel Farshian, Anis Debus, Charlotte Schug, Alexander Streit, Achim Götz, Markus |
| author_facet | Taubert, Oskar Weiel, Marie Coquelin, Daniel Farshian, Anis Debus, Charlotte Schug, Alexander Streit, Achim Götz, Markus |
| contents | We present Propulate, an evolutionary optimization algorithm and software package for global optimization and in particular hyperparameter search. For efficient use of HPC resources, Propulate omits the synchronization after each generation as done in conventional genetic algorithms. Instead, it steers the search with the complete population present at time of breeding new individuals. We provide an MPI-based implementation of our algorithm, which features variants of selection, mutation, crossover, and migration and is easy to extend with custom functionality. We compare Propulate to the established optimization tool Optuna. We find that Propulate is up to three orders of magnitude faster without sacrificing solution accuracy, demonstrating the efficiency and efficacy of our lazy synchronization approach. Code and documentation are available at https://github.com/Helmholtz-AI-Energy/propulate |
| format | Preprint |
| id |
arxiv_https___arxiv_org_abs_2301_08713 |
| institution | arXiv |
| publishDate | 2023 |
| record_format | arxiv |
| spellingShingle | Massively Parallel Genetic Optimization through Asynchronous Propagation of Populations Taubert, Oskar Weiel, Marie Coquelin, Daniel Farshian, Anis Debus, Charlotte Schug, Alexander Streit, Achim Götz, Markus Neural and Evolutionary Computing Distributed, Parallel, and Cluster Computing 68T05, 68W50 I.2.8 We present Propulate, an evolutionary optimization algorithm and software package for global optimization and in particular hyperparameter search. For efficient use of HPC resources, Propulate omits the synchronization after each generation as done in conventional genetic algorithms. Instead, it steers the search with the complete population present at time of breeding new individuals. We provide an MPI-based implementation of our algorithm, which features variants of selection, mutation, crossover, and migration and is easy to extend with custom functionality. We compare Propulate to the established optimization tool Optuna. We find that Propulate is up to three orders of magnitude faster without sacrificing solution accuracy, demonstrating the efficiency and efficacy of our lazy synchronization approach. Code and documentation are available at https://github.com/Helmholtz-AI-Energy/propulate |
| title | Massively Parallel Genetic Optimization through Asynchronous Propagation of Populations |
| topic | Neural and Evolutionary Computing Distributed, Parallel, and Cluster Computing 68T05, 68W50 I.2.8 |
| url | https://arxiv.org/abs/2301.08713 |