Skip to content

About

The QIML extension project undertaken in collaboration with NVIDIA.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Quantum-Informed Machine Learning (QIML) — NVIDIA Collaboration Edition

This repository hosts a streamlined version of the Quantum-Informed Machine Learning (QIML) framework, developed at University College London (UCL) – Centre for Computational Science (CCS), for collaborative work with NVIDIA and LRZ. QIML represents a hybrid quantum–classical paradigm designed to model complex, chaotic dynamical systems with long-term stability beyond the reach of classical AI/ML approaches.

1. Project Vision and Next Steps

The immediate and most critical extension of this work is to scale up the validated QIML framework from the current cases to large-scale, real-world problems.
The next logical target domain is weather and climate prediction, where long-horizon stability and physical consistency remain open challenges. This direction is significant because it allows us to demonstrate the practical value of hybrid quantum–classical models on problems of immense scientific and economic importance.

2. Technical Overview

  • Language: Python
  • Core Libraries:
    • Classical components: PyTorch (Koopman model, data handling, training loops)
    • Quantum components: cuda-Q (quantum circuit design, simulation, and execution)
  • GPU Acceleration:
    Fully integrated through PyTorch’s CUDA back-end.
    Classical–quantum coupling is achieved via a hybrid training loop where the GPU-based classical optimiser interacts directly with QPU-generated priors.

3. Setup and Run

Follow the steps below to reproduce and extend the QIML workflow.

1. Set up the environment

conda env create -f environment.yml
conda activate qiml

2. Prepare the data

Download the required TCF dataset (Turbulent Chaotic Flow).
Refer to internal documentation or data-sharing instructions for the appropriate download link and directory structure.
Ensure the dataset is placed in the expected path before training.

3. Train the Quantum Prior

Revise the quantum component into cuda-q and run the quantum prior training script:

python script/Q-prior_tcf.py

This step trains the quantum generator to learn the invariant statistical structure of the system.
Upon completion, the trained quantum prior will be stored automatically under the configured output directory.

4. Train the QIML Model

After obtaining the quantum prior, launch the main QIML training routine:

python script/train_QIML_TCF.py

This stage integrates the learned quantum prior with the classical Koopman-based model to produce a stable hybrid predictor.

5. Visualise the Results

Use the visualisation tools to test, inspect and analyse the outcomes:

python visualise/visualization_TCF.ipynb

4. Citation

If you use or build upon this work, please cite the QIML paper:

Wang, M., Xue, X., Coveney, P., et al.
Quantum-Informed Machine Learning for Predicting Spatiotemporal Chaos with Practical Quantum Advantage (2025).
arXiv:2507.19861.

© 2025 UCL Centre for Computational Science (CCS).
Developed in collaboration with NVIDIA and LRZ.

About

The QIML extension project undertaken in collaboration with NVIDIA.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages