Accepted to NeurIPS 2025 as a Spotlight Paperπ
[Paper] [Poster] [Dataset on Hugging Face (BubbleML 2.0)]
A transformer model for long range forecasting of boiling phenomena (an inherently chaotic, multiphase process central to energy and thermal systems) that generalizes across different liquids such as dielectrics and refrigerants.
Figure 1: Overview of BubbleML 2.0 dataset and Bubbleformer downstream tasks
Figure 2: Task overview showing the prediction and forecasting problem setup
This work builds upon BubbleML, which was accepted as a NeurIPS 2023 Datasets and Benchmarks Spotlight. BubbleML introduced the first large-scale multiphase boiling dataset for machine learning research.
Bubbleformer is a transformer-based spatiotemporal model that forecasts stable and long-range boiling dynamics (including nucleation, liquid-vapor interface evolution, and heat transfer) without dependence on simulation data during inference. The project combines:
Together, they enable machine learning models to generalize across different fluids and physical configurations, setting new benchmarks for ML-based modeling of complex thermophysical systems.
Bubbleformer makes three core contributions to the field:
The primary model in Bubbleformer is:
BubbleML 2.0 is the most comprehensive boiling dataset to date, significantly expanding the original BubbleML with new fluids, boiling configurations, and flow regimes.
For additional details on boundary conditions, numerical methods, and experimental validation, please refer to the bubbleformer paper Appendix B.
You can use uv to setup the python environment and install dependencies.
uv venv
source .venv/bin/activate
uv sync
uv pip install -e .
.
βββ bubbleformer/ # Main package directory
β βββ config/ # Configuration files
β β βββ data_cfg/ # Dataset configurations
β β βββ model_cfg/ # Model configurations
β β βββ optim_cfg/ # Optimizer configurations
β β βββ scheduler_cfg/ # Learning rate scheduler configurations
β βββ data/ # Data loading and processing modules
β βββ layers/ # Model layer implementations
β βββ models/ # Model architecture implementations
β βββ utils/ # Utility functions (losses, plotting, etc.)
βββ env/ # Environment configuration files
βββ examples/ # Example notebooks
βββ samples/ # Sample data files
βββ scripts/ # Training and inference scripts
To train a model using the default configuration:
python scripts/train.py
To train with a specific configuration:
python scripts/train.py nodes=1 devices=1 max_epochs=400 batch_size=8
The repository provides two ways to run inference:
python scripts/inference.py --model_path /path/to/model --data_path /path/to/data
scripts/inference_autoregressive.ipynb