Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 3.18 KB

File metadata and controls

87 lines (62 loc) · 3.18 KB

Integrating AI and Simulations

Why Couple AI and Simulation?

Active Learning

Or “experiment design”

Choose best simulations to launch

  • Diverse set?
  • Ones that improve ML model?
  • Ones likely to improve quantity of interest?
  • If ML model degrading, collect more data?

Examples:

  • “Machine Learning Inter-Atomic Potentials Generation Driven by Active Learning” by Sivaraman, et al. paper, code
  • "Coarse-Grained Density Functional Theory Predictions via Deep Kernel Learning" by Jackson and Sivaraman. paper, code

Improve sampling of space

Examples:

  • “Deep Learning Hamiltonian Monte Carlo” by Foreman, et al. paper, code
  • “Stream-AI-MD: Streaming AI-driven Adaptive Molecular Simulations for Heterogeneous Computing Platform” by Brace, et al. paper, code

Surrogate modeling

Replace part of simulation with ML surrogate model

  • Expensive part?
  • Inaccurate part? ML model output fed back into rest of simulation

Example: “A turbulent eddy-viscosity surrogate modeling framework for RANS simulations” By Maulik, et al. paper, code

Reduce I/O

  • Apply ML model to save compressed simulation results
  • Train online during simulation (skip I/O bottleneck)
  • In situ analysis giving feedback on simulations before completed
    • Need to adjust something?

Example: “In Situ Compression Artifact Removal in Scientific Data Using DeepTransfer Learning and Experience Replay” by Madireddy, et al. paper

Control Simulation with ML

  • Select simulation parameters
  • Select numerical scheme

Example: “Distributed Deep Reinforcement Learning for Simulation Control” By Pawar & Maulik paper, code

Other Use Cases

  • Data assimilation
  • Augmenting simulation with ML closure/discrepancy model
  • Solver as part of ML loss function

Ways to Couple AI and Simulation

See: “A terminology for in situ visualization and analysis systems” by Childs et al. 2020

How Close is the Coupling?

Proximity

  • On node
  • Off node, same computing resource
  • Distinct computing resource

Data Access

  • Direct: share same logical memory space (may or may not require copy)
  • Indirect: distinct logical memory
  • Either way: need to synchronize data

Division of Execution

  • Space Division (Different physical compute resources)

    • Can allocate appropriate resource to each
    • But need to keep both utilized & transfer data
  • Time Division (Some compute resources alternate simulation vs. AI)

    • Less or no synchronization & data transfer
    • But always blocking one or the other

Example Modes

Example Modes