by Dr Mikkel Lykkegaard
Updated 17 August 2023
Large Scale Uncertainty Quantification
In this article, I give a brief overview of one of my favourite software packages for Uncertainty Quantification of large-scale simulations, UM-Bridge. UM-Bridge makes it possible to easily deploy and interrogate large-scale simulations and to quantify the uncertainty of otherwise intractable numerical models. UM-Bridge provides large-scale UQ without tears.
Small But Significant
If any of you, dear readers, have ever tried to quantify the uncertainty of large-scale computer models, you will have known the pain of deploying the forward model and making it play nicely with your UQ software. Most UQ algorithms abstract the inner workings of a computer model into the conveniently compact
where are the observations, are the model paramater, is the measurement noise, and is the ubiqutous forward operator. Depending on your UQ algorithm of choice, you may also require the gradient , Jacobian action , and Hessian action .
While this looks deceivingly simple in this very compact form, the symbols can contain absolutely anything, from a simple linear model to solving the Navier-Stokes Equations. The symbols simply describe the processes that gave rise to the data, whatever those processes may be.
Most UQ algorithms require evaluating these symbols for different values of many times. So many times that it cannot usually be done by hand, e.g. by changing the input files for the computer model manually and recording the output. Moreover, inverse UQ and adaptive UQ methods require a "ping-pong" interaction between the UQ software and the forward model, where the values of cannot be determined in advance. Hence, the first step of UQ is often connecting the UQ software programmatically with the forward model, so that this process can be automated. And this is no easy task, requiring intricate knowledge of both the UQ software and the forward model. But what if I told you that there is an easy-to-use and scalable framwork that does most of this work for you? Enter UM-Bridge.
UM-Bridge is an open-source software framework that enables seamless integration between UQ software packages such as , , , , , and and any containerised modelling software, no matter which language either is written in. Additionally, UM-Bridge makes use of the latest technology to efficiently and automatically parallellise everything. You can even run your UQ software on a laptop, while the expensive simulations are running in the cloud.
This allows you to completely abstract away the deployment of the forward model and focus on UQ. Or, if you are a computer model developer, to simply containerise your model and hand it over to a UQ expert. This can lead to massive speed-ups in your UQ workflow. UM-Bridge provides a simple codification of the essential components of most UQ algorithms and a straightforward way to implement them. Once you have your UM-Bridge pipeline set up, you can easily swap out components. Is there a new version of your forward model? No problem, just update the container image! Want to try a different UQ algorithm or software? Just plug the forward model server into another UM-Bridge client!
Linus and Anne, the developers of UM-Bridge, have created comprehensive documentation, tutorials and an extensive benchmark library of various large-scale UQ examples, from a Tsunami source identification problem to a Tritium desorption inverse problem from fusion power materials science. These benchmarks can help you set up your own UM-Bridge pipeline, and you can have your UQ algorithm running with the UM-Bridge client in a matter of hours!
digiLab ❤️ UM-Bridge
Here at digiLab, we use UM-Bridge as a natural part of our UQ workflow. The Tritium desorption benchmark was developed in-house in collaboration with the Advanced Computing division of the UK Atomic Energy Authority (UKAEA) as part of the organisation's efforts to build their internal UQ capacity. The forward model, which is built on the MOOSE Finite Element framework was already containerised when we began the collaboration, and it was a matter of hours before we could get cracking with the UQ.
We simply added the UM-Bridge server to the container, pulled up our favourite Quasi-Monte Carlo software, attached it to the UM-Bridge client and soon the results were rolling in. Just press play.
I love Uncertainty Quantification. But I don't love fiddling around with complex numerical solver routines. UM-Bridge takes the pain away from doing UQ with complex models. Thanks Linus and Anne for making this possible!
If you found this post helpful, you might enjoy some of these other news updates.
Python In Excel, What Impact Will It Have?
Exploring the likely uses and limitations of Python in Excel
Expanding our AI Data Assistant to use Prompt Templates and Chains
Part 2 - Using prompt templates, chains and tools to supercharge our assistant's capabilities
Dr Ana Rojo-Echeburúa
What is the Curse of Dimensionality in Machine Learning?
An exploration of the Curse of Dimensionality and how it influences data collection and model selection
Prof Tim Dodwell