qiboteam / rtqem

Impact of error mitigation using a quantum device as a regressor.
3 stars 0 forks source link

RTQEM

Code related to the paper: arXiv:2311.05680.

The rtqem algorithm implements a Real-Time Quantum Error Mitigation procedure to perform multi-dimensional fit in a quantum noisy scenario.

The optimization is gradient-based and makes use of the Adam optimizer.

In a few words, in the RTQEM we use a learning-based quantum error mitigation method (Importance Clifford Sampling) to mitigate both gradients and predictions during the gradient descent execution. In an evolving-noise scenario, it is possible to set a threshold which triggers the re-learning of the noise map when the system has significantly changed since the last learnt map.

A schematic representation of the algorithm follows:

rtqem

Introduction to the usage

The code is organized as follows:

Run an example of RTQEM optimization!

As an example, we provide the instructions to run the uquark fit with and without RTQEM.

The uquark configuration file is already set up to run in RTQEM mode in a strong-noise scenario. In order to run the optimization:

cd src/rtqem/
python training.py uquark

After the execution, some data will be generated:

To run the training without RTQEM, edit the file src/uquark/uquark.conf by replacing the mitigation config. line 9 with:

  "mitigation": {"step":false,"final":false,"method":null, "readout":null},

This will result in a noisy training simulation without RTQEM.

How to customize the training experience?

Many hyper-parameters can be used to customize the training. A detailed list follows: