Skip to main content
IBM Quantum Platform

Wählen Sie den richtigen Ausführungsmodus

Daher ist es wichtig, dass sowohl die klassischen als auch die Quantenressourcen effizient geplant werden, um die Ausführung zu rationalisieren. Die Ausführungsmodi bieten Flexibilität bei der Abwägung von Kosten und Zeit, um Ressourcen optimal für Ihre Workloads zu nutzen. Bei der Wahl des Ausführungsmodus sind mehrere Aspekte zu berücksichtigen, z. B. die Gesamtausführungszeit (maximum time to live, TTL) und die Zeit zwischen den Aufträgen (interactive TTL).

Die Vorteile der einzelnen Programme sind im Folgenden zusammengefasst:

  • Batch
    • Der gesamte Stapel von Aufträgen wird zusammen geplant, und es entsteht keine zusätzliche Wartezeit für jeden einzelnen Auftrag.
    • Die klassischen Berechnungen der Aufträge, wie z. B. die Kompilierung, werden parallel ausgeführt. Daher ist die Ausführung mehrerer Aufträge in einem Batch wesentlich schneller als die serielle Ausführung.
    • In der Regel gibt es nur eine minimale Verzögerung zwischen den Aufträgen, was dazu beitragen kann, dass die Arbeit nicht abdriftet.
    • Wenn Sie Ihre Arbeitslast in mehrere Aufträge aufteilen und diese im Batch-Modus ausführen, können Sie Ergebnisse von einzelnen Aufträgen erhalten, was die Arbeit flexibler macht. Wenn beispielsweise die Ergebnisse eines Auftrags nicht Ihren Erwartungen entsprechen, können Sie die übrigen Aufträge stornieren. Wenn ein Auftrag fehlschlägt, können Sie ihn erneut übermitteln, anstatt den gesamten Workload erneut auszuführen.
    • Ist im Allgemeinen billiger als Sitzungen.
  • Session
    • Alle Funktionen aus dem Batch-Modus (erfordert jedoch eine höhere Nutzung; weitere Informationen zur Berechnung der Nutzung finden Sie unter „Workload-Nutzung“).
    • Dedizierter und exklusiver Zugang zur QPU während des aktiven Sitzungsfensters.
    • Nützlich für Workloads, bei denen nicht alle Eingaben zu Beginn bereitstehen, für iterative Workloads, die eine klassische Nachbearbeitung erfordern, bevor die nächste ausgeführt werden kann, und für Experimente, die so eng wie möglich zusammenlaufen müssen.
  • job
    • Am einfachsten zu verwenden, wenn man ein kleines Experiment durchführt.
    • Wird möglicherweise früher ausgeführt als im Batch-Modus.

Empfehlungen und bewährte Verfahren

Verwenden Sie in der Regel den Batch-Modus, es sei denn, Sie haben Workloads, bei denen nicht alle Eingaben von Anfang an bereitstehen.

  • Verwenden Sie den Batch-Modus, um mehrere primitive Aufträge gleichzeitig zu übermitteln und so die Bearbeitungszeit zu verkürzen.

  • Verwenden Sie den Sitzungsmodus für iterative Arbeitslasten oder wenn Sie dedizierten Zugriff auf die QPU benötigen.

  • Verwenden Sie immer den Auftragsmodus, um eine einzelne primitive Anfrage zu übermitteln.

  • Da Sitzungen in der Regel teurer sind, empfiehlt es sich, Batch zu verwenden, wenn Sie die zusätzlichen Vorteile von Sitzungen nicht benötigen.

  • Open-Plan-Benutzer können keine Sitzungsaufträge einreichen.

Um eine möglichst effiziente Nutzung der Ausführungsmodi zu gewährleisten, werden die folgenden Praktiken empfohlen:

  • Die Ausführung eines Auftrags ist mit einem festen Kostenaufwand verbunden. Wenn jeder Ihrer Aufträge weniger als eine Minute QPU-Zeit in Anspruch nimmt, sollten Sie erwägen, mehrere Aufträge zu einem größeren zusammenzufassen (dies gilt für alle Ausführungsmodi). die "QPU-Zeit" bezieht sich auf die Zeit, die der QPU-Komplex zur Bearbeitung Ihres Auftrags benötigt.

  • Wenn jeder Ihrer Aufträge mehr als eine Minute QPU-Zeit in Anspruch nimmt oder wenn die Kombination von Aufträgen nicht praktikabel ist, können Sie dennoch mehrere Aufträge parallel ausführen. Jeder Auftrag durchläuft sowohl die klassische als auch die Quantenverarbeitung. Während eine QPU jeweils nur einen Auftrag verarbeiten kann, können bis zu fünf klassische Aufträge parallel bearbeitet werden. Sie können dies ausnutzen, indem Sie mehrere Aufträge im Batch- oder Sitzungsausführungsmodus einreichen.

Bei den obigen Angaben handelt es sich um allgemeine Richtlinien, und Sie sollten Ihre Arbeitsbelastung anpassen, um das optimale Verhältnis zu finden, insbesondere wenn Sie Sitzungen verwenden. Wenn Sie beispielsweise eine Sitzung nutzen, um exklusiven Zugriff auf ein Backend zu erhalten, sollten Sie große Aufträge in kleinere aufteilen und parallel ausführen. Dies könnte kosteneffizienter sein, da es die Wanduhrzeit reduzieren kann.


Beispiele

Führen Sie einen Quantenvariationsalgorithmus aus

Die Ausführung eines Quantenvariationsalgorithmus folgt in der Regel diesem Ablauf:

  1. Bereiten Sie den Ansatz vor.
  2. Bewerten Sie die Kostenfunktion auf einer QPU.
  3. Nehmen Sie das Ergebnis aus dem vorherigen Schritt und lassen Sie es durch einen klassischen Optimierer laufen.
  4. Passen Sie die Parameter entsprechend dem Ergebnis von (3) an und gehen Sie dann zurück zu Schritt (2).

In diesem Fall, wenn Sie den Job- oder Batch-Modus verwenden, muss jeder in Schritt (2) erzeugte Job die Warteschlange erneut durchlaufen. Dadurch erhöht sich die Versuchsdauer (Wanduhrzeit) aufgrund der Wartezeit drastisch. Außerdem könnte die Konvergenz aufgrund von Geräteabweichungen länger dauern. Das heißt, mit jeder Iteration soll ein besseres Ergebnis erzielt werden, aber die Gerätedrift könnte die nachfolgenden Ergebnisse verschlechtern.

Wenn Sie PEA oder PEC verwenden, können Sie das Rauschmodell außerdem einmal erlernen und es auf nachfolgende Jobs anwenden, wenn diese in einer dedizierten Sitzung ausgeführt werden. Dies funktioniert in der Regel nicht im Batch- oder Job-Modus, da das Rauschmodell veraltet sein könnte, wenn der nächste Job aus der Warteschlange kommt.

Einstellungen zur Fehlerbehebung vergleichen

Um die Auswirkungen der verfügbaren Methoden zur Fehlerbegrenzung zu vergleichen, können Sie folgendermaßen vorgehen:

  1. Konstruieren Sie einen Schaltkreis und eine Messgröße.
  2. Übermitteln Sie primitive Aufträge, die verschiedene Kombinationen von Einstellungen zur Fehlerbegrenzung verwenden.
  3. Zeichnen Sie die Ergebnisse auf, um die Auswirkungen der verschiedenen Einstellungen zu beobachten.

In diesem Fall sind alle Stellen (die miteinander verbunden, aber unabhängig sind) von Anfang an verfügbar. Wenn Sie den Batch-Modus verwenden, werden sie gemeinsam geplant, so dass Sie nur einmal warten müssen, bis sie die Warteschlange durchlaufen haben. Da das Ziel darin besteht, die Auswirkungen verschiedener Fehlerminderungsmethoden zu vergleichen, ist es außerdem von Vorteil, wenn sie so nah wie möglich beieinander liegen. Daher wäre eine Charge eine gute Wahl. Sie könnten diese Jobs in einer Sitzung ausführen, aber da Sitzungen im Allgemeinen teurer sind, wird empfohlen, Batch zu verwenden, wenn Sie die zusätzlichen Funktionen der Sitzungen nicht benötigen.


Nächste Schritte

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.