Langkau ke kandungan utama

Orbit - Fungsi Qiskit oleh Quantum Elements

Lihat rujukan API

Nota

Fungsi Qiskit ialah ciri eksperimen yang hanya tersedia kepada pengguna IBM Quantum® Premium Plan, Flex Plan, dan On-Prem (melalui IBM Quantum Platform API) Plan. Ia berstatus keluaran pratonton dan tertakluk kepada perubahan.

Gambaran keseluruhan

Perkakasan kuantum terus maju, tetapi bunyi bising dan dekoheren masih mengehadkan kedalaman dan kebolehpercayaan litar kuantum praktikal. Antara pendekatan yang ada, tiga teknik pelengkap boleh mengurangkan had ini dengan ketara: decoupling dinamik (DD), transpilasi yang dioptimumkan, dan mitigasi ralat pengukuran (MEM). Transpilasi yang dioptimumkan mengurangkan kedalaman litar dan menyelaraskan litar dengan lebih baik dengan konektiviti perkakasan sasaran, DD menyekat bunyi bising masa terbiar melalui jujukan kawalan yang direka dengan teliti, dan MEM mengurangkan kesan ralat pembacaan dan boleh diaplikasikan semasa pasca-pemprosesan.

Memilih strategi DD yang berkesan adalah sangat tidak remeh kerana banyak keluarga jujukan tersedia, dan jujukan yang berprestasi baik untuk satu litar atau persekitaran bunyi bising mungkin tidak berprestasi baik untuk yang lain. Manfaat transpilasi, DD, dan MEM bergantung pada masalah, perkakasan, dan beban kerja; digunakan secara berasingan atau gabungan, ia boleh meningkatkan prestasi, tetapi ia tidak semestinya bermanfaat secara sejagat dalam setiap konfigurasi.

Orbit, Fungsi Qiskit yang dibangunkan oleh Quantum Elements, menggabungkan ketiga-tiga komponen ini dengan lancar ke dalam satu aliran kerja bersatu, menjadikannya mudah digunakan untuk menambah baik pelaksanaan litar pada perkakasan IBM Quantum. Dalam bentuk utamanya, Orbit secara automatik mengaplikasikan strategi penyekatan ralat aktif yang melindungi keadaan kuantum semasa tempoh terbiar, sambil mengekalkan logik litar asal. Yang menariknya, ia melakukan ini tanpa memperkenalkan sebarang masa pra-pemprosesan kuantum atau klasik tambahan, sekali gus mengelakkan kos tambahan atau masa menunggu yang tidak perlu dalam aliran kerja.

Berbanding beroperasi sebagai kotak hitam, Orbit membenarkan pengguna menilai dan memperhalusi komponen pengoptimuman untuk eksperimen tertentu. Pengguna boleh mendayakan atau melumpuhkan secara berasingan transpilasi yang dioptimumkan, DD, dan MEM; membandingkan pemilihan DD automatik dengan jujukan yang ditentukan pengguna; dan melaksanakan pelbagai konfigurasi dalam aliran kerja yang sama. Dengan membandingkan setiap konfigurasi dengan litar mentah, pengguna boleh menentukan teknik mana yang memberikan manfaat terukur untuk litar dan Backend mereka, mengenal pasti interaksi antara kaedah pengoptimuman yang berbeza, dan memilih konfigurasi yang paling menyokong objektif eksperimen mereka. Proses ini membimbing pengguna memahami dari mana peningkatan prestasi berasal dan membuat keputusan yang lebih termaklum apabila mengoptimumkan litar kuantum untuk beban kerja tertentu.

Penerangan

Orbit direka untuk meningkatkan pelaksanaan litar kuantum pada Backend IBM Quantum. Dalam mod automatik, pengguna boleh mengaplikasikan jujukan DD yang berperingkat tinggi dan mantap dengan lancar tanpa perlu memilih atau mengkonfigurasinya secara manual. Pengguna lanjutan boleh sebaliknya bereksperimen dengan jujukan berperingkat tinggi yang tersedia untuk mengenal pasti dan mengoptimumkan pendekatan yang memberikan prestasi terbaik untuk litar tertentu.

Orbit juga menyediakan MEM segera tanpa memerlukan kerja tambahan yang biasanya diperlukan untuk aliran kerja penentukuran dan mitigasi berasingan. Untuk beban kerja di mana transpilasi tidak sepatutnya mengubah struktur litar, seperti litar pembetulan ralat kuantum dengan pengukuran mid-circuit atau litar dinamik, Orbit boleh mengaplikasikan DD dan MEM tanpa mengganggu strategi transpilasi sedia ada pengguna. Untuk pengguna yang belum mempunyai pendekatan pilihan, Orbit juga merangkumi Transpiler terbina dalam untuk mengoptimumkan litar untuk perkakasan sasaran sebelum mengaplikasikan teknik penyekatan ralat dan mitigasi pembacaan.

Berbeza daripada pendekatan yang bergantung pada persampelan litar tambahan, ekstrapolasi, atau pasca-pemprosesan klasik yang meluas, Orbit menumpukan pada menyekat ralat semasa pelaksanaan. Fungsi ini direka untuk memperkenalkan overhed yang rendah sambil mengekalkan logik litar asal. Pengguna boleh memeriksa litar yang terhasil dan membandingkan secara langsung pelaksanaan yang dioptimumkan oleh Orbit dengan pelaksanaan standard.

Aliran kerja Orbit praktikal adalah:

  1. Tentukan Circuit kuantum dan pilih Orbit melalui Katalog Fungsi Qiskit.

  2. Sertakan litar tanpa Orbit menggunakan mod 'Raw' untuk menetapkan garis dasar litar mentah.

  3. Pilih strategi pengoptimuman mana yang hendak diaplikasikan, termasuk jujukan DD automatik atau yang dipilih pengguna, MEM, dan transpilasi yang dioptimumkan.

  4. Dayakan atau lumpuhkan kaedah individu, atau serahkan pelbagai konfigurasi, untuk menilai kesan berasingan dan gabungan mereka.

Orbit amat berguna untuk litar yang mengandungi tempoh terbiar atau jurang penjadualan di mana Qubit tidak aktif mengambil bahagian dalam Gate. Ia menyokong litar statik dan dinamik, termasuk aliran kerja dengan pengukuran mid-circuit dan eksperimen pengkomputeran kuantum toleransi kesalahan. Aplikasi biasa termasuk pembetulan ralat kuantum, eksperimen kod permukaan pada kekisi segi empat dan heavy-hex, algoritma oracular seperti Bernstein-Vazirani, litar transformasi Fourier, algoritma kuantum berbeza-beza, simulasi Hamiltonian, eksperimen penanda aras, dan pengoptimuman litar sedar-perkakasan.

Melihat ke hadapan pada era toleransi kesalahan, Orbit juga serasi dengan aliran kerja pengkomputeran kuantum toleransi kesalahan, kerana ia boleh digabungkan dengan lancar dengan pembetulan ralat kuantum. Dalam jangka panjang, Orbit menuju ke arah decoupling dinamik peringkat logik [1] sebagai laluan masa depan untuk melindungi Qubit logik. Dalam contoh di bawah, dua Qubit logik dibelit untuk mencipta keadaan Bell logik di bawah pengesanan ralat kuantum. Pengesanan ralat kuantum sahaja menyebabkan kesetiaan keadaan Bell merosot kepada kira-kira 44% sepanjang puluhan mikrosaat, manakala QED digabungkan dengan perlindungan gaya Orbit mengekalkan kesetiaan keadaan Bell logik hampir ke puncak skala, mencapai kira-kira 95.3% sepanjang tempoh masa yang sama. Orbit Quantum Circuit Development Platform

Penanda aras

Keputusan berikut merumuskan larian Orbit yang mewakili pada perkakasan IBM Quantum. Seperti penanda aras perkakasan lain, keputusan bergantung pada peranti yang dipilih, keadaan penentukuran, litar, dan tetapan pelaksanaan.

ContohMetrikQubitQPUButiran tambahanPeningkatan Orbit
Bernstein–VaziraniKesetiaan bitstring tersembunyi26
60
70
Heron r3Mentah berbanding Full Orbit,
Hanya transpilasi berbanding Full Orbit,
Full Orbit sahaja
75x
66x
N/A
QFT (unitary)Kesetiaan10Heron r2
Heron r3
Orbit berbanding mentah:
~44% berbanding ~35%
~67% berbanding ~61%
1.26x
1.09x
QFT (litar dinamik)Kesetiaan10
20
Heron r3Orbit berbanding mentah:
~55% berbanding ~2%
~10% berbanding ~0%
27.51x
N/A
Keadaan Bell jarak jauh (litar dinamik)Kesetiaan30
60
Heron r2N/A1.78x
1.11x
Kod permukaan
(kekisi segi empat sama)
Kebarangkalian ralat logik25Nighthawk r11 pusingan
5 pusingan
10 pusingan
1.01x
1.15x
1.12x
Kod permukaan
(heavy-hex)
Kebarangkalian ralat logik65Heron r31 pusingan
5 pusingan
10 pusingan
4.11x
2.04x
1.39x
VQERalat mutlak berbanding tenaga unggul8Heron r3Orbit berbanding mentah:
56mHa berbanding 1342 mHa
24x
QAOAKebarangkalian kejayaan5Heron r2N/A1.46x
Kod [[4,2,2]] (penindasan ralat peringkat logik)Kesetiaan logik keadaan-Bell terjalin4Heron r2Kesetiaan purata sepanjang 55 μs1.63x

Definisi metrik

  • Kesetiaan bitstring tersembunyi Bernstein–Vazirani: Kebarangkalian mengukur bitstring tersembunyi yang betul. Metrik ini menunjukkan sejauh mana algoritma boleh dipercayai memperoleh semula penyelesaian yang dimaksudkan apabila saiz litar meningkat. Jadual melaporkan tiga bitstring tersembunyi terbesar yang berjaya dinilai di bawah tiga konfigurasi berbeza: (i), litar mentah tanpa Orbit, yang mencapai 26 Qubit; (ii), litar dengan transpilasi sahaja, yang mencapai 60 Qubit; dan (iii), litar menggunakan aliran kerja Orbit penuh, yang mencapai 70 Qubit. Untuk litar mentah (i), faktor peningkatan mewakili peningkatan prestasi yang dicapai oleh DD dan MEM berbanding litar yang tidak diubah suai. Untuk konfigurasi transpilasi sahaja (ii), ia mewakili peningkatan yang dicapai dengan menambah DD dan MEM kepada litar yang ditranspilkan secara optimum. Untuk konfigurasi Orbit penuh (iii), tiada faktor peningkatan garis dasar dilaporkan kerana kebarangkalian kejayaan bukan sifar hanya diperoleh apabila semua komponen Orbit (transpilasi, DD, dan MEM) didayakan. Contoh ilustrasi disediakan di bawah.

  • Kesetiaan transformasi Fourier kuantum: Untuk kedua-dua pelaksanaan QFT litar unitari dan dinamik [2], kesetiaan mengukur persetujuan antara transformasi yang dilaksanakan secara eksperimen dengan proses QFT ideal ke atas 20 keadaan input yang berbeza. Litar dinamik mengandungi masa terbiar yang besar disebabkan pengukuran mid-circuit dan maklum balas hadapan klasik, di mana decoupling dinamik boleh menyekat dekoheren. Peningkatan yang dilaporkan membandingkan kesetiaan yang diperoleh dengan Orbit kepada kesetiaan mentah.

  • Penyediaan keadaan Bell julat jauh: Mencipta keadaan Bell menggunakan litar dinamik dan operasi maklum balas hadapan antara dua Qubit yang dipisahkan sehingga 60 Qubit perantaraan, sekali gus menunjukkan belitan julat jauh yang cekap pada perkakasan kuantum yang bersambung secara tempatan [3]. Orbit mengenal pasti penghalaan Qubit terbaik, mengekalkan Qubit semasa pengukuran maklum balas hadapan, dan mengaplikasikan MEM untuk mengurangkan ralat pembacaan.

  • Kebarangkalian ralat logik kod permukaan: Untuk kod permukaan heavy-hex [4] dan kod permukaan kekisi segi empat [5], eksperimen ingatan kuantum dilakukan di mana keadaan logik yang dikodkan dikekalkan sepanjang pusingan pembetulan ralat yang berulang. Kebarangkalian ralat logik mengukur kebarangkalian bahawa ralat terkumpul menyebabkan maklumat yang dikodkan dipulihkan secara salah (ralat lebih rendah adalah lebih baik). Peningkatan yang dilaporkan membandingkan kebarangkalian ralat logik daripada litar mentah dengan yang diperoleh dengan Orbit.

  • Ralat mutlak VQE: Menggunakan VQE dengan ansatz kluster gandingan unitari yang dioptimumkan untuk menganggarkan tenaga keadaan asas LiH [6]. Tenaga yang diukur dibandingkan dengan tenaga ideal yang sepadan yang diperoleh daripada litar tanpa bunyi bising. Metrik ini ialah perbezaan mutlak antara tenaga yang diukur dan ideal (nilai lebih rendah adalah lebih baik). Peningkatan yang dilaporkan adalah:

Improvement factor=ErawEidealEOrbitEideal.\text{Improvement factor} = \frac{|E_{\mathrm{raw}}-E_{\mathrm{ideal}}|} {|E_{\mathrm{Orbit}}-E_{\mathrm{ideal}}|}.

Nilai yang lebih besar daripada satu menunjukkan bahawa Orbit mengurangkan ralat tenaga berbanding pelaksanaan tanpa decoupling dinamik.

  • Kebarangkalian kejayaan QAOA: Kebarangkalian mengukur bitstring yang sepadan dengan penyelesaian optimum masalah pengoptimuman yang ditakrifkan pada graf rama-rama. Peningkatan yang dilaporkan membandingkan kebarangkalian kejayaan yang diperoleh dengan Orbit berbanding yang diperoleh daripada litar mentah.

  • Kesetiaan logik: Dalam eksperimen decoupling dinamik logik [[4,2,2]] [1], dua Qubit logik dikodkan ke dalam empat Qubit fizikal dan disediakan sebagai keadaan Bell logik terbelit. Kesetiaan logik mengukur persetujuan antara keadaan yang dikodkan yang dipulihkan dengan keadaan Bell logik sasaran. Peningkatan yang dilaporkan membandingkan purata kesetiaan logik yang diperoleh dengan Orbit dan pengesanan ralat (keupayaan kod) dengan yang diperoleh apabila hanya menggunakan kod sahaja.

Mula

Sahkan menggunakan kunci API IBM Quantum Platform anda, dan pilih fungsi Orbit seperti berikut. Cebisan ini mengandaikan anda telah menyimpan akaun anda ke persekitaran tempatan anda.

# Added by doQumentation — required packages for this notebook
!pip install -q matplotlib qiskit qiskit-ibm-catalog
from qiskit_ibm_catalog import QiskitFunctionsCatalog
from qiskit import QuantumCircuit

catalog = QiskitFunctionsCatalog(channel="ibm_quantum_platform")
# Verify that you have access to the function.
catalog.list()
[QiskitFunction(quantum-elements/orbit)]
# Load the function.
orbit = catalog.load("quantum-elements/orbit")

Contoh

Contoh berikut membina litar Bernstein-Vazirani dan menyerahkannya ke Orbit dengan dua cara dalam satu kerja: pelaksanaan mentah dan lalai Orbit.

Gunakan corak ini apabila anda mahukan perbandingan mentah-lawan-Orbit yang langsung.

Bina litar Bernstein-Vazirani

Pilih bitstring tersembunyi dan bina litar logik. Qubit tambahan ialah sasaran oracle, manakala Qubit input diukur.

def create_bv_circuit(hidden_bitstring: str) -> QuantumCircuit:
width = len(hidden_bitstring)
circuit = QuantumCircuit(width + 1, width)

circuit.x(width)
circuit.h(range(width + 1))

for input_qubit, bit in enumerate(reversed(hidden_bitstring)):
if bit == "1":
circuit.cx(input_qubit, width)

circuit.barrier()
circuit.h(range(width + 1))
circuit.measure(range(width), range(width))
return circuit

circuit_width = 50
hidden_bitstring = "1" * circuit_width
shots = 4096

bv_circuit = create_bv_circuit(hidden_bitstring)
bv_circuit.count_ops()
OrderedDict([('h', 102),
('cx', 50),
('measure', 50),
('x', 1),
('barrier', 1)])

Sediakan beban kerja Orbit

Cipta satu PUB Sampler, kemudian salinnya untuk dua mod perbandingan. Orbit menerima litar logik dan memetakannya ke Backend yang dipilih semasa pelaksanaan.

base_pub = (bv_circuit, None, shots)
comparison_labels = ["raw", "orbit"]
pubs = [base_pub] * len(comparison_labels)

Jalankan mentah dan lalai Orbit

pub_options menetapkan PUB pertama kepada mod mentah, yang melangkau pengoptimuman Orbit, DD, dan MEM, dan menetapkan PUB kedua kepada lalai Orbit, yang merangkumi transpilasi yang dioptimumkan, penyisipan decoupling dinamik (DD) automatik, dan mitigasi ralat pengukuran (MEM).

backend_name = "ibm_kingston"

job = orbit.run(
primitive="sampler",
pubs=pubs,
backend_name=backend_name,
options={
"pub_options": [
{"mode": "raw"},
{"mode": "orbit"},
],
"save_backend_info": True,
},
)

# Check the job ID and status
print(job.job_id)
print(job.status())
c0f1b99c-8dfa-4ebb-9560-d9a37c990acc
QUEUED

Dapatkan hasil dan bandingkan litar mentah dan yang ditambah baik oleh Orbit menggunakan kiraan. Untuk hasil Sampler, get_counts() pada daftar klasik yang dikembalikan menyediakan histogram output. Apabila MEM berjaya untuk PUB Orbit, histogram ini telah pun diperbetulkan MEM; kiraan yang tidak dimitigasi kekal tersedia dalam metadata Orbit di bawah measurementErrorMitigation["rawCounts"].

def extract_counts(pub_result) -> dict[str, int]:
data = getattr(pub_result, "data", None)
if data is None:
raise TypeError("pub_result.data is missing")

for name in dir(data):
if name.startswith("_"):
continue
register = getattr(data, name)
get_counts = getattr(register, "get_counts", None)
if callable(get_counts):
counts = get_counts()
if counts:
return counts

raise TypeError(
"No classical register with get_counts() found in pub_result.data"
)

result = job.result()
if len(result) != len(comparison_labels):
raise RuntimeError(
f"Expected {len(comparison_labels)} PUB results, received {len(result)}."
)

comparison_counts = {
label: extract_counts(pub_result)
for label, pub_result in zip(comparison_labels, result, strict=True)
}
correct_counts = {
label: counts.get(hidden_bitstring, 0)
for label, counts in comparison_counts.items()
}

print(
{
"hidden_bitstring": hidden_bitstring,
"correct_counts": correct_counts,
"shots": shots,
}
)
{'hidden_bitstring': '11111111111111111111111111111111111111111111111111', 'correct_counts': {'raw': 0, 'orbit': 184}, 'shots': 4096}

Buat perbandingan visual litar mentah dan yang ditambah baik oleh Orbit.

import matplotlib.pyplot as plt

labels = list(correct_counts)
values = list(correct_counts.values())
fig, ax = plt.subplots(figsize=(7, 4))
bars = ax.bar(labels, values, width=0.55)
ax.bar_label(bars, labels=[f"{value:g}" for value in values], padding=3)
ax.set_xlabel("Circuit execution mode")
ax.set_ylabel("Correct hidden-bitstring count")
ax.set_title(f"{circuit_width}-qubit Bernstein-Vazirani on {backend_name}")
ax.set_ylim(0, max(1, 1.15 * max(values)))
ax.grid(axis="y", alpha=0.25)
fig.tight_layout()
plt.show()

Output of the previous code cell

Dapatkan sokongan

Hubungi sokongan Quantum Elements: info@quantumelements.ai

Pastikan anda menyertakan maklumat berikut:

  • ID Kerja Fungsi Qiskit (qiskit-ibm-catalog), job.job_id

  • Nama Backend

  • pub_options Orbit yang digunakan untuk mod mentah dan Orbit

  • Penerangan terperinci tentang isu tersebut

  • Sebarang mesej ralat atau kod yang berkaitan

  • Langkah untuk menghasilkan semula isu tersebut

Langkah seterusnya

Cadangan
  • Cuba Backend yang berbeza, bilangan Qubit, atau bitstring tersembunyi yang lain.

  • Baca tutorial kami tentang transformasi Fourier kuantum untuk mempelajari cara mentakrifkan strategi DD tersuai berkeupayaan orbit, serta mengaplikasikan DD kepada litar dinamik dengan pengukuran mid-circuit dan operasi maklum balas hadapan.

  • Lawati rujukan API untuk penerangan terperinci semua pilihan Orbit.

Rujukan

  1. Penyekatan ralat peringkat logik digabungkan dengan Pengesanan Ralat Kuantum, Nature Communications (2026)

  2. Transformasi Fourier Kuantum Menggunakan Litar Dinamik, Physical Review Letters (2024)

  3. Belitan Julat Jauh Cekap Menggunakan Litar Dinamik, PRX Quantum (2024)

  4. Eksperimen penskalaan kod permukaan pada IBM Heron dengan konektiviti heavy-hex, arXiv:2510.18847

  5. Eksperimen kod permukaan pada IBM Nighthawk dengan konektiviti kekisi segi empat, arXiv:2606.11496

  6. Rujukan penanda aras VQE, Nature Physics (2024)