Colmena: Scalable Machine-Learning-Based Steering of Ensemble Simulations for High Performance Computing
This addresses the problem of efficiently steering ensemble simulations in high-performance computing for scientific applications like electrolyte design, representing an incremental improvement in deployment tools.
The authors tackled the challenge of coordinating simulation ensembles with machine learning by developing Colmena, a Python framework that automates task management and ML integration, resulting in scaling to 65536 CPUs and accelerating discovery rates by 100x for electrolyte design.
Scientific applications that involve simulation ensembles can be accelerated greatly by using experiment design methods to select the best simulations to perform. Methods that use machine learning (ML) to create proxy models of simulations show particular promise for guiding ensembles but are challenging to deploy because of the need to coordinate dynamic mixes of simulation and learning tasks. We present Colmena, an open-source Python framework that allows users to steer campaigns by providing just the implementations of individual tasks plus the logic used to choose which tasks to execute when. Colmena handles task dispatch, results collation, ML model invocation, and ML model (re)training, using Parsl to execute tasks on HPC systems. We describe the design of Colmena and illustrate its capabilities by applying it to electrolyte design, where it both scales to 65536 CPUs and accelerates the discovery rate for high-performance molecules by a factor of 100 over unguided searches.