Pilih mod pelaksanaan yang sesuai
Beban kerja berskala utiliti boleh mengambil berjam-jam untuk selesai, jadi adalah penting agar sumber klasikal dan kuantum dijadualkan dengan cekap untuk melancarkan pelaksanaan. Mod pelaksanaan memberikan fleksibiliti dalam mengimbangi pertukaran kos dan masa untuk menggunakan sumber secara optimum bagi beban kerja anda. Terdapat beberapa aspek yang perlu dipertimbangkan semasa memilih mod pelaksanaan yang hendak digunakan, seperti jumlah masa pelaksanaan (masa hidup maksimum, atau TTL) dan masa antara kerja (TTL interaktif).
Manfaat setiap mod diringkaskan di bawah:
- Kelompok
- Keseluruhan kelompok kerja dijadualkan bersama dan tiada masa beratur tambahan untuk setiap kerja.
- Pengkomputeran klasikal kerja, seperti penyusunan, dijalankan secara selari. Oleh itu, menjalankan berbilang kerja dalam kelompok jauh lebih pantas berbanding menjalankannya secara bersiri.
- Biasanya terdapat kelewatan yang minima antara kerja, yang boleh membantu mengelakkan hanyutan.
- Jika anda membahagikan beban kerja kepada berbilang kerja dan menjalankannya dalam mod kelompok, anda boleh mendapatkan keputusan daripada kerja individu, yang menjadikannya lebih fleksibel untuk digunakan. Sebagai contoh, jika keputusan kerja tidak memenuhi jangkaan anda, anda boleh membatalkan kerja yang tinggal. Selain itu, jika satu kerja gagal, anda boleh menghantar semula kerja tersebut dan bukannya menjalankan semula keseluruhan beban kerja.
- Secara amnya lebih murah berbanding sesi.
- Session
- Semua fungsi daripada mod kelompok (tetapi memerlukan penggunaan yang lebih tinggi; lihat Penggunaan beban kerja untuk maklumat lanjut tentang cara penggunaan dikira).
- Akses khusus dan eksklusif kepada QPU semasa tetingkap aktif sesi.
- Berguna untuk beban kerja yang tidak mempunyai semua input sedia pada awalnya, untuk beban kerja berulang yang memerlukan pascapemprosesan klasikal sebelum beban kerja seterusnya boleh berjalan, dan untuk eksperimen yang perlu dijalankan sedekat mungkin antara satu sama lain.
- Kerja
- Paling mudah digunakan semasa menjalankan eksperimen kecil.
- Mungkin berjalan lebih awal berbanding mod kelompok.
Cadangan dan amalan terbaikβ
Secara amnya, gunakan mod kelompok melainkan anda mempunyai beban kerja yang tidak mempunyai semua input sedia pada awalnya.
-
Gunakan mod kelompok untuk menghantar berbilang kerja primitif serentak bagi memendekkan masa pemprosesan.
-
Gunakan mod sesi untuk beban kerja berulang, atau jika anda memerlukan akses khusus kepada QPU.
-
Sentiasa gunakan mod kerja untuk menghantar satu permintaan primitif.
-
Oleh sebab sesi secara amnya lebih mahal, adalah disyorkan agar anda menggunakan kelompok bila-bila masa anda tidak memerlukan manfaat tambahan daripada sesi.
-
Pengguna Pelan Terbuka tidak boleh menghantar kerja sesi.
Untuk memastikan penggunaan mod pelaksanaan yang paling cekap, amalan berikut adalah disyorkan:
-
Terdapat overhead tetap yang berkaitan dengan menjalankan kerja. Secara amnya, jika setiap kerja anda menggunakan kurang daripada satu minit masa QPU, pertimbangkan untuk menggabungkan beberapa kerja ke dalam satu kerja yang lebih besar (ini terpakai untuk semua mod pelaksanaan). "Masa QPU" merujuk kepada masa yang digunakan oleh kompleks QPU untuk memproses kerja anda.
-
Jika setiap kerja anda menggunakan lebih daripada satu minit masa QPU, atau jika menggabungkan kerja tidak praktikal, anda masih boleh menjalankan berbilang kerja secara selari. Setiap kerja melalui pemprosesan klasikal dan kuantum. Walaupun QPU hanya boleh memproses satu kerja pada satu masa, sehingga lima kerja klasikal boleh diproses secara selari. Anda boleh memanfaatkan ini dengan menghantar berbilang kerja dalam mod pelaksanaan kelompok atau sesi.
Perkara di atas ialah garis panduan umum, dan anda perlu menyelaraskan beban kerja untuk mencari nisbah optimum, terutamanya semasa menggunakan sesi. Sebagai contoh, jika anda menggunakan sesi untuk mendapatkan akses eksklusif kepada backend, pertimbangkan untuk memecahkan kerja besar kepada kerja yang lebih kecil dan menjalankannya secara selari. Ini mungkin lebih kos efektif kerana ia boleh mengurangkan masa jam dinding.
Contohβ
Jalankan algoritma variasi kuantumβ
Menjalankan algoritma variasi kuantum biasanya mengikuti aliran ini:
- Sediakan ansatz.
- Nilai fungsi kos pada QPU.
- Ambil keputusan daripada langkah sebelumnya dan jalankan melalui pengoptimum klasikal.
- Laraskan parameter mengikut output (3), kemudian kembali ke langkah (2).
Dalam kes ini, jika anda menggunakan mod kerja atau kelompok, setiap kerja yang dijana oleh langkah (2) perlu kembali melalui baris gilir. Ini meningkatkan panjang eksperimen (masa jam dinding) dengan ketara disebabkan masa beratur. Ia juga boleh mengambil masa lebih lama untuk menumpu disebabkan hanyutan peranti. Iaitu, setiap lelaran sepatutnya memberikan keputusan yang lebih baik, tetapi hanyutan peranti boleh menyebabkan keputusan seterusnya menjadi lebih buruk.
Selain itu, jika anda menggunakan PEA atau PEC, anda boleh mempelajari model hingar sekali dan menggunakannya pada kerja seterusnya semasa menjalankan dalam sesi khusus. Ini biasanya tidak berfungsi dengan mod kelompok atau kerja kerana model hingar boleh menjadi lapuk menjelang kerja seterusnya keluar dari baris gilir.
Bandingkan tetapan pengurangan ralatβ
Untuk membandingkan kesan kaedah pengurangan ralat yang tersedia, anda mungkin mengikuti aliran ini:
- Bina Circuit dan observable.
- Hantar kerja primitif yang menggunakan kombinasi tetapan pengurangan ralat yang berbeza.
- Plot keputusan untuk memerhatikan kesan pelbagai tetapan.
Dalam kes ini, semua kerja (yang berkaitan tetapi bebas) tersedia pada awalnya. Jika anda menggunakan mod kelompok, ia dijadualkan secara kolektif supaya anda hanya perlu menunggu satu kali sahaja untuk melalui baris gilir. Selain itu, oleh sebab matlamatnya adalah untuk membandingkan kesan pelbagai kaedah pengurangan ralat, adalah bermanfaat jika ia dijalankan sedekat mungkin antara satu sama lain. Oleh itu, kelompok adalah pilihan yang baik. Anda boleh menjalankan kerja ini dalam sesi, tetapi oleh sebab sesi secara amnya lebih mahal, adalah disyorkan agar anda menggunakan kelompok bila-bila masa anda tidak memerlukan fungsi tambahan yang disediakan oleh sesi.