product: VIPERS
Varied Interface & Phenomenology Engineering Relationship Suite
What is VIPERS
VIPERS is an expandable collection of surrogates with a common Python-based user interface.
A surrogate model is an engineering method used when an outcome of interest cannot be easily or directly calculated. In such cases, a surrogate model is used in place of a high fidelity physics model. Machine learning surrogates are often used in place of physics calculations when speed or memory is a priority. In particular, one of our use cases replaces the time-series point calculation of a physics model requiring nearly half a million high performance CPU hours with a trained surrogate that calculates, within acceptable error tolerance, the series in seconds on a laptop.
Training Surrogates from Galaxy
In addition to its command-line interface, VIPERS can be connected to other systems. For example, on the side of surrogate development, VIPERS includes a Galaxy interface. The Galaxy framework is a suite of tools and web services that address the main aspects of a simulation workflow across multiple desktop and dedicated high-performance computing (HPC) systems. Under the hood, Galaxy takes care of system differences in secure port software, Portable Batch System (PBS) job scripts, file synchronization and other system specific details that are non-trivial barriers to usage of HPC systems.
VIPERS integrates tightly into the Galaxy workflow for training surrogates using skins that provide immediate help and feedback, but can also be used for Galaxy or other tools using a command line interface.
Leveraging Search Algorithms of Dakota
Galaxy is backed by Dakota, an optimization tool developed at Sandia National Laboratories. Working together, Galaxy and Dakota can search the VIPERS surrogate parameter space to find values that give the best fit. In machine learning, this is known as “model selection”. This method intelligently explores combinations of surrogate parameters. The model with the best characteristics is automatically selected. The user can override defaults, specify particular parameters, specify parameter search ranges, search methods, and the definition of “best characteristics”.
Galaxy and Dakota together provide scalable optimization of VIPERS surrogates from a laptop to HPCs.
Using a Trained VIPERS Model in AFSIM
AFSIM (Advanced Framework for Simulation, Integration and Modeling software), for example, is as a typical consumer for trained VIPERS surrogate models. [The screen shot to the left, taken from https://www.wpafb.af.mil/News/Art/igphoto/2001709929/, the Wright-Patterson AFB web site, is a view of AFSIM.] VIPERS includes an AFSIM plug-in interface enabling smooth workflow integration. AFSIM configuration does not need to change when a surrogate model is updated. This allows development of AFSIM simulations before real data is available. This also supports scalability by allowing an unchanged script to migrate from desktop to supercomputer and/or unclassified to classified.
While the VIPERS-AFSIM plug-in is a seamless workflow, any application that supports a Python or command-line interface is easily integrated with VIPERS.
Using Error
Error estimates are generated directly in some surrogates, such as Gaussian Process. Additionally, error estimates are generated for all surrogate processes via the common surrogate training wrapper. In both cases, the error is expressed as a function of the independent variables. In cases where resampling, either manually through an external process or automatededly through Galaxy driving physics model runs, these error estimates can be used in a feedback loop to minimize data collection. While this work is ongoing, early results are showing some real life applications where data requirements can be reduced by over two orders of magnitude without loss in fidelity.