Lewati ke konten utama

Model eksekusi terarah (beta)

Rilis beta

Semua komponen dalam model eksekusi terarah saat ini masih dalam beta dan mungkin belum stabil. Kamu diundang untuk mencobanya dan memberikan masukan dengan membuka isu di repositori GitHub Samplomatic atau Qiskit Runtime.

Antarmuka primitif Sampler dan Estimator menyediakan abstraksi tingkat tinggi agar pengembang algoritma bisa lebih fokus pada inovasi dan tidak terlalu memikirkan konversi data. Namun, keduanya kurang cocok untuk ilmuwan informasi kuantum yang membutuhkan kontrol dan fleksibilitas lebih besar untuk eksperimen skala utilitas mereka. Model eksekusi terarah, yang saat ini dalam rilis beta, hadir untuk memenuhi kebutuhan tersebut. Model eksekusi ini menyediakan komponen-komponen untuk menangkap maksud desain di sisi klien, dan memindahkan pembuatan varian Circuit yang mahal ke sisi server, sehingga kamu bisa menyetel halus mitigasi error dan teknik lainnya tanpa mengorbankan performa. Model yang eksplisit dan komposabel ini memudahkan eksperimen dengan teknik baru, mereproduksi hasil, dan berbagi metode.

Dalam rilis betanya, model eksekusi terarah berfokus pada pemberian kontrol atas teknik yang sudah ada di Sampler dan Estimator, termasuk Pauli twirling, pembelajaran dan injeksi model noise, serta perubahan basis. Dukungan untuk kemampuan lain akan ditambahkan secara bertahap seiring waktu.

Alur kerja​

Salah satu tujuan utama model eksekusi terarah adalah menyediakan cara modular untuk menerapkan metode mitigasi error. Misalnya, kamu bisa menentukan layer mana dalam Circuit yang ingin dimitigasi, atau menyesuaikan tingkat noise yang diinjeksikan ke Circuit.

Untuk menerapkan mitigasi error pada Circuit dalam kerangka kerja ini, alur kerja kamu biasanya melibatkan langkah-langkah berikut (alat yang disebutkan di sini dijelaskan lebih lengkap di bagian berikutnya):

  1. Kelompokkan instruksi ke dalam box dan tambahkan anotasi pada masing-masing box. Anotasi ini menangkap transformasi yang dimaksud tanpa benar-benar menghasilkan varian Circuit.

  2. Pelajari model noise dari layer unik, jika diperlukan, menggunakan NoiseLearnerV3 yang baru.

  3. Bangun template Circuit dan samplex dari Circuit yang sudah di-box.

  4. Jalankan template Circuit dan samplex dengan primitif Executor, yang akan menghasilkan dan mengeksekusi varian Circuit sesuai instruksi.

  5. Post-process hasil eksekusi. Misalnya, kamu bisa menerapkan post-selection, atau mengekstrapolasi nilai ekspektasi yang telah dimitigasi dari hasil eksekusi.

Alat untuk model eksekusi terarah​

Alat-alat berikut dapat digunakan bersama untuk mengimplementasikan teknik mitigasi error dalam model eksekusi terarah.

Samplomatic​

Samplomatic adalah library open-source baru yang mendukung randomisasi sampling yang dikustomisasi. Library ini menggunakan konstruk box untuk memahami kumpulan operasi Circuit yang harus diperlakukan sebagai memiliki konteks noise yang stabil, dan menggunakan anotasi pada box agar kamu bisa mendeklarasikan dan mengonfigurasi maksud. Misalnya, kamu bisa membagi Circuit menjadi beberapa box, menambahkan anotasi twirling ke setiap box, dan menentukan grup twirling mana yang akan digunakan, seperti yang ditunjukkan pada gambar berikut:

Contoh penggunaan box dan anotasi twirling

Circuit dengan box yang beranotasi kemudian bisa digunakan untuk menghasilkan template Circuit dan samplex. Template Circuit keluaran adalah Circuit berparameter yang akan dieksekusi tanpa perubahan lebih lanjut (selain memiliki nilai parameter yang berbeda). Samplex, yang merupakan tipe inti dari library Samplomatic, merepresentasikan distribusi probabilitas parametrik atas parameter template Circuit dan field lain yang bernilai array. Field-field ini dapat digunakan untuk mem-post-process data yang dikumpulkan dari eksekusi template Circuit yang telah di-bind. Dengan kata lain, pasangan template Circuit dan samplex memberi tahu primitif Executor (dijelaskan di bawah) persis parameter apa yang harus dihasilkan dan Circuit bound mana yang harus dijalankan. Karena kedua konstruk ini dibuat di sisi klien, kamu bisa melakukan inspeksi dan sampling lokal untuk memverifikasi keluaran sebelum mengirimkannya untuk eksekusi di hardware.

Untuk menyederhanakan proses pembuatan box beranotasi, library Samplomatic juga menyediakan transpiler passes yang secara otomatis mengelompokkan instruksi Circuit ke dalam box beranotasi, berdasarkan strategi yang kamu berikan.

Untuk mempelajari lebih lanjut tentang Samplomatic, kunjungi dokumentasi panduan dan referensi API. Silakan kirimkan masukan dan laporkan bug di repositori GitHub-nya.

Primitif Executor​

Executor adalah primitif Qiskit Runtime baru yang menerima pasangan template Circuit dan samplex sebagai input, menghasilkan dan mengikat nilai parameter sesuai samplex, mengeksekusi Circuit yang telah di-bind di hardware, serta mengembalikan hasil eksekusi dan metadata. Executor mengikuti arahan dari pasangan input dan tidak membuat keputusan implisit apapun untukmu, sehingga prosesnya transparan namun tetap performatif.

Untuk mengakses Executor, instal branch executor_preview dari qiskit-ibm-runtime:

pip install -U git+https://github.com/Qiskit/qiskit-ibm-runtime.git@executor_preview

Input dan output primitif Executor sangat berbeda dari Sampler dan Estimator. Lihat referensi API Executor untuk informasi lebih lanjut. Selain itu, panduan quickstart Executor menyediakan gambaran umum dan contoh kode.

NoiseLearnerV3​

Mirip dengan NoiseLearner saat ini, program helper Qiskit Runtime ini mengembalikan model noise Pauli-Lindblad sparse yang digunakan dalam banyak metode mitigasi error, termasuk PEC, PEA, dan PNA. Pada NoiseLearner asli, kamu memasukkan daftar Circuit, dan program membagi Circuit tersebut menjadi layer-layer lalu mengembalikan model noise untuk setiap layer unik. NoiseLearnerV3, di sisi lain, memberimu kontrol atas cara membagi Circuit, dan program hanya menerima daftar instruksi Circuit yang sudah di-box (misalnya, layer unik) sebagai input.

NoiseLearnerV3 juga mendukung pembelajaran noise pengukuran. Untuk setiap set instruksi dalam daftar input, program ini menjalankan protokol pembelajaran Pauli-Lindblad jika set tersebut mengandung Gate satu dan dua Qubit, dan protokol TREX jika set tersebut mengandung pengukuran. Untuk mengakses NoiseLearnerV3, instal branch executor_preview dari qiskit-ibm-runtime:

pip install -U git+https://github.com/Qiskit/qiskit-ibm-runtime.git@executor_preview

Untuk mempelajari lebih lanjut tentang NoiseLearnerV3, lihat dokumentasi referensi API-nya.

Langkah berikutnya​

Rekomendasi
Source: IBM Quantum docs β€” updated 27 Apr 2026
English version on doQumentation β€” updated 7 Mei 2026
This translation based on the English version of 11 Mar 2026