Wat is de Microsoft Quantum-hulpbronnenraming?

Kwantumcomputers zijn gevoelig voor ruis en fouten, omdat afzonderlijke qubits zeer gevoelig zijn voor wijzigingen in omgevingsomstandigheden. Fouttolerante kwantumcomputing vereist algoritmen die gebruikmaken van QEC-codes (Quantum Error Correction). Met deze codes worden logische qubits gebouwd en gebruikt uit verzamelingen van afzonderlijke fysieke qubits. Logische qubits corrigeren fouten terwijl een programma wordt uitgevoerd op een kwantumcomputer, zodat kwantumberekeningen betrouwbare resultaten kunnen bieden.

De Microsoft Quantum resource estimator is een opensource-hulpprogramma in het Microsoft Quantum Development-kit (QDK)Python-pakket waarmee u de resources kunt schatten die nodig zijn om een kwantumprogramma uit te voeren op een fouttolerante kwantumcomputer. Foutcorrectiecodes verhogen het aantal fysieke qubits en de uitvoeringstijd van een kwantumalgoritme. De resource-estimator bepaalt hoeveel fysieke qubits en hoeveel tijd er nodig is om een kwantumtoepassing uit te voeren op specifieke hardware met een bepaald foutcorrectieschema.

Met de kwantumresource-estimator kunt u qubittechnologieën, kwantumfoutcorrectieschema's en hardwaretechnologieën vergelijken om inzicht te krijgen in de impact op de resources die nodig zijn om een kwantumprogramma uit te voeren.

Hoe werkt de kwantumresource-estimator?

De resource-estimator is ontworpen rond een gelaagde modelleringsbenadering om flexibel en composeerbaar te zijn. U bouwt modellen voor de toepassing, de hardware en het correctieschema voor fouten. U geeft ook op hoe deze modellen communiceren. Alle modellen en instructies zijn onafhankelijk van elkaar, zodat u verschillende combinaties van modellen kunt combineren en vergelijken.

De resource-estimator maakt gebruik van tussenliggende representaties om de lagen te verbinden. Deze representaties maken deel uit van de implementatie van de estimator en zijn niet vereist voor normaal gebruik. U communiceert met de resource-estimator via standaardprogrammeertalen en configuratiemodellen op hoog niveau.

Overzichtsdiagram van de werking van de Microsoft Quantum-resource-estimator. In het diagram ziet u dat u begint met een toepassingsmodel en een architectuurmodel. Vervolgens maakt u tracering en ISA's van de modellen. Vervolgens verkent u de ontwerpruimte en vindt u een optimale pareto grensoplossing.

Voor de kwantumresource-estimator zijn vier invoergegevens vereist:

  • Een toepassingsmodel dat de kwantumberekening beschrijft, zoals een Q#-programma
  • Een architectuurmodel dat de target kwantumhardware beschrijft, zoals op poorten gebaseerde supergeleidende qubits met specifieke poorttijden en foutpercentages
  • Een foutcorrectie en fabrieksdestillatiemodel dat overeenkomt met het hardwarearchitectuurmodel
  • Een foutbudget, het maximale toegestane foutpercentage voor bewerkingen op logische qubits

Vanuit het toepassingsmodel genereert de resource-estimator een of meer toepassingstraceringen. Deze traceringen zijn compacte weergaven van de instructiereeksen die worden toegepast op qubits. Vanuit het architectuurmodel en het model voor foutcorrectie leidt de resource-estimator een fysieke instructieset (ISA) af die bewerkingstijden, qubitkosten en foutpercentages aangeeft.

Zowel de toepassingslaag als de architectuurlaag worden geconverteerd naar configureerbare transformaties. Trace-transformaties uit de applicatielaag omvatten decomposities van gates en layoutroutines. ISA-transformaties uit de architectuurlaag omvatten kwantumfoutcorrectiecodes en magic-statefabrieken om op basis van de fysieke primitieven van de architectuur logische instructiesets met een hogere fouttolerantie samen te stellen.

De resource-estimator verkent een grote combinatoriële ontwerpruimte omdat er veel geldige ontwerpkeuzes zijn op elke laag. Bijvoorbeeld verschillende QEC-codeafstanden, verschillende fabrieksprotocollen en verschillende ontledingsparameters. De resource-estimator verkent elke combinatie van toepassingstracering en architectuur ISA om het aantal fysieke qubits, uitvoeringstijden en cumulatieve foutpercentages voor elke combinatie te evalueren. De resultaten worden gefilterd tot een pareto-optimale grens, wat de optimale set configuraties is waarbij geen ander resultaat tegelijkertijd beter is in zowel qubits als runtime tijdens het verblijf binnen het opgegeven foutbudget.

Ondersteuning voor toepassingstaal

De resource-estimator accepteert kwantumtoepassingen in verschillende programmeertalen en tussenliggende indelingen:

  • Q#
  • Cirq
  • OpenQASM
  • QIR
  • Logische tellingen
  • Aangepaste toepassingen

Met QIR en de mogelijkheid om aangepaste toepassingen te maken, is de resource-estimator taalneutraal en ondersteunt een breed scala aan kwantumprogrammeerhulpprogramma's. Toepassingen in verschillende frameworks worden geanalyseerd met behulp van dezelfde schattingspijplijn. U kunt ook aangepaste toepassingen bouwen buiten deze ondersteunde frameworks.

Hardwareondersteuning voor architectuur

Resourceramingen zijn afhankelijk van veronderstellingen over de target hardware en de foutcode die logische bewerkingen beschermt tegen fouten. De resource-estimator bevat ingebouwde modellen voor algemene architecturen en foutcorrectieschema's. U kunt ook uw eigen aangepaste hardware- en foutcorrectiemodellen definiëren om hypothetische architecturen te verkennen, opkomende technologieën te evalueren of te onderzoeken hoe wijzigingen in fysieke parameters van invloed zijn op de resourcevereisten om een programma uit te voeren.

Schattingen vergelijken en resultaten visualiseren

Met de resource-estimator kunt u een schatting maken van de resources die nodig zijn om hetzelfde kwantumalgoritmen uit te voeren voor verschillende configuraties van target architectuurmodellen. U kunt de resultaten voor elke configuratie uitzetten om de resultaten te vergelijken. Wanneer u schattingen vergelijkt, kunt u begrijpen hoe de qubitarchitectuur, het QEC-schema en andere hardwareparameters van invloed zijn op de totale resources die nodig zijn om uw programma uit te voeren.

Aan de slag met de resource estimator

Raadpleeg De Microsoft Quantum-resource-estimator installeren en gebruiken om aan de slag te gaan.

Zie de voorbeelden van de resource-estimator voor quantumcomputing in de QDK-repository op GitHub voor meer informatie en codevoorbeelden.