by Jukka K. Nurminen, Arianne Meijer, Ilmo Salmenperä and Leo Becker (University of Helsinki)
As quantum computers are developing, the need for quantum software is becoming increasingly important. To take advantage of the new hardware, software developers are faced with new questions: Can quantum computing be useful for my problem? How do I formulate my problem to a quantum computer and interpret its answer? How do I integrate, test, monitor, and maintain quantum software? Our research at the Department of Computer Science at the University of Helsinki is investigating these questions.
One of the challenges with developing quantum software is to find the right abstraction. A gap exists between the mathematical formalism used by physicists and the approach taken by software developers. In one experiment we tried to hide quantum computing completely from the software developer and use an automated quantum offloading system to detect code to run on quantum hardware [1]. While detecting and compiling code for parallel execution on GPU hardware is rather easy, the problem of automatically detecting code that benefits from quantum hardware is much more difficult. It would also need highly reliable and powerful quantum computers to be useful.
For shorter-term gains, the NISQ algorithms are an obvious target. To get the maximum benefit of the present limited quantum hardware we are both improving the existing algorithms so that they use fewer resources and optimising the quantum programs to make better use of the existing resources on a quantum computer.
In terms of improving algorithms, we are looking at variational quantum eigensolvers (VQE) as an example NISQ algorithm that has the potential to be a useful application of quantum computers. The VQE algorithm is used for simulating molecules on the quantum level of interatomic interactions. It works by running a small quantum program on a quantum computer and then using machine learning to optimise the parameters of the program until it finds the right solution. This is a very popular research field and many variations of the VQE algorithm have been proposed. Right now, it is difficult to compare VQE algorithms and find the best for a given task, let alone figure out why it is doing better than the others. For that reason, we are building a benchmarking system for VQE algorithms: QuantMark [L1]. From the differences that can be found between algorithms on QuantMark, we might be able to design new algorithms based on those new insights.
Figure 1: Quantum Annealers can be useful as a part of the pretraining process of Deep Belief Networks (DBN), where quantum annealing is used to estimate the model distribution of the singular RBMs, which are used to form the initial parameters of the DBN. Afterwards the model can be trained using classical methods, resulting in a machine learning model compatible with classical computers.
Then, when we have the quantum program to run on the quantum computer, the task is to make that program run efficiently on the quantum computer. To this end, we are researching new compilation methods specific to quantum computers. Some compiling methods for classical computing can be adjusted to work for quantum computers, such as gate scheduling (i.e. determining the order in which operations are performed). However, some are specific to quantum computers, such as the inability to copy a qubit because of the no-cloning theory. Combining the inability to copy with the fact that limited connectivity in quantum computers only allows operation between a few specific qubits (rather than between arbitrary qubits) means that preparing qubits in particular registers needs to be done carefully. This cannot always be done so that all needed operations are allowed, in which case the quantum program needs to be adjusted to make it work. For example, it is possible to add operations to the program that move the qubits to a different register. However, this needs to be done optimally to avoid introducing more error by each operation to the outcome or running out of calculation time and losing the qubit altogether (decoherence). These are new and difficult problems that we did not have with classical computing. Therefore, we can still make a lot of progress in research on quantum compilation methods.
Figure 2: We use a variant of the Unit Dropout method, where Smax units are “dropped” stochastically for the duration of a single batch. This allows for larger layer sizes to be embedded to quantum annealing devices than would be conventionally possible.
Machine learning with its large computational needs is an interesting application domain. Quantum Annealing devices have been shown to have potential benefits over classical algorithms when training Restricted Boltzmann Machines [2]. We have been studying if a common weight regularisation method, called the unit dropout method, can be used to deal with the challenges of limited device sizes. The built-in randomness of quantum computing seems to have a positive influence on the operation of the algorithm making the dropout method work better.
Link:
[L1] QuantMark benchmarking environment for VQE algorithms:
https://github.com/quantum-ohtu/QuantMark/blob/main/QRE_2021_Demo.ipynb
References:
[1] J. Speer, J.K. Nurminen: “Program Equivalence Checking for the Facilitation of Quantum Offloading, 2021 IEEE 11th Annual Computing and Communication Workshop and Conference https://researchportal.helsinki.fi/files/159680541/Jon_Speer_Quantum_Offloading.pdf
[2] I. Salmenperä: “Training Quantum Restricted Boltzmann Machines Using Dropout Method”, Helsingin yliopisto, 2021 https://helda.helsinki.fi/handle/10138/329796
Please contact:
Jukka K Nurminen
University of Helsinki