Bagikan melalui


Penyedia IonQ

Penting

IonQ telah memensiunkan komputer kuantum Harmony-2 mereka mulai 1 September 2024.

Penting

Anda tidak akan dapat menggunakan Kredit Azure Quantum lagi setelah 1 Juni 2025. Jika Anda memiliki sisa saldo Kredit Azure Quantum, pastikan untuk menukarkannya sebelum tanggal ini.

Komputer kuantum IonQ melakukan perhitungan dengan memanipulasi status energi hyperfine ion Ytterbium dengan laser. Atom adalah qubit alam — setiap qubit bersifat identik di dalam dan di antara program. Operasi logis juga dapat dilakukan pada setiap pasangan arbitrer qubit, memungkinkan program kuantum yang kompleks tak terhambat oleh konektivitas fisik. Ingin belajar lebih banyak? Baca gambaran umum teknologi komputer kuantum ion yang terperangkap IonQ.

  • Penerbit: IonQ
  • ID Penyedia: ionq

Berikut ini targets tersedia dari penyedia ini:

Nama target Target ID Jumlah kubit Deskripsi
Simulator kuantum ionq.simulator 29 kubit Simulator ideal berbasis cloud IonQ. Bebas biaya.
IonQ Aria 1 ionq.qpu.aria-1 25 kubit Komputer kuantum ion-ion yang terperangkap IonQ.
IonQ Aria 2 ionq.qpu.aria-2 25 kubit Komputer kuantum ion-ion yang terperangkap IonQ.
IonQ Forte ionq.qpu.forte 32 kubit Forte IonQ terjebak-ion kuantum komputer. Hanya tersedia di Pratinjau Privat.

IonQ targets sesuai dengan QIR Base profil. Untuk informasi selengkapnya tentang profil ini target dan batasannya, lihat Memahami target jenis profil di Azure Quantum.

Simulator kuantum

Simulator ideal yang dipercepat oleh GPU yang mendukung hingga 29 qubit, menggunakan set gerbang yang sama yang disediakan IonQ di perangkat keras kuantumnya—tempat yang tepat untuk melakukan pekerjaan sebelum menjalankannya di komputer kuantum yang sebenarnya.

  • Jenis Pekerjaan: Simulation
  • Format Data: ionq.circuit.v1
  • Target ID: ionq.simulator
  • Profil Eksekusi Target: QIR Base

Komputer kuantum IonQ Aria

IonQ Aria adalah unggulan komputer kuantum ion IonQ yang terperangkap, dengan sistem 25-qubit yang dapat dikonfigurasi ulang secara dinamis. Untuk informasi selengkapnya, lihat IonQ Aria (ionq.com).

Penting

Debiasing diaktifkan pada sistem Aria secara default, dan pekerjaan yang dikirimkan tunduk pada harga berbasis debiasing. Untuk informasi selengkapnya tentang pembatalan dan cara menonaktifkan/mengaktifkan layanan, lihat Mitigasi kesalahan.

  • Jenis Pekerjaan: Quantum Program
  • Format Data: ionq.circuit.v1
  • Target ID: ionq.qpu.aria-1, ionq.qpu.aria-2
  • Profil Eksekusi Target: QIR Base
Nama Parameter Jenis Wajib Deskripsi
shots int No Jumlah adegan eksperimental.

Waktu sistem

Pengukuran Durasi waktu rata-rata
T1 10-100 dtk
T2 1 dtk
Gerbang qubit tunggal 135 μs
Gerbang dua qubit 600 μs

Keakuratan sistem

Operasi Keakuratan rata-rata
Gerbang qubit tunggal 99,95% (SPAM terkoreksi)
Gerbang dua qubit 99,6% (tidak dikoreksi SPAM)
SPAM* 99.61%

* Persiapan dan Pengukuran Status (SPAM): Pengukuran ini menentukan seberapa akurat komputer kuantum dapat mengatur qubit ke dalam status awalnya dan kemudian mengukur hasilnya di akhir.

IonQ Aria tersedia melalui paket Kredit Azure Quantum dan paket penagihan terpisah. Untuk informasi selengkapnya, lihat Harga Azure Quantum.

Komputer kuantum IonQ Forte

IonQ Forte adalah komputer kuantum ion dengan performa tertinggi dan tersedia secara komersial. Dengan sistem yang dapat dikonfigurasi perangkat lunak 32 kubit, IonQ Forte tersedia dalam Pratinjau Privat di Azure Quantum. Untuk informasi selengkapnya, lihat IonQ Forte (ionq.com).

Penting

Debiasing diaktifkan pada sistem Forte secara default, dan pekerjaan yang dikirimkan tunduk pada harga berbasis debiasing. Untuk informasi selengkapnya tentang pembatalan dan cara menonaktifkan/mengaktifkan layanan, lihat Mitigasi kesalahan.

  • Jenis Pekerjaan: Quantum Program
  • Format Data: ionq.circuit.v1
  • ID target: ionq.qpu.forte
  • Profil Eksekusi Target: QIR Base
Nama Parameter Jenis Wajib Deskripsi
shots int No Jumlah adegan eksperimental.

Format input

Dalam Q#, output pengukuran kuantum adalah nilai jenis Result, yang hanya dapat mengambil nilai Zero dan One. Ketika Anda menentukan operasi Q#, operasi tersebut hanya dapat dikirimkan ke perangkat keras IonQ jika jenis pengembalian adalah kumpulan Result, yaitu, jika output operasi adalah hasil pengukuran kuantum. Alasan untuk ini adalah karena IonQ membangun histogram dari nilai yang dikembalikan, sehingga membatasi jenis pengembalian untuk Result menyederhanakan pembuatan histogram ini.

IonQ targets sesuai dengan QIR Base profile. Profil ini tidak dapat menjalankan operasi kuantum yang memerlukan penggunaan hasil dari pengukuran qubit untuk mengontrol alur program.

Format output

Ketika Anda mengirimkan program kuantum ke simulator IonQ, itu mengembalikan histogram yang dibuat oleh pengukuran. Simulator IonQ tidak mengambil sampel distribusi probabilitas yang dibuat oleh program kuantum tetapi sebaliknya mengembalikan distribusi yang diskalakan ke jumlah bidikan. Ini paling jelas ketika Anda mengirimkan satu sirkuit bidikan. Anda akan melihat beberapa hasil pengukuran dalam histogram untuk satu bidikan. Perilaku ini melekat pada simulator IonQ, sementara IonQ QPU benar-benar menjalankan program dan menggabungkan hasilnya.

Kemampuan Tambahan

Kemampuan tambahan yang didukung oleh perangkat keras IonQ tercantum di sini.

Kemampuan Deskripsi
Mitigasi kesalahan Gunakan debiasing untuk meminimalkan kebisingan dan memaksimalkan performa algoritma pada perangkat keras IonQ
Dukungan gerbang asli Tentukan dan jalankan sirkuit langsung di gerbang perangkat keras-asli IonQ
Simulasi model kebisingan Simulasikan profil kebisingan yang akan ditemui sirkuit ketika Anda menjalankannya pada perangkat keras IonQ yang berbeda.

Pengguna dapat memanfaatkan kemampuan tambahan ini melalui parameter pass-through di penyedia Azure Quantum Q# dan Qiskit.

Mitigasi kesalahan

IonQ menyediakan opsi untuk mengaktifkan mitigasi kesalahan kuantum saat mengirimkan pekerjaan ke perangkat keras IonQ. Mitigasi kesalahan adalah proses tingkat kompilator yang berjalan dan menjalankan beberapa variasi simetris sirkuit, lalu menggabungkan hasil sekaligus mengurangi dampak kesalahan perangkat keras dan decoherence qubit. Tidak seperti teknik koreksi kesalahan kuantum, mitigasi kesalahan tidak memerlukan overhead gerbang dan qubit yang besar.

Debiasing adalah proses menciptakan sedikit variasi sirkuit tertentu yang harus identik pada mesin tanpa suara yang ideal, menggunakan teknik seperti penugasan kubit yang berbeda, penguraian gerbang, dan solusi denyut nadi, dan kemudian mengeksekusi variasi tersebut.

Sharpening dan Averaging adalah opsi untuk mengagregasi hasil variasi. Rata-rata didasarkan sama pada semua hasil variasi, sedangkan Penajaman memfilter hasil yang salah, dan dapat lebih dapat diandalkan untuk jenis algoritma tertentu.

Untuk informasi selengkapnya, lihat Debiasing dan Sharpening. Untuk harga mitigasi kesalahan, lihat Harga IonQ.

Mengaktifkan mitigasi kesalahan

Catatan

Debiasing diaktifkan secara default pada sistem Aria dan Forte.

Di Azure Quantum, mitigasi kesalahan dapat diaktifkan atau dinonaktifkan untuk pekerjaan yang dikirimkan dengan Q# atau dengan Qiskit.

Untuk mengaktifkan mitigasi kesalahan, tambahkan parameter opsional untuk target komputer:


option_params = {
    "error-mitigation": {
        "debias": True
    }
}

Untuk menonaktifkan mitigasi kesalahan, atur parameter ke False:


option_params = {
    "error-mitigation": {
        "debias": False
    }
}

Catatan

Jika Anda juga menggunakan simulasi model kebisingan IonQ, parameter tersebut dapat disertakan di sini, misalnya:

option_params = {
    "error-mitigation": {
        "debias": False
    },
    "noise": {
    "model": "aria-1",
    "seed": 100
    }
}

Untuk informasi selengkapnya, lihat Simulasi model kebisingan.

Menjalankan pekerjaan di Azure Quantum dengan mitigasi kesalahan

Contoh ini menggunakan generator angka acak sederhana.

Pertama, impor paket yang diperlukan dan mulai profil dasar:

import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)

Selanjutnya, tentukan fungsi .

%%qsharp
import Std.Measurement.*;
import Std.Arrays.*;
import Std.Convert.*;

operation GenerateRandomBit() : Result {
    use target = Qubit();

    // Apply an H-gate and measure.
    H(target);
    return M(target);
}

and compile the operation:

```python
MyProgram = qsharp.compile("GenerateRandomBit()")

Sambungkan ke Azure Quantum, pilih target komputer, dan konfigurasikan parameter kebisingan untuk emulator:

MyWorkspace = azure.quantum.Workspace(
    resource_id = "",
    location = ""
)

MyTarget = MyWorkspace.get_targets("ionq.qpu.aria-1")

Tentukan error-mitigation konfigurasi


option_params = {
    "error-mitigation": {
        "debias": True
    }
}

Berikan konfigurasi mitigasi kesalahan saat mengirimkan pekerjaan:

job = MyTarget.submit(MyProgram, "Experiment with error mitigation", shots = 10, input_params = option_params)
job.get_results()

Di Qiskit, Anda meneruskan parameter opsional ke target konfigurasi komputer sebelum mengirimkan pekerjaan:

circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)

Catatan

Jika Anda tidak meneruskan error-mitigation parameter, target komputer akan menggunakan pengaturan defaultnya, yang diaktifkan untuk sistem Aria dan Forte.

Dukungan dan penggunaan gerbang asli

Secara default IonQ memungkinkan Anda menentukan sirkuit kuantum menggunakan sekumpulan gerbang kuantum abstrak, yang disebut qis, yang memungkinkan fleksibilitas dan portabilitas saat menulis algoritma tanpa khawatir tentang pengoptimalan untuk perangkat keras.

Namun, dalam beberapa kasus penggunaan tingkat lanjut, Anda mungkin ingin menentukan sirkuit langsung di gerbang asli agar lebih dekat dengan pengoptimalan perangkat keras dan bypass. Set gerbang asli adalah sekumpulan gerbang kuantum yang secara fisik dijalankan dalam prosesor kuantum, dan mereka memetakan sirkuit ke sirkuit sebagai bagian dari eksekusi.

Untuk informasi selengkapnya, lihat Memulai Gerbang Asli (ionq.com).

Untuk menggunakan set gerbang asli saat mengirimkan pekerjaan Qiskit ke Azure Quantum, Anda menentukan gateset parameter saat menginisialisasi backend seperti pada contoh di bawah ini:

# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu.aria-1", gateset="native")
Nama Parameter Jenis Wajib Deskripsi
gateset string No Menentukan set gerbang yang akan digunakan untuk menentukan sirkuit. Nilai qis sesuai dengan gerbang abstrak (perilaku default) dan nativeke gerbang asli perangkat keras IonQ.

Untuk informasi selengkapnya tentang pekerjaan Qiskit, lihat Mengirimkan sirkuit dengan Qiskit.

Simulasi model kebisingan

Bahkan perangkat keras kuantum terbaik saat ini memiliki kebisingan yang melekat, dan mengetahui karakteristik kebisingan sistem Anda target dapat membantu Anda memperbaiki algoritma Anda dan mendapatkan prediksi hasil yang lebih realistis saat menjalankan sirkuit pada perangkat keras. IonQ menyediakan simulasi model kebisingan yang memperkenalkan kebisingan ke dalam sirkuit menggunakan "sidik jari kebisingan" khusus untuk target perangkat keras. Untuk informasi selengkapnya, lihat Mulai menggunakan Simulasi Model Kebisingan Perangkat Keras.

Parameter model kebisingan

Nama Parameter Nilai Deskripsi
noise model, seed Mengaktifkan simulasi model kebisingan
model ideal, aria-1 Menentukan model kebisingan target untuk perangkat keras.
  • ideal - Tidak ada kebisingan yang dimasukkan ke dalam sirkuit. Ini sama dengan tidak mengaktifkan simulasi kebisingan.
  • aria-1 - Menggunakan model kebisingan untuk komputer kuantum IonQ Aria.
seed Bilangan bulat antara 1 dan $2^{31}$ (2.147.483.648) Memungkinkan Anda menentukan nilai benih untuk kebisingan acak pseudo dan pengambilan sampel bidikan, menciptakan hasil bising yang dapat direproduksi. Jika parameter tidak ditentukan, nilai acak seed akan dibuat.

Kesadaran tertembak

Simulasi model kebisingan sadar bidikan; yaitu, ia mengambil sampel pengukuran dari status output berdasarkan jumlah bidikan yang disediakan. Di Azure Quantum, shots parameter dikirimkan dengan pekerjaan, dan diperlukan untuk aria-1 model kebisingan. Jika tidak ada shot nilai yang ditentukan, nilai default digunakan 1000 . Jika model kebisingan ideal digunakan, shots parameter diabaikan.

Kapasitas qubit

ideal Meskipun model kebisingan memungkinkan Anda mensimulasikan hingga 29 qubit dengan simulator kuantum IonQ, model kebisingan khusus perangkat keras terbatas pada kapasitas target qubit perangkat keras yang sebenarnya, yaitu 25 qubit untuk model kebisinganaria-1.

Mengaktifkan simulasi model kebisingan

Di Azure Quantum, simulasi model kebisingan dapat diaktifkan atau dinonaktifkan untuk pekerjaan yang dikirimkan dengan Q# atau dengan Qiskit.

Untuk mengaktifkan simulasi model kebisingan, tambahkan parameter opsional untuk target komputer, misalnya:


option_params = {
    "noise": {
        "model": "aria-1",   # targets the Aria quantum computer
        "seed" : 1000         # If seed isn't specified, a random value is used  
    }
}

Catatan

Jika Anda juga menggunakan mitigasi kesalahan IonQ, parameter tersebut dapat disertakan di sini, misalnya:

option_params = {
    "error-mitigation": {
        "debias": False
    },
    "noise": {
    "model": "aria-1",
    "seed": 1000
    }
}

Untuk informasi selengkapnya, lihat Mitigasi kesalahan.

Menjalankan pekerjaan dengan simulasi model kebisingan

Anda dapat menggunakan contoh program yang sama yang ditampilkan sebelumnya dalam mitigasi kesalahan dan menambahkan atau mengganti konfigurasi model kebisingan di option_params;

option_params = {
    "error-mitigation": {
        "debias": True
    },
    "noise": {
    "model": "aria",
    "seed": 1000
    }
}

Kemudian berikan parameter opsional saat Anda mengirimkan pekerjaan:

job = MyTarget.submit(MyProgram, "Experiment with noise model simulation", shots = 10, input_params = option_params)
job.get_results()

Di Qiskit, Anda meneruskan parameter opsional ke target konfigurasi komputer sebelum mengirimkan pekerjaan:

circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)

Harga

Untuk melihat paket penagihan IonQ, kunjungi Harga Azure Quantum.

Batas dan kuota

Kuota IonQ dilacak berdasarkan unit penggunaan QPU, yaitu qubit-gate-shot (QGS). Penggunaan sumber daya dikreditkan terhadap akun Anda.

Setiap program kuantum terdiri dari $N$ gerbang logis kuantum dari satu atau beberapa qubit, dan dijalankan untuk sejumlah tembakan. Jumlah bidikan gerbang dihitung dengan rumus berikut:

$$ QGS = N · C $$

di mana:

  • $N$ adalah jumlah gerbang satu atau dua kubit yang diajukan
  • $C$ adalah jumlah bidikan eksekusi yang diminta

Kuota didasarkan pada pemilihan paket dan dapat ditingkatkan dengan tiket dukungan. Untuk melihat batas dan kuota Anda saat ini, buka bilah Kredit dan kuota dan pilih tab Kuota ruang kerja Anda di portal Azure. Untuk informasi selengkapnya, lihat Kuota Azure Quantum.

Catatan

Jika Anda menggunakan paket Kredit Azure Quantum, dan bukan paket penagihan, informasi kuota dipetakan ke kredit yang dialokasikan. Dalam hal ini, kuota mencantumkan jumlah total kredit yang telah Anda terima.

Status IonQ

Untuk informasi tentang penundaan pemrosesan pekerjaan QPU IonQ, lihat halaman status IonQ.

Grafik konektivitas dan praktik terbaik IonQ

Untuk melihat praktik terbaik yang direkomendasikan untuk IonQ QPU, lihat Praktik Terbaik IonQ (ionq.com).