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 native ke 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.
|
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).