Crédit :IBM
L'informatique quantique est sur le point de s'attaquer à des problèmes importants qui ne peuvent pas être calculés efficacement ou pratiquement par d'autres, moyens plus classiques. Dépasser ce seuil nous obligera à construire, tester et faire fonctionner des ordinateurs quantiques fiables avec 50 qubits ou plus.
La réalisation de ce potentiel nécessitera des avancées majeures tant en science qu'en ingénierie. Pour aider à faire ces sauts, des méthodes sont nécessaires pour tester les dispositifs quantiques et comparer les comportements observés avec les comportements souhaités afin que la conception, fabrication, et le fonctionnement de ces dispositifs peut être amélioré au fil du temps. En particulier, pour tester si les résultats mesurés observés sur un dispositif quantique sont cohérents avec le circuit quantique en cours d'exécution, il faut pouvoir calculer les amplitudes quantiques attendues (nombres complexes utilisés pour décrire le comportement des systèmes) pour ces résultats afin de tester des circuits arbitraires. Les circuits quantiques peuvent être considérés comme des ensembles d'instructions (portes) qui sont envoyées aux dispositifs quantiques pour effectuer des calculs.
Ce besoin nous a posé un problème. À environ 50 qubits, les méthodes existantes de calcul des amplitudes quantiques nécessitent soit trop de calculs pour être pratiques, ou plus de mémoire que ce qui est disponible sur n'importe quel supercalculateur existant, ou les deux. IBM Research a réuni cette année une équipe pour étudier ce problème, ciblant les circuits à faible profondeur pour les systèmes de 49 qubits et au-delà. Nous avons publié notre approche pour résoudre ce problème sur arXiv :arxiv.org/abs/1710.05867.
Je faisais partie de cette équipe et j'ai eu une idée clé à un moment apparemment sans importance.
Visualiser les portes quantiques comme une brosse à poils
Un qubit, ou bit quantique, est l'unité d'information de base en informatique quantique, tout comme l'est un peu dans l'informatique classique. Un qubit, cependant, peut représenter à la fois 0 et 1 simultanément - en fait, dans des combinaisons pondérées (par exemple, 37%-0, 63%-1). Deux qubits peuvent représenter quatre valeurs simultanément :00, 01, dix, et 11, à nouveau dans des combinaisons pondérées. De la même manière, trois qubits peuvent représenter 2^3, ou huit valeurs simultanément :000, 001, 010, 011, 100, 101, 110, 111. Cinquante qubits peuvent représenter plus d'un quadrillion de valeurs simultanément, et 100 qubits sur un quadrillion au carré.
Lorsque les qubits sont mesurés, leurs états quantiques s'effondrent à une seule de ces valeurs représentées, où les poids des valeurs – les amplitudes quantiques – définissent les probabilités d'observer ces valeurs. La grande promesse de l'informatique quantique est la possibilité d'effectuer des calculs parallèles sur un nombre exponentiel de résultats possibles, pour produire des états quantiques où les résultats souhaités des calculs ont de grandes amplitudes et, Par conséquent, seront observés avec une forte probabilité lorsque les qubits sont mesurés.
Mon moment apparemment sans importance est arrivé une nuit en faisant la vaisselle et en utilisant une brosse à poils pour nettoyer un grand verre. Il m'est soudain venu à l'esprit que si l'on regarde les portes appliquées à un qubit donné dans un circuit de grille, les portes forment un motif de brosse à poils où les poils sont les portes enchevêtrées qui sont appliquées à ce qubit. Mathématiquement, cette « brosse à poils » de grilles correspond à un tenseur et les poils à des indices tenseurs. Un tenseur en mathématiques correspond essentiellement à un tableau à n dimensions en informatique.
Cette idée a immédiatement conduit à l'idée de séparer un circuit de grille en « brosses à poils, " un pour chaque qubit, puis calcul des tenseurs correspondants, et enfin combiner les tenseurs pour chaque qubit pour calculer les amplitudes quantiques pour l'ensemble du circuit. Le lendemain matin, j'avais compris comment calculer les amplitudes pour un 64-qubit, circuit de profondeur 10 utilisant seulement un gigaoctet de mémoire en séparant des groupes de 16 qubits. À partir de là, l'idée a fait boule de neige en des manières plus générales de partitionner les circuits en sous-circuits, simuler des sous-circuits séparément et combiner les résultats des sous-circuits dans divers ordres pour calculer les amplitudes souhaitées.
Le résultat net est une méthode de calcul des amplitudes quantiques qui nécessite des ordres de grandeur moins de mémoire que les méthodes précédentes tout en étant comparable au meilleur de ces méthodes, en termes de quantité de calcul effectuée par amplitude. Ces besoins en mémoire plus petits sont atteints en utilisant le découpage tensoriel en combinaison avec les informations mentionnées ci-dessus pour calculer les amplitudes de sortie des circuits en tranches, sans avoir à calculer et/ou stocker toutes les amplitudes à la fois.
Lors du calcul des amplitudes pour les résultats mesurés, seules les tranches qui correspondent aux résultats réels mesurés doivent être calculées. En d'autres termes, dans le but d'évaluer les performances d'un dispositif quantique sur la base de résultats mesurés, une simulation complète n'est pas nécessaire et il n'est pas nécessaire d'engager des coûts de calcul exponentiels en nombre de qubits. C'est un avantage important de notre approche.
Cependant, si l'on est réellement intéressé à effectuer des simulations complètes, notre méthode de découpage présente un autre avantage en ce sens que les tranches peuvent être calculées de manière totalement indépendante d'une manière embarrassante en parallèle, ce qui signifie qu'elles peuvent être facilement séparées, ce qui permet de répartir les calculs sur un réseau de ressources informatiques hautes performances faiblement couplées. Cette possibilité change complètement l'économie des simulations complètes, permettant de simuler des circuits quantiques que l'on croyait auparavant impossibles à simuler.
Simulation de circuits 49 et 56 qubits à l'aide d'un supercalculateur
Notre équipe de recherche a contacté le Lawrence Livermore National Laboratory (LLNL) et l'Université de l'Illinois pour transformer cette dernière possibilité en réalité. En utilisant le supercalculateur Vulcan du LLNL et le Cyclops Tensor Framework développé à l'origine à l'Université de Californie, Berkeley pour faire les manipulations du tenseur, nous avons d'abord choisi de simuler un circuit aléatoire universel de 49 qubits de profondeur 27, qui a été proposé comme une démonstration de la soi-disant suprématie quantique. Pour cette simulation, les calculs ont été divisés en 2^11 tranches avec 2^38 amplitudes calculées par tranche; 4,5 téraoctets étaient nécessaires pour contenir les valeurs du tenseur. Les calculs de tranches ont été parallélisés de manière embarrassante sur six groupes de quatre racks de processeurs, où chaque groupe de quatre racks en comprenait 4, 096 nœuds de traitement avec un total de 64 téraoctets de mémoire. De tels circuits de 49 qubits étaient auparavant considérés comme impossibles à simuler car les méthodes précédentes auraient nécessité huit pétaoctets de mémoire, qui dépasse la capacité des supercalculateurs existants.
Pour notre prochaine démonstration, nous avons choisi un circuit aléatoire universel de 56 qubits de profondeur 23, ce qui aurait été impossible à simuler avec les méthodes précédentes car un Exaoctet de mémoire aurait été nécessaire. Les calculs ont été divisés en 2^19 tranches de 2^37 amplitudes chacune. Mais dans ce cas, nous avons choisi de calculer les amplitudes pour une seule tranche choisie arbitrairement à des fins de démonstration; 3,0 téraoctets étaient nécessaires pour contenir les valeurs de tenseur et les calculs ont été effectués sur deux racks de 2, 048 nœuds de traitement avec un total de 32 téraoctets de mémoire.
En plus de ces démonstrations, nous avons également découvert des moyens de partitionner le circuit de 49 qubits afin que seulement 96 Go de mémoire soient nécessaires pour sa simulation, avec seulement un peu plus du double des exigences de calcul. Nous avons également découvert un partitionnement qui nécessite 162 gigaoctets pour lequel il n'y a pratiquement aucune augmentation des exigences de calcul. Il existe donc la possibilité de réaliser désormais ces simulations sur des clusters de serveurs haut de gamme, au lieu d'utiliser des supercalculateurs.
Les progrès de la simulation contribueront aux progrès du matériel quantique
Bien que l'étendue de ce qui est maintenant classiquement calculable à l'aide de nos méthodes reste encore à déterminer, il est clair que cette avancée nous a permis de franchir un seuil dans la simulation de circuits quantiques à faible profondeur de 49 qubits et plus. De manière pragmatique, les méthodes faciliteront le test et la compréhension du fonctionnement des dispositifs physiques. Ils faciliteront également le développement et le débogage d'algorithmes à faible profondeur pour les problèmes où l'informatique quantique a le potentiel de fournir un réel avantage par rapport aux approches conventionnelles.
Au moins pour les dispositifs quantiques en cours de développement ou sur les planches à dessin, la capacité d'effectuer ces simulations est maintenant devenue une question de quantité de ressources de calcul qui peuvent être achetées de manière économique et non de savoir si les simulations peuvent être physiquement effectuées. Par exemple, dans le cas de notre simulation à 56 qubits, une simulation complète n'a pas été effectuée simplement parce que notre temps alloué sur Vulcan était épuisé. Il ne fait aucun doute qu'une simulation complète de circuit à faible profondeur de 56 qubits peut désormais être physiquement effectuée. Les temps d'exécution de ces simulations ne sont pas non plus limités physiquement par les ressources disponibles sur des systèmes informatiques isolés. Parce que les calculs de tranche peuvent être parallélisés de manière embarrassante, ils peuvent être distribués sur des réseaux de systèmes faiblement couplés avec une communication minimale, permettant d'atteindre une forte évolutivité jusqu'au nombre de tranches. La simulation quantique basée sur le cloud peut finalement permettre de simuler des circuits quantiques assez grands.
Cela signifie-t-il que nous n'avons pas besoin de véritables ordinateurs quantiques ? Pas du tout. Nous en aurons absolument besoin ! Selon le type particulier d'application, nous aurons besoin d'ordinateurs quantiques physiques pour effectuer des calculs qui nécessiteront soit trop de mémoire, ou trop de puissance de traitement pour être exécutée économiquement sur des ordinateurs classiques. Et, à un moment donné, nous aurons vraiment la preuve que les ordinateurs quantiques auront un avantage sur les ordinateurs classiques pour certaines applications pratiques, dans un sens très réel.
Ce n'est pas une notion artificielle de « suprématie quantique ». Plutôt, nous sommes maintenant dans une période où nous nous préparons à tirer pleinement parti du matériel quantique, des capacités logicielles et d'ingénierie que nous mettons en ligne. La simulation fait déjà partie intégrante de cette phase de préparation quantique.
IBM a rendu disponible l'accès aux simulateurs et au matériel réel de cinq et 16 qubits dans le cadre de l'expérience IBM Q, qui fournit des ressources pour apprendre et expérimenter. Nous avons également un SDK quantique, ou Quantum Information Software Kit (QISKit) pour faciliter la construction de circuits. Pour en savoir plus sur la façon de commencer, nous avons fourni des exemples de notebook Jupyter sur github.
À mesure que la technologie des appareils progresse, nous allons entrer dans une période d'avantage quantique où un large éventail d'entreprises, les scientifiques et les ingénieurs utiliseront pleinement le matériel et la puissance de l'informatique quantique pour continuer à résoudre des problèmes de plus en plus difficiles et complexes. Au cours de cette phase d'avantage quantique, des capacités de simulation avancées seront nécessaires pour soutenir à la fois la recherche et le développement de nouveaux algorithmes quantiques ainsi que l'avancement de la technologie des dispositifs elle-même.