Ein Quantensprung ins kalte Wasser

Programmieren für Quantencomputer

< zurück

Seite: 2/2

Microsoft Quantum Development Kit

Microsofts Quantum Development Kit ist eine umfassende Umgebung für das Design und die Simulation von Quantenprogrammen. Es befähigt also dazu, Software für Quantencomputer zu coden und auszuführen. Das Herzstück des QDK bildet die Programmiersprache Q#, ein Eigengewächs aus Redmond für die Quantenhardware-agnostische Entwicklung von Quantenalgorithmen und -anwendungen.

Das QDK von Microsoft beinhaltet eine reichhaltige Bibliothek von Quantenoperationen und -funktionen und fortgeschrittene Tools für die Modellierung von hardwarespezifischen Quantenschaltungen. Mit diesen Werkzeugen können Entwickler quantenmechanische Effekte wie photonische Interferenzen und Nichtlinearitäten auf Basis vorhandener Dokumentationen in ihren Quantenalgorithmen nachbilden.

Die Sprache Q# und das zugehörige Framework funktionieren unabhängig von der Qubit-Technologie, gerne auch mit Quantenprozessoren anderer Anbieter. Das QDK interagiert nicht direkt mit einer spezifischen Quantenprozessor-Hardware für die tatsächliche Ausführung. Da die resultierenden Anwendungen dann meist in der Azure-Cloud laufen, kann es ja Microsoft recht und billig sein.

Eine Beispielimplementierung für einen Quanten-Zufallszahlengenerator könnte zum Beispiel wie folgt aussehen:

namespace DevInsider {
   open Microsoft.Quantum.Measurement;
   open Microsoft.Quantum.Intrinsic;
   // Einstiegspunkt des Programms
   @EntryPoint()
   operation Main() : Result[] {
      // Erzeuge eine Zufallszahl in der Länge von 7 Bit.
      let nBits = 7;
      return GenerateNRandomBits(nBits);
   }
   /// Erzeuge N zufällige Bits.
   operation GenerateNRandomBits(nBits : Int) : Result[] {
      // Weise N Qubits dem Quantenregister zu.
      use register = Qubit[nBits];
      // Quantenüberlagerung von 0 und 1 einstellen.
      // Nutze die Hadamard-Operation `H`.
      for qubit in register {
         H(qubit);
         }
      // Quantenzustände messen, Qubits zurücksetzen und freigeben
      let results = MResetEachZ(register);
      return results;
   }
}

Der Q#-Code generiert eine zufällige Bitfolge, indem er sich quantenmechanische Eigenschaften der Qubits des Quantenregisters zu Nutze macht. Ein Schleifendurchlauf wendet auf jedes dieser Qubits die Hadamard-Operation H an. Diese Operation setzt jedes betreffende Qubit in eine Superposition der Basiszustände|0〉 und |1〉, wodurch es eine exakt 50-prozentige Wahrscheinlichkeit hat, als |0〉 oder |1〉 gemessen zu werden.

Die resultierenden Werte ergeben sich erst im Zuge der anschließenden Messung, nicht vorher. Dieser Ansatz garantiert die Erzeugung von echten Zufallszahlen, eine Aufgabe, die mit klassischen Computern nur approximiert werden kann. Nach der Messung setzt der Algorithmus die Qubits zurück auf den Grundzustand, um sie dann sicher freizugeben. Die Liste der Messergebnisse enthält dann die zufällige Bitfolge.

Gar nicht so kompliziert: Das Arbeitsflussdiagramm veranschaulicht die erforderlichen Schritte, um einen Code in Q# für die Ausführung auf der avisierten Quantenhardware des Cloud-Dienstleisters vorzubereiten.(Bild:  Microsoft)
Gar nicht so kompliziert: Das Arbeitsflussdiagramm veranschaulicht die erforderlichen Schritte, um einen Code in Q# für die Ausführung auf der avisierten Quantenhardware des Cloud-Dienstleisters vorzubereiten.
(Bild: Microsoft)

Mit dem Cloud-Dienst Azure Quantum bietet Microsoft Zugriff auf verschiedene Quantenprozessoren von Partnern wie IonQ, Honeywell und anderen (diese Hardware nutzt hauptsächlich gefangene Ionen und supraleitende Qubits). Q#-Programme aus dem Entwicklungs-Kit lassen sich auf diesen Quantencomputing-Plattformen in Azure Quantum unmittelbar testen, bereitstellen und ausführen. Nebenbei bietet das QDK auch leistungsstarke Simulatoren für die Ausführung von Quantenprogrammen auf herkömmlicher Hardware.

Sollten topologische Qubits irgendwann die kommerzielle Marktreife erreichen, wäre Microsofts Gemeinde der Quantum Developer automatisch im Kreis der Eingeweihten. Der Simulator für topologische Qubits des QDK kann Quantenalgorithmen für topologische Qubits testen und validieren, obwohl die eigentlichen Quantenchips von Microsoft noch nicht allgemein verfügbar sind.

Quantenhybride Programmierung

Hybride Ansätze machen sich eine Kombination aus klassischen Computern und Quantenbeschleunigern – manchmal unter Einbezug von hybriden KI-Quantenalgorithmen – zu Nutze, um besonders anspruchsvolle Probleme zu lösen.

Die Quantagonia GmbH aus Bad Homburg entwickelt Lösungen rund um hybrides HPC-Quantencomputing für die Wirtschaft. Mit ihrer Cloud-nativen Hybrid Quantum Platform (HQP) überbrückt Quantagonia die Lücke zwischen klassischer IT (sprich: HPC) und dem Quantencomputing. Die Plattform versteht sich auf die Ausführung von fortschrittlichen Algorithmen künstlicher Intelligenz und Maschinellen Lernens, Simulationen und Optimierungen. Quantagonia stellte ihre Lösungen unter anderem auf dem Web Summit in Lissabon aus und hatte dort viel Erfolg.

Ein bahnbrechendes Beispiel für künftige Möglichkeiten der KI-Quanten-Hybridisierung sind die sogenannten Quanten-Transformer, eine quantenmechanische Umsetzung von Transformern. Transformer zählen zu den einflussreichen KI-Designs, das Chatbots wie ChatGPT auf klassischen Supercomputern antreiben.

Bei Transformern ist von Deep-Learning-Modellen die Rede, die sich einen sogenannten Aufmerksamkeitsmechanismus zu Nutze machen. Dieser Trick ermöglicht es dem System – in Anlehnung an die Funktionsweise des menschlichen Gehirns – sich ausschließlich auf eine entscheidende Untermenge der Eingabedaten zu konzentrieren und weniger relevante Informationen zu ignorieren.

Die praktische Umsetzbarkeit einer ersten rudimentären Implementierung von Quanten-Transformern konnte Google bereits nachweisen, aber ansonsten noch nicht viel damit anfangen. Dennoch steht bereits fest: Hybride Ansätze versprechen, Quantenalgorithmen auf herkömmlicher Hardware einen enormen Leistungsschub zu verleihen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Cloud Computing

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Fazit

Quanten-Programmiererinnen und -Programmierer müssen nicht nur die spezifische Syntax und Semantik der gewählten Programmiersprache(n) beherrschen, sondern auch die physikalischen und technologischen Einschränkungen der Hardware im Hinterkopf behalten. Die Anpassung der Algorithmen an die jeweilige Qubit-Technologie und die Minimierung von Fehlern durch gezieltes Design und Optimierung der Quantenschaltkreise zählen zu den entscheidenden Erfolgsfaktoren in der Entwicklung von Quantenalgorithmen.

Microsofts Ansatz erleichtert die Entwicklung und das Testen von Quantenprogrammen unabhängig von der Quantenhardware. Das QDK ebnet die Lernkurve und erleichtert den Einstieg in die Quantenprogrammierung in einer Zeit, in der echte Quantencomputer noch schwer zugänglich sind, ein „Quantensprung“ – jetzt im übertragenen Sinne – der besonderen Art.

(ID:50068442)