Pemecahan masalah umum di Azure Quantum
Saat bekerja dengan layanan Azure Quantum, Anda mungkin mengalami masalah umum ini. Lihat bagaimana Anda dapat memecahkannya.
Menyambungkan ke ruang kerja Anda
Masalah: Tidak dapat mengautentikasi ke Azure Quantum melalui pytket-azure CI
Saat mencoba mengautentikasi ke Azure Quantum melalui pytket-azure
paket di lingkungan CI menggunakan variabel lingkungan "AZURE_TENANT_ID", "AZURE_CLIENT_ID", dan "AZURE_CLIENT_SECRET", Anda mungkin mengalami kesalahan:
Code: InsufficientPermissions
Message: There are not enough permissions to perform this operation.
Untuk mengatasi masalah ini, coba autentikasi menggunakan string koneksi dan variabel lingkungan "AZURE_QUANTUM_CONNECTION_STRING" sebagai gantinya. Untuk informasi selengkapnya, lihat Menyambungkan dengan string koneksi.
connection_string = "[Copy connection string]"
import os
os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string
Mengirimkan pekerjaan
Masalah: Hilang targets
target Jika tempat Anda ingin menjalankan pekerjaan Anda hilang dari daftar yang tersediatarget, Anda mungkin perlu memperbarui ke versi Quantum Development Kit terbaru untuk Visual Studio Code. Untuk informasi selengkapnya, lihat Memperbarui QDK.
Masalah: Operasi mengembalikan kode status yang tidak valid 'Tidak Sah'
Langkah-langkah untuk mengatasi masalah ini:
Buka portal Azure Anda (https://portal.azure.com) dan autentikasi akun Anda.
Di bawah Navigasi, pilih Langganan dan pilih langganan Anda.
Pilih Kontrol Akses (IAM) .
Di bawah Periksa akses, cari alamat email Anda dan pilih akun.
Anda tidak akan melihat peran Pemilik atau Kontributor tercantum.
Pilih tab Penetapan peran.
Catatan
Jika tidak melihat tab Penetapan peran, Anda mungkin perlu memperluas portal ke layar penuh atau menutup panel penetapan <nama Anda>.
Pilih menu dropdown Peran, pilih Pemilik atau Kontributor, lalu masukkan alamat email Anda dan pilih akun Anda.
Pilih Simpan.
Anda sekarang akan melihat set akun Anda dikonfigurasi dengan peran Pemilik atau Kontributor.
Buat ruang kerja Azure Quantum Anda lagi lalu kirimkan pekerjaan terhadap Ruang Kerja baru ini.
Masalah: "AuthorizationFailure - Permintaan ini tidak berwenang untuk melakukan operasi ini"
Jika pengiriman pekerjaan gagal dengan pesan ini meskipun Anda memiliki koneksi yang valid ke layanan Azure Quantum, akun penyimpanan dapat dikonfigurasi untuk memblokir akses jaringan publik. Layanan Azure Quantum hanya mendukung akun penyimpanan melalui akses internet publik.
Untuk memeriksa akun penyimpanan:
- Pada halaman ruang kerja kuantum di Portal Microsoft Azure, pilih Gambaran Umum dan pilih akun penyimpanan.
- Pada halaman akun penyimpanan, di Keamanan + jaringan, pilih Jaringan.
- Di tab Firewall dan jaringan virtual di Akses jaringan publik, pastikan bahwa Aktifkan semua jaringan dipilih.
Masalah: "Gagal mengompilasi program" ketika mencoba mengirimkan program Q# melalui CLI
Saat mencoba mengirimkan pekerjaan di command prompt menggunakan perintah az quantum submit
, Anda mungkin menemukan pesan kesalahan berikut:
az quantum job submit ...
Failed to compile program.
Command ran in 21.181 seconds (init: 0.457, invoke: 20.724)
Kesalahan ini terjadi ketika ada masalah dengan program Q# yang menyebabkan kompilasi gagal.
Masalah: Kesalahan pengkompilasi "Jumlah parameter gerbang yang salah"
Saat mengirimkan pekerjaan ke Quantinuum dari Jupyter Notebook lokal atau lingkungan baris perintah, dan menggunakan penerjemah QASM warisan (OPENQASM 2.0), Anda mungkin mengalami kesalahan ini:
Job ID <jobId> failed or was cancelled with the message: 1000: Compile error: [<file, line>] Wrong number of gate parameters
Kesalahan ini terjadi ketika koma "," atau karakter non-periode lainnya digunakan sebagai pemisah desimal, seperti yang umum dalam banyak bahasa. Ganti pemisah desimal non-periode dengan titik ".".
// replace this line:
rx(1,5707963267948966) q[0];
// with this:
rx(1.5707963267948966) q[0];
Catatan
Masalah ini tidak terjadi di notebook yang dihosting di portal Azure Quantum, hanya di lingkungan pengembangan lokal.
Masalah: Kesalahan kompilator "tidak tersedia untuk konfigurasi kompilasi saat ini"
Saat Anda menjalankan sel kode Q# di Jupyter Notebook di Visual Studio Code, Anda mungkin mengalami kesalahan:
<function name> not found. Found a matching item `<function name>' that is not available for the current compilation configuration
Kesalahan ini menunjukkan bahwa profil QIR target diatur ke Dasar dan fungsi yang dimaksud memerlukan profil Tidak Dibatasitarget . Untuk mengatur profil ke target Tidak Dibatasi:
- Saat berada di program Q# Anda di Visual Studio Code, pilih Q#: Basis QIR di bilah status bawah.
- Dari opsi yang ditampilkan di bilah status atas, pilih Q#: tidak dibatasi.
Masalah: Operasi mengembalikan kode status tidak valid 'Terlarang'
Saat mengirimkan pekerjaan pertama, Anda mungkin mendapatkan kode kesalahan 'terlarang'.
Masalah ini dapat terjadi selama pembuatan ruang kerja: Azure Quantum gagal menyelesaikan penetapan peran untuk menautkan ruang kerja baru ke akun penyimpanan yang ditentukan. Skenario umum untuk situasi ini terjadi jika tab atau jendela browser web ditutup sebelum pembuatan ruang kerja selesai.
Anda dapat memverifikasi bahwa Anda mengalami masalah penetapan peran ini dengan mengikuti langkah-langkah berikut:
- Menavigasi ke ruang kerja kuantum baru Anda di portal Azure
- Di bawah Ringkasan>akun Penyimpanan Esensial>, pilih tautan akun penyimpanan
- Di bilah navigasi kiri, pilih Access Control (IAM)
- Pilih Penetapan Peran
- Verifikasi bahwa ruang kerja Anda muncul sebagai Kontributor
- Jika ruang kerja tidak muncul sebagai Kontributor , Anda dapat:
- Buat ruang kerja baru, dan pastikan untuk menunggu pembuatan ruang kerja selesai sebelum menutup tab atau jendela browser web.
- Menambahkan penetapan peran yang tepat di bawah akun penyimpanan
- > Access Control (IAM) Menambahkan penetapan peran
- Peran > Kontributor
- Tetapkan akses ke > Pengguna, grup, atau perwakilan layanan
- Pilih [Nama ruang kerja] >
- Simpan
Masalah: Pekerjaan gagal dengan kode kesalahan: QIRPreProcessingFailed
Saat Anda mengirimkan pekerjaan ke penyedia Rigetti, pekerjaan gagal dan dilaporkan di konsol manajemen Pekerjaan di portal Azure:
Error code: QIRPreProcessingFailed
Error message: No match found for output recording set converter from outputrecordingset.v2.labeled to outputrecordingset.v1.nonlabeled
Kesalahan ini mungkin disebabkan oleh konflik dependensi dengan versi pyqir atau qiskit-qir sebelumnya. Hapus instalan semua versi pyqir, pyqir-*, dan qiskit-qir di komputer lokal Anda, lalu instal atau perbarui paket Python azure-quantum menggunakan parameter [qiskit]:
pip install --upgrade azure-quantum[qiskit]
Masalah: Mengambil informasi dasar tentang pekerjaan yang gagal
Setelah Anda mengirimkan pekerjaan ke perangkat keras target, pekerjaan Anda mungkin berada dalam antrean selama beberapa jam, atau bahkan satu atau dua hari, sebelum gagal.
Untuk mengambil informasi selengkapnya tentang kegagalan:
get_results()
Gunakan metode dengan objek pekerjaan untuk melihat output atau pesan kesalahan yang dikembalikan:
job.get_results()
- Di ruang kerja Portal Microsoft Azure Anda, pilih Manajemen Pekerjaan Operasi>, lalu pilih Nama pekerjaan untuk membuka panel detail.
- Di ruang kerja Portal Microsoft Azure Anda, pilih Penyedia Operasi>. Verifikasi ketersediaan target komputer. Pekerjaan yang dikirimkan ke targets dengan status Terdegradasi mungkin tetap dalam antrean lebih lama dari biasanya. Terkadang pekerjaan diproses, tetapi terkadang mereka kehabisan target waktu dan mengembalikan kesalahan tidak tersedia.
Masalah: Saya terus diminta untuk mengautentikasi saat menyambungkan secara terprogram ke ruang kerja saya
Jika Anda menggunakan Azure Quantum Python SDK (dalam notebook Jupyter misalnya) dan menyambungkan ke ruang kerja Anda menggunakan kelas AzureQuantumProvider, Anda mungkin mengalami pop-up untuk mengautentikasi ke Azure setiap kali Anda menjalankan skrip Anda.
Ini terjadi karena token keamanan Anda sedang direset setiap kali Anda menjalankan skrip.
Anda dapat mengatasi masalah ini dengan menjalankan az login
menggunakan Azure CLI. Untuk informasi selengkapnya, lihat az login.
Masalah: Setelah memperbarui paket azure-quantum, saya mendapatkan kesalahan "ModuleNotFoundError: Tidak ada modul bernama qiskit.tools" saat memantau pekerjaan
Pada Qiskit 1.0, qiskit.tools
modul, yang diperlukan untuk job_monitor()
fungsi, telah ditolak. Untuk memantau pekerjaan, gunakan wait_for_final_state()
fungsi atau result
.
job = MyTarget.run(circuit, shots=100)
# to wait until the job is complete
job.wait_for_final_state()
# to return the results of the job
result = job.result()
Estimator Sumber Daya Azure Quantum
Skenario umum berikut dapat mencegah pekerjaan estimasi sumber daya selesai. Lihat cara mengatasinya.
Masalah: Algoritma kuantum harus berisi setidaknya satu status atau pengukuran T
Untuk memperhitungkan pemetaan program kuantum arbitrer ke array 2D kubit logis, Estimator Sumber Daya mengasumsikan bahwa Komputasi Pauli Berurutan Sintesis Paralel (PSSPC) (lihat arXiv:2211.07629, Lampiran D) dilakukan pada inputprogram. Dalam pendekatan itu, semua operasi Clifford disusun melalui semua gerbang T, gerbang rotasi, dan operasi pengukuran, meninggalkan satu operasi Clifford yang dapat dievaluasi secara efisien secara klasifikasi. Oleh karena itu, program kuantum yang tidak berisi status T, misalnya dari gerbang T atau gerbang rotasi, atau operasi pengukuran tidak memerlukan sumber daya komputasi kuantum fisik.
Error message: Algorithm requires at least one T state or measurement to estimate resources
Masalah: Tingkat kesalahan gerbang T Fisik terlalu tinggi
Tingkat kesalahan status T logis tergantung pada anggaran kesalahan dan jumlah status T dalam program kuantum. Pabrik T digunakan untuk membuat status T dengan tingkat kesalahan status T logis yang diperlukan dari gerbang T fisik, yang memiliki tingkat kesalahan gerbang T fisik . Biasanya, tingkat kesalahan gerbang T fisik jauh lebih tinggi daripada tingkat kesalahan gerbang T logis yang diperlukan. Dalam beberapa skenario, tingkat kesalahan gerbang T fisik jauh lebih tinggi dibandingkan dengan tingkat kesalahan status T logis yang diperlukan, sehingga tidak ada pabrik T yang dapat ditemukan yang dapat menghasilkan status T logis dengan kualitas yang memadai.
Error message: No T factory can be found, because the required logical T state error rate is too low
Berikut adalah apa yang dapat Anda lakukan dalam skenario seperti itu:
- Tingkatkan anggaran kesalahan, baik total atau bagian untuk status T.
- Kurangi tingkat kesalahan gerbang T fisik dalam parameter qubit.
- Kurangi jumlah status T dalam program kuantum dengan mengurangi gerbang T, gerbang rotasi, dan gerbang Toffoli.
Masalah: Tingkat kesalahan gerbang T fisik terlalu rendah
Ada juga skenario yang berlawanan, di mana tingkat kesalahan gerbang T fisik lebih rendah dari tingkat kesalahan status T logis yang diperlukan. Dalam kasus seperti itu, tidak ada pabrik T yang diperlukan, karena tingkat kesalahan gerbang T fisik sudah memiliki kualitas yang memadai. Namun, ini membutuhkan pertimbangan yang cermat tentang dampak unit transfer yang mentransfer status T fisik dari jarak kode 1 ke jarak kode algoritma (lihat arXiv:2211.07629, Lampiran C). Secara umum, di hadapan pabrik T, biaya unit transfer dapat diabaikan.
Error message: No T factory can be found, because the required logical T state error rate is too high; transfer units are necessary to perform a resource estimation accurately. One possibility to circumvent this problem is to increase the physical T gate error rate of the qubit parameters.
Berikut adalah apa yang dapat Anda lakukan dalam skenario seperti itu:
- Tingkatkan tingkat kesalahan gerbang T fisik dalam parameter qubit ke tingkat kesalahan status T logis yang diperlukan.
- Kurangi anggaran kesalahan atau hanya bagian untuk status T.
Masalah: Tingkat kesalahan harus berupa angka antara 0 dan 1
Tingkat kesalahan harus selalu berupa nilai antara 0 dan 1. Selain itu, agar koreksi kesalahan efektif, tingkat kesalahan fisik untuk gerbang dan pengukuran harus di bawah nilai yang tergantung pada properti kode koreksi kesalahan dan tingkat kesalahan logis yang diperlukan.
Berikut adalah apa yang dapat Anda lakukan dalam skenario seperti itu:
- Tingkatkan anggaran kesalahan, baik total atau bagian untuk kesalahan logis.
- Kurangi tingkat kesalahan fisik dalam parameter qubit.
Masalah: Batasan runtime maksimum dan jumlah maksimum kubit fisik saling eksklusif
Estimator Sumber Daya hanya menerima salah maxDuration
satu atau maxPhysicalQubits
batasan pada saat itu tetapi bukan dua. Jika Anda memberikan batasan maxDuration
dan maxPhysicalQubits
untuk satu pekerjaan, itu mengembalikan BothDurationAndPhysicalQubitsProvided
kesalahan.
Masalah: Jalankan kontainer hitungan perkiraan QIR: simbol yang tidak ditentukan __quantum__rt__result_record_output
Kesalahan ini dihasilkan dari pembuatan sirkuit QIR for Qiskit melalui paket Python qiskit_qir tanpa mengatur record_output
parameter ke False
.
Untuk menghindari kesalahan ini, lakukan salah satu hal berikut:
- Gunakan paket Python azure_quantum untuk mengirimkan sirkuit Qiskit ke Azure Quantum (disarankan).
- Saat menggunakan paket Python qiskit_qir , pastikan untuk mengatur
record_output
parameter sebelumFalse
mengirimkan sirkuit Anda.
Membuat ruang kerja Azure Quantum
Masalah berikut dapat terjadi saat Anda menggunakan portal Azure untuk membuat ruang kerja.
Masalah: Anda tidak dapat mengakses formulir pembuatan ruang kerja di portal Azure; Anda diminta untuk mendaftar langganan sebagai gantinya
Masalah ini terjadi karena Anda tidak memiliki langganan aktif.
Misalnya, Anda mungkin telah mendaftar untuk langganan Azure uji coba gratis 30 hari, yang mencakup Kredit Azure gratis USD200 untuk digunakan pada layanan Azure. Perhatikan bahwa kredit Azure ini tidak sama dengan Kredit Azure Quantum dan tidak memenuhi syarat untuk digunakan pada penyedia perangkat keras kuantum. Setelah 30 hari mendaftar atau setelah Anda menggunakan kredit Azure gratis $200 (mana pun yang terjadi terlebih dahulu), Anda harus meningkatkan ke langganan bayar sesuai pemakaian untuk terus menggunakan layanan Azure Quantum. Setelah Anda memiliki langganan aktif, portal Azure akan memungkinkan Anda mengakses formulir pembuatan ruang kerja.
Untuk melihat daftar langganan dan peran terkait Anda, lihat Memeriksa langganan Anda.
Masalah: Opsi Buat cepat tidak tersedia
Anda harus menjadi Pemilik langganan yang Anda pilih untuk menggunakan opsi Buat cepat. Untuk melihat daftar langganan dan peran terkait Anda, lihat Memeriksa langganan Anda. Jika Anda adalah Kontributor langganan, Anda bisa menggunakan opsi Buat tingkat lanjut untuk membuat ruang kerja.
Masalah: Anda tidak dapat membuat atau memilih grup sumber daya atau akun penyimpanan
Masalah ini terjadi karena Anda tidak memiliki otorisasi yang diperlukan di tingkat langganan, grup sumber daya, atau akun penyimpanan. Untuk informasi selengkapnya tentang tingkat akses yang diperlukan, lihat Persyaratan peran untuk membuat ruang kerja.
Masalah: Pesan kesalahan "Validasi Penyebaran Gagal" muncul setelah Anda memilih Buat
Pesan kesalahan ini mungkin menyertakan detail lebih lanjut seperti "Klien tidak memiliki otorisasi untuk melakukan tindakan."
Masalah ini terjadi karena Anda tidak memiliki otorisasi yang diperlukan di tingkat langganan, grup sumber daya, atau akun penyimpanan. Untuk informasi selengkapnya tentang tingkat akses yang diperlukan, lihat Persyaratan peran untuk membuat ruang kerja.
Jika akses baru-baru ini diberikan, Anda mungkin perlu me-refresh halaman. Terkadang perlu waktu hingga satu jam agar penetapan peran baru berlaku atas izin yang di-cache di seluruh tumpukan.
Masalah: Anda tidak melihat penyedia perangkat keras kuantum tertentu di tab Penyedia
Masalah ini terjadi karena penyedia tidak mendukung wilayah penagihan tempat langganan Anda diatur. Misalnya, jika langganan Anda diatur di Israel, tab Penyedia tidak akan mencantumkan Rigetti sebagai penyedia yang tersedia. Untuk daftar penyedia dan ketersediaannya menurut negara/wilayah, lihat Ketersediaan global penyedia Azure Quantum.
Masalah: Pembuatan ruang kerja atau penambahan/penghapusan penyedia gagal dengan "ResourceDeploymentFailure" atau "ProviderDeploymentFailure"
Masalah ini dapat mencakup detail lebih lanjut seperti "ResourceDeploymentFailure - Operasi sumber daya 'AzureAsyncOperationWaiting' yang diselesaikan dengan status penyediaan terminal 'Gagal'.", atau "ProviderDeploymentFailure - Gagal membuat rencana untuk penyedia: <Nama penyedia>".
Ini terjadi karena penyewa belum mengaktifkan pembelian Marketplace Azure. Ikuti langkah-langkah dalam Mengaktifkan pembelian Marketplace Azure untuk mengaktifkan pembelian Marketplace Azure.
Masalah: Menyebarkan ruang kerja kuantum atau menyebarkan akun penyimpanan gagal dengan salah satu kesalahan berikut:
- Ruang kerja: "Operasi penulisan sumber daya gagal diselesaikan, karena mencapai status penyediaan terminal 'Gagal'".
- Akun penyimpanan: "Penyebaran templat gagal karena pelanggaran kebijakan".
Masalah ini dapat terjadi jika kebijakan keamanan langganan Anda memblokir pembuatan akun penyimpanan yang mengaktifkan akses publik. Layanan Azure Quantum hanya mendukung akun penyimpanan melalui akses internet publik.
Untuk mengatasinya, bekerja samalah dengan administrator langganan Anda untuk mendapatkan pengecualian untuk akun penyimpanan yang ingin Anda gunakan.
Portal Azure Quantum
Masalah: Buku catatan tersimpan tidak dimuat
Setelah memilih Buku Catatan di ruang kerja Anda, daftar buku catatan tersimpan Anda menampilkan bilah kemajuan tetapi tidak pernah dimuat.
Ini dapat terjadi karena tiga alasan:
Jika akun penyimpanan tidak ada lagi. Ini dapat terjadi jika akun penyimpanan yang ditautkan ke ruang kerja dihapus. Untuk memverifikasi, pilih halaman Gambaran Umum untuk ruang kerja dan pilih tautan ke akun penyimpanan. Jika akun penyimpanan telah dihapus, Anda akan melihat kesalahan 404 - Tidak ditemukan .
Jika akun penyimpanan tidak diaktifkan untuk akses internet publik. Lihat Kegagalan otorisasi untuk informasi selengkapnya.
Jika identitas terkelola ruang kerja bukan Kontributor ke akun penyimpanan. Periksa apakah identitas ruang kerja (yang menggunakan nama yang sama dengan ruang kerja) masih memiliki penetapan peran Kontributor ke akun penyimpanan. Untuk memverifikasi, pilih halaman Gambaran Umum untuk ruang kerja dan pilih tautan ke akun penyimpanan. Pada halaman Gambaran Umum untuk akun penyimpanan, pilih Kontrol akses (IAM) dan verifikasi bahwa ruang kerja tercantum di bawah Kontributor.