Quantum computing architecture and system software are evolving at a rapid pace. Less than ten years back, the quantum computing model appeared to be primarily a theoretical endeavor for many of us. But, a lot has changed in the last ten years, small-scale quantum computing devices have been already realized in practice and several efforts to build mid-scale quantum computers are underway. An extraordinary amount of financial investment from both industry and governments is driving the advancement in the quantum computing domain. But, the promise of quantum computing is also quantum in nature: it appears to unlock a lot of potentials and poses a lot of challenges, remarkably both at the same time!
This blog post discusses one of the core challenges (output state classification) and our attempt at mitigating this challenge [1]. Please note that (a) much of the discussion is focused around IBM’s superconducting qubit technology-based realization of quantum computers, and (b) the relevant fundamental principles of how quantum devices function is not covered in this blog post, in an attempt to raise inquisitiveness in the broader community while limiting the exposure of technical complexity. But, curious readers are encouraged to refer to our ICCAD 2020 and USENIX ATC 2020 papers for details [1,2].
What is the problem and why it matters?
After a quantum algorithm has completed its execution, its final state is inferred via “measuring” the qubit. The qubit collapses to one of the states: |0⟩ or |1⟩. To measure the qubit, a readout pulse is applied on the readout channel, and the corresponding signal, which measures the energy state of the qubit, is recorded. The recorded signal is then summed up and a single value is returned. This value is a complex number with real and imaginary components. It is used to determine if the measured state represents the |0⟩ state or the |1⟩ state.
Traditionally, during the calibration period, a set of benchmarks are run to build a linear output classifier — these benchmarks readout a qubit prepared in |0⟩ state without performing any gate operation and readout a qubit prepared in |0⟩ state after performing a gate operation to put it into |1⟩ state. A linear classifier is built to distinguish between |0⟩ and |1⟩ states (as shown in Fig. 1). We notice that not all samples are correctly classified; for example, some blue dots are classified as |1⟩ state although the no quantum gate operation was performed on the qubit prepared to be in the |0⟩ state. It is not difficult to imagine that a bad classifier can negatively affect the program’s “perceived” output — worse than what they were “measured” to be. A high-quality classifier is needed — even though a classifier by itself does not mitigate the errors that occur during the quantum gate operations — to reduce the impact of errors on the program output.
Incorrect output state classification means the program output is potentially wrong. A quantum program, no matter how fast it runs compared to its classical counterpart, is useless if it is producing incorrect results — worse, if we don’t know that the output was wrong.
What is the approach we are arguing for?
Our solution, DisQ, is built on two key insights. First, our experimental effort revealed that the observed error is highly correlated with the output probability of state |0⟩. For example, the median error when the output probability of state |0⟩ is 0.9-1 is 3.5% but the median error when the output probability of state |0⟩ is 0-0.1 is 12.5% (Fig. 2). Note that when the output probability of state |0⟩ is 0-0.1, it means that state |1⟩ is expected for most of the time. But, due to the coherence properties of qubits, state |1⟩ is more likely to lose its coherence and attain the ground state. An algorithm’s output probability of states cannot be always controlled or modified as it is an intrinsic property of the algorithm. Therefore, the output state classifier should be developed such that similar error rates are observed regardless of the output probability of state |0⟩. Second, as shown in Fig. 2, the variability in error rate is high for runs with similar output probabilities of state |0⟩. A reasonable classifier should attempt to minimize this variance.
DisQ takes three simple steps to generate an output classifier (Fig. 3). First, DisQ generates different micro-benchmarks with a diverse range of output probabilities of state |0⟩ to cover the entire spectrum of possible output state probabilities (related to our earlier observations). Second, these micro-benchmarks are executed on the qubit which needs to be calibrated and the raw data is collected. Finally, DisQ runs a black-box simulated annealing engine that optimizes the parameters of the classifier with the objective to minimize both the median error and the variance of the error.
A fundamental question is why DisQ does not choose a linear classifier and what does it do instead? DisQ argues that it might be a better idea to drop certain trial outputs — unlike traditional classifiers. As Fig. 4 shows, there are certain zones on the complex plane where both, points belonging to state |0⟩ and points belonging to state |1⟩, exist with approx. similar density. Thus, these zones are not ideal for classification purposes. DisQ ignores such high-overlap zones and instead, focuses on low-overlap zones — something that a linear classifier cannot achieve. Therefore, DisQ proposes a circle classifier (C-DisQ) and an ellipse classifier (E-DisQ), as illustrated in Fig. 5. Each classifier has different numbers of parameters that need to be determined. Determining these parameters, while minimizing the error rate and error variance is solved by DisQ using a black-box simulated annealing approach. Our results on the IBM quantum computer with OpenPulse support that DisQ can significantly reduce the median error rate, the 75th percentile error rate, and the variance in error rate.
Where do we need your help?
Despite the experimental evidence that DisQ appears to be a reasonably well-performing classifier, DisQ is just a start. We think DisQ raises more questions than it answers and creates more opportunities than it has leveraged.
There are three major research inquiries that DisQ opens up: (1) How do we develop a more robust benchmarking methodology and learning-based models to classify output states? How will such an approach scale to hundreds of qubits? What are the overhead and accuracy trade-offs? (2) How often do we need to need to update these classifiers and how portable are they? DisQ shows that frequent updates are useful, but we don’t have a complete understanding of the trade-offs and the portability of such classifiers. (3) How can end-users leverage pulse-level control to customize the classifier for their algorithms, and should they? Which algorithms will benefit from such an approach and which ones do not need this level of investment?
Leveraging pulse-level control is the key to making quantum computing useful. Now is the time to build and work as a community to make further advances in this area. How much we can do is how much we can imagine!
[1] Patel et al., “DISQ: A Novel Quantum Output State Classification Method on IBM Quantum Computers using OpenPulse”, ICCAD, 2020.
[2] Patel et al., “UREQA: Leveraging Operation-Aware Error Rates for Effective Quantum Circuit Mapping on NISQ-Era Quantum Computers”, USENIX ATC, 2020.
About the author: Devesh Tiwari directs the Goodwill Computing Lab at Northeastern University, where his group focuses on improving the efficiency and cost-effectiveness of high performance computing and storage systems, more recently of quantum computing systems. Before joining Northeastern faculty, Devesh was a staff scientist at the United States Department of Energy (DOE) Oak Ridge National Laboratory (ORNL). Goodwill Computing Lab: https://goodwillcomputinglab.github.io Email address: d.tiwari@northeastern.edu