×

Korali: efficient and scalable software framework for Bayesian uncertainty quantification and stochastic optimization. (English) Zbl 1507.62234

Summary: We present Korali, an open-source framework for large-scale Bayesian uncertainty quantification and stochastic optimization. The framework relies on non-intrusive sampling of complex multiphysics models and enables their exploitation for optimization and decision-making. In addition, its distributed sampling engine makes efficient use of massively-parallel architectures while introducing novel fault tolerance and load balancing mechanisms. We demonstrate these features by interfacing Korali with existing high-performance software such as Aphros, LAMMPS (CPU-based), and Mirheo (GPU-based) and show efficient scaling for up to 512 nodes of the CSCS Piz Daint supercomputer. Finally, we present benchmarks demonstrating that Korali outperforms related state-of-the-art software frameworks.

MSC:

62F15 Bayesian inference
90-04 Software, source code, etc. for problems pertaining to operations research and mathematical programming
90C15 Stochastic programming

References:

[1] Ashby, S.; Beckman, P.; Chen, J.; Colella, P.; Collins, B.; Crawford, D.; Dongarra, J.; Kothe, D.; Lusk, R.; Messina, P., The opportunities and challenges of exascale computing, Summ. Rep. Adv. Sci. Comput. Advis. Comm. (ASCAC) Subcomm., 1-77 (2010)
[2] Hansen, N.; Muller, S. D.; Koumoutsakos, P., Reducing the time complexity of the derandomized evolution strategy with covariance matrix adaptation (CMA-ES) nikolaus, Evol. Comput., 11, 1, 1-18 (2003)
[3] Kern, S.; Müller, S. D.; Hansen, N.; Büche, D.; Ocenasek, J.; Koumoutsakos, P., Learning probability distributions in continuous evolutionary algorithms -A comparative review, Nat. Comput., 3, 1, 77-112 (2004) · Zbl 1074.68063
[4] Akimoto, Y.; Auger, A.; Hansen, N., Comparison-based natural gradient optimization in high dimension, (Genetic and Evolutionary Computation Conference GECCO’14 (2014), ACM: ACM Vancouver, Canada), URL https://hal.inria.fr/hal-00997835
[5] UQLab (2019), https://www.uqlab.com, (2019-06-13)
[6] EasyVVUQ (2019), https://easyvvuq.readthedocs.io/en/latest/, (2019-06-13)
[7] Liepe, J.; Barnes, C.; Cule, E.; Erguler, K.; Kirk, P.; Toni, T.; Stumpf, M. P., ABC-SysBio—approximate Bayesian computation in python with GPU support, Bioinformatics, 26, 14, 1797-1799 (2010)
[8] Zhang, L. A.; Urbano, A.; Clermont, G.; Swigon, D.; Banerjee, I.; Parker, R. S., APT-MCMC, A C++/python implementation of Markov chain Monte Carlo for parameter identification, Comput. Chem. Eng., 110 (2018)
[9] PSUADE (2019), https://computation.llnl.gov/projects/psuade-uncertainty-quantification, (2019-06-13)
[10] Prudencio, E. E.; Schulz, K. W., The parallel c++ statistical library ‘QUESO’: Quantification of uncertainty for estimation, simulation and optimization, (Euro-Par 2011: Parallel Processing Workshops (2012), Springer Berlin Heidelberg: Springer Berlin Heidelberg Berlin, Heidelberg), 398-407
[11] Stan (2019), https://mc-stan.org, (2019-06-13)
[12] Hadjidoukas, P.; Angelikopoulos, P.; Papadimitriou, C.; Koumoutsakos, P., \( \Pi 4\) U: A High performance computing framework for Bayesian uncertainty quantification of complex models, J. Comput. Phys., 284, 1-21 (2015) · Zbl 1352.65009
[13] Dalbey, K.; Eldred, M. S.; Geraci, G.; Jakeman, J. D.; Maupin, K. A.; Monschke, J. A.; Seidl, D. T.; Swiler, L. P.; Tran, A.; Menhorn, F., Dakota A Multilevel Parallel Object-Oriented Framework for Design Optimization Parameter Estimation Uncertainty Quantification and Sensitivity Analysis: Version 6.12 Theory ManualTech. rep. (2020), Sandia National Lab
[14] Dongarra, J.; Beckman, P.; Moore, T.; Aerts, P.; Aloisio, G.; Andre, J.-C., The international exascale software project roadmap, Int. J. High Perform. Comput. Appl., 25, 1, 3-60 (2011)
[15] Kingma, D. P.; Ba, J., Adam: A method for stochastic optimization, (Bengio, Y.; LeCun, Y., 3rd International Conference on Learning Representations, ICLR 2015, San Diego, CA, USA, May 7-9, 2015, Conference Track Proceedings (2015)), URL http://arxiv.org/abs/1412.6980
[16] Homan, M. D.; Gelman, A., The no-U-turn sampler: Adaptively setting path lengths in Hamiltonian Monte Carlo, J. Mach. Learn. Res., 15, 1, 1593-1623 (2014) · Zbl 1319.60150
[17] Feroz, F.; Hobson, M. P.; Bridges, M., Multinest: An efficient and robust Bayesian inference tool for cosmology and particle physics, Mon. Not. R. Astron. Soc., 398, 4, 1601-1614 (2009), arXiv:https://academic.oup.com/mnras/article-pdf/398/4/1601/3039078/mnras0398-1601.pdf
[18] Wu, S.; Angelikopoulos, P.; Papadimitriou, C.; Koumoutsakos, P., BayesIan annealed sequential importance sampling (BASIS): an unbiased version of transitional Markov chain Monte Carlo, ASCE-ASME J. Risk Uncertain. Eng. Syst. B: Mech. Eng., 4, 1 (2018)
[19] Korali user manual (2021), https://www.cse-lab.ethz.ch/korali/docs/, (2021-01-15)
[20] CSCS piz daint (2019), https://www.cscs.ch/computers/piz-daint/, (30-10-2019)
[21] Aphros: parallel solver for incompressible multiphase flows (2020), https://github.com/cselab/aphros
[22] P. Karnakov, F. Wermelinger, S. Litvinov, P. Koumoutsakos, Aphros: High performance software for multiphase flows with large scale bubble and drop clusters, in: Proceedings of the Platform for Advanced Scientific Computing Conference, 2020, pp. 1-10.
[23] Colella, P.; Graves, D. T.; Keen, B. J.; Modiano, D., A cartesian grid embedded boundary method for hyperbolic conservation laws, J. Comput. Phys., 211, 1, 347-366 (2006) · Zbl 1120.65324
[24] Karnakov, P.; Litvinov, S.; Koumoutsakos, P., A hybrid particle volume-of-fluid method for curvature estimation in multiphase flows, Int. J. Multiph. Flow., 125, Article 103209 pp. (2020)
[25] Hochmuth, R. M.; Worthy, P.; Evans, E. A., Red cell extensional recovery and the determination of membrane viscosity, Biophys. J., 26, 1, 101-114 (1979)
[26] Wälchli, D.; Martin, S. M.; Economides, A.; Amoudruz, L.; Arampatzis, G.; Bian, X.; Koumoutsakos, P., Load balancing in large scale Bayesian inference, (Proceedings of the Platform for Advanced Scientific Computing Conference. Proceedings of the Platform for Advanced Scientific Computing Conference, PASC ’20 (2020), ACM), 1-12
[27] Sigüenza, J.; Mendez, S.; Nicoud, F., How should the optical tweezers experiment be used to characterize the red blood cell membrane mechanics?, Biomech. Model. Mechanobiol., 16, 5, 1645-1657 (2017)
[28] Fedosov, D. A.; Caswell, B.; Karniadakis, G. E., A multiscale red blood cell model with accurate mechanics, rheology, and dynamics, Biophys. J., 98, 10, 2215-2225 (2010)
[29] Hénon, S.; Lenormand, G.; Richert, A.; Gallet, F., A new determination of the shear modulus of the human erythrocyte membrane using optical tweezers, Biophys. J., 76, 2, 1145-1151 (1999)
[30] Wu, S.; Angelikopoulos, P.; Tauriello, G.; Papadimitriou, C.; Koumoutsakos, P., Fusing heterogeneous data for the calibration of molecular dynamics force fields using hierarchical Bayesian models, J. Chem. Phys., 145, 24 (2016)
[31] Alexeev, D.; Amoudruz, L.; Litvinov, S.; Koumoutsakos, P., Mirheo: High-performance mesoscale simulations for microfluidics (2020) · Zbl 1535.76003
[32] Zavadlav, J.; Arampatzis, G.; Koumoutsakos, P., BayesIan selection for coarse-grained models of liquid water, Sci. Rep., 9, 1, 1-10 (2019)
[33] Plimpton, S., Fast parallel algorithms for short – range molecular dynamics, J. Comput. Phys., 117, 1-19 (1995) · Zbl 0830.65120
[34] APT-MCMC (2020), https://apt-mcmc.readthedocs.io/en/latest/, (2020-02-27)
[35] Thijssen, B.; Dijkstra, T. M.H.; Heskes, T.; Wessels, L. F.A., BCM: toolkit for Bayesian analysis of computational models using samplers, BMC Syst. Biol., 10, 1, 100 (2016)
[36] BCM (2019), http://ccb.nki.nl/software/bcm/, (2019-06-14)
[37] Vyshemirsky, V.; Girolami, M., BioBayes: A software package for Bayesian inference in systems biology, Bioinformatics, 24, 17, 1933-1934 (2008)
[38] Richardson, R. A.; Wright, D. W.; Edeling, W.; Jancauskas, V.; Lakhlili, J.; Coveney, P. V., EasyVVUQ: A library for verification, validation and uncertainty quantification in high performance computing, J. Open Res. Softw., 8, 1 (2020)
[39] MUQ - MIT uncertainty quantification library (2020), http://muq.mit.edu, (2020-02-27)
[40] Martinez, G. D.; McKay, J.; Farmer, B.; Scott, P.; Roebber, E.; Putze, A.; Conrad, J., Comparison of statistical sampling methods with ScannerBit, the gambit scanning module, Eur. Phys. J. C, 77, 11 (2017)
[41] The GAMBIT Collaboration, G. D., GAMBIT: The global and modular beyond-the-standard-model inference tool, Eur. Phys. J. C, 77, 11, 784 (2017)
[42] GAMBIT (2019), https://gambit.hepforge.org, (2019-06-13)
[43] Chaospy (2020), https://chaospy.readthedocs.io/en/master/tutorial.html, (2020-02-28)
[44] Tennøe, S.; Halnes, G.; Einevoll, G. T., Uncertainpy: A python toolbox for uncertainty quantification and sensitivity analysis in computational neuroscience, Front. Neuroinformatics, 12 (2018)
[45] Uncertainpy (2019), https://uncertainpy.readthedocs.io, (2019-06-13)
[46] Ghanem, R.; Higdon, D.; Owhadi, H., Handbook of Uncertainty Quantification, Vol. 6 (2017), Springer · Zbl 1372.60001
[47] UQpy (2019), https://github.com/SURGroup/UQpy, (2019-06-13)
[48] P.E. Hadjidoukas, E. Lappas, V.V. Dimakopoulos, A runtime library for platform-independent task parallelism, in: Proceedings of the 20th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, 2012, pp. 229-236.
[49] Adams, B. M.; Stephens, J. A., Dakota Optimization and UQ: Explore and Predict with ConfidenceTech. rep. (2018), Sandia National Laboratories
[50] Hansen, N., The CMA evolution strategy: A tutorial (2016), arXiv:1604.00772
[51] Hart, W. E., An Introduction to the COLIN Optimization InterfaceTech. rep. (2003), Sandia National Laboratories
[52] Nair, A.; Srinivasan, P.; Blackwell, S.; Alcicek, C.; Fearon, R.; De Maria, A.; Panneershelvam, V.; Suleyman, M.; Beattie, C.; Petersen, S., Massively parallel methods for deep reinforcement learning (2015), arXiv:1507.04296
[53] Espeholt, L.; Soyer, H.; Munos, R.; Simonyan, K.; Mnih, V.; Ward, T.; Doron, Y.; Firoiu, V.; Harley, T.; Dunning, I.; Legg, S.; Kavukcuoglu, K., IMPALA: Scalable distributed deep-RL with importance weighted actor-learner architectures (2018), arXiv:1802.01561
[54] Ching, J.; Chen, Y., Transitional Markov chain Monte Carlo method for Bayesian model updating, model class selection, and model averaging, J. Eng. Mech., 133, 7, 816-832 (2007)
[55] MPI forum, https://www.mpi-forum.org/.
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.