Integrasi komputasi kuantum dengan aplikasi klasik

Azure Quantum
Azure Key Vault
Microsoft Entra ID

Komputasi klasik semakin tertantang dengan masalah komputasi paling kompleks saat ini - bahkan pada skala superkomputer kami yang paling kuat. Komputer Kuantum memegang janji untuk memperluas kemampuan komputasi kita secara dramatis. Dengan mengeksploitasi sifat fisika kuantum untuk melakukan komputasi, mereka memberikan speedup eksponensial untuk jenis masalah tertentu. Misalnya, komputer kuantum sangat baik dengan masalah yang memerlukan perhitungan sejumlah besar kemungkinan kombinasi yang sering ditemukan dalam skenario pengoptimalan, simulasi, atau pembelajaran mesin.

Namun, komponen komputasi kuantum memiliki model operasi yang berbeda dari perangkat lunak klasik. Biasanya ada satu atau beberapa komponen komputasi klasik yang mengatur eksekusi komponen kuantum. Orkestrasi ini mencakup aktivitas berikut:

  • Persiapan data input
  • Pengiriman pekerjaan komputasi kuantum ke lingkungan kuantum target
  • Pemantauan eksekusi pekerjaan
  • Pasca-pemrosesan hasil pekerjaan

Anda dapat mengintegrasikan orkestrasi ini dengan aplikasi klasik dengan salah satu dari dua cara:

  • Integrasi melalui kopling yang ketat. Logika untuk orkestrasi sumber daya kuantum diintegrasikan ke dalam komponen atau komponen klasik.
  • Integrasi melalui kopling longgar. Logika untuk orkestrasi sumber daya kuantum diekspos sebagai API yang dapat dipanggil oleh berbagai komponen perangkat lunak klasik.

Artikel ini menjelaskan cara menerapkan aplikasi kuantum di masing-masing desain ini. Setiap implementasi menggunakan Azure Quantum sebagai mesin komputasi kuantum tetapi sedikit berbeda dalam aspek lain seperti yang dijelaskan di bawah ini.

Pendekatan yang digabungkan dengan erat

Kemungkinan kasus penggunaan

Pendekatan yang digabungkan erat lebih disukai dalam kasus ini:

  • Satu tim memiliki kode kuantum dan kode klasik, dan kode terintegrasi.
  • Komponen kuantum memiliki siklus hidup yang sama dengan komponen klasik.
  • Penggunaan komponen kuantum terbatas pada satu aplikasi atau sekumpulan kecil aplikasi terkait.
  • Pekerjaan kuantum mewakili solusi khusus (misalnya, simulasi molekuler) yang hanya akan digunakan oleh satu aplikasi klasik khusus.
  • Algoritma yang diimplementasikan bersifat klasik kuantum hibrid, misalnya, Kuantum Variasional Eigensolver (VQE) dan Algoritma Pengoptimalan Perkiraan Kuantum (QAOA).

Sistem

Diagram arsitektur yang menunjukkan aplikasi hibrid yang berisi pekerjaan komputasi kuantum yang digabungkan dengan erat.

Unduh file PowerPoint arsitektur ini.

Aliran data

  1. Pengguna yang masuk memicu eksekusi pekerjaan kuantum melalui aplikasi klien klasik.
  2. Aplikasi klien menempatkan data input ke Azure Storage.
  3. Aplikasi klien mengirimkan pekerjaan ke ruang kerja Azure Quantum, menentukan target atau target eksekusi. Klien mengidentifikasi ruang kerja melalui data yang disimpan di Key Vault dan mengautentikasi ke ruang kerja melalui identitas terkelola.
  4. Penyedia kuantum menjalankan pekerjaan pada lingkungan target.
  5. Aplikasi klien memantau eksekusi pekerjaan dengan status pekerjaan polling.
  6. Segera setelah pekerjaan kuantum selesai, aplikasi klien mendapatkan hasil komputasi dari Storage.

Alur kerja ini mengimplementasikan pola Balasan Permintaan Asinkron dan langkah-langkah yang ditentukan untuk siklus hidup pekerjaan Azure Quantum.

Komponen

  • Azure Quantum menyediakan ruang kerja, dapat diakses dari portal Azure, untuk aset yang terkait dengan menjalankan pekerjaan kuantum pada berbagai target. Pekerjaan dijalankan pada simulator kuantum atau perangkat keras kuantum, tergantung pada penyedia yang Anda pilih.
  • MICROSOFT Entra ID mengoordinasikan autentikasi pengguna dan membantu melindungi akses ke ruang kerja Azure Quantum.
  • Key Vault melindungi dan mempertahankan kontrol kunci dan rahasia lainnya, seperti nama ruang kerja Azure Quantum.
  • Azure Storage menyediakan penyimpanan untuk data input dan hasil dari penyedia kuantum.

Ketersediaan

Ketersediaan fungsionalitas komputasi kuantum sangat bergantung pada ketersediaan dan basis penginstalan penyedia komputasi kuantum. Bergantung pada target komputasi, aplikasi klien klasik mungkin mengalami penundaan panjang atau tidak tersedianya target.

Untuk layanan Azure di sekitarnya, pertimbangan ketersediaan yang biasa berlaku:

Keamanan

Tidak seperti arsitektur untuk alternatif yang digabungkan secara longgar, arsitektur yang disajikan di sini didasarkan pada asumsi bahwa hanya satu klien yang mengakses ruang kerja Azure Quantum. Skenario ini mengarah ke konfigurasi berikut:

  • Karena klien diketahui, Anda dapat menerapkan autentikasi melalui identitas terkelola, yang terkait dengan aplikasi.
  • Anda dapat menerapkan pembatasan permintaan dan penembolokan hasil di klien itu sendiri.

Secara umum, pertimbangkan untuk menerapkan pola desain umum untuk keamanan jika sesuai.

Pendekatan yang digabungkan secara longgar

Kemungkinan kasus penggunaan

Pendekatan yang digabungkan secara longgar lebih disukai dalam kasus ini:

  • Anda memiliki tim khusus spesialis kuantum yang secara terpusat menyediakan fungsionalitas kuantum untuk tim lain dan komponen kuantum dikembangkan secara independen dari komponen klien klasik apa pun.
  • Pekerjaan kuantum mewakili solusi umum (misalnya, penjadwalan pekerjaan) yang dapat digunakan kembali oleh beberapa aplikasi klasik.

Sistem

Diagram arsitektur yang menunjukkan aplikasi hibrid yang berisi pekerjaan komputasi kuantum yang digabungkan secara longgar.

Unduh file PowerPoint arsitektur ini.

Aliran data

  1. Pengguna yang masuk memicu eksekusi pekerjaan kuantum melalui aplikasi klasik.
  2. Aplikasi klasik memanggil API pekerjaan kustom untuk mengirimkan pekerjaan.
  3. Gateway API memicu fungsi Azure pengiriman pekerjaan, yang meneruskan data input pekerjaan.
  4. Fungsi ini menempatkan data input ke Azure Storage.
  5. Fungsi mengirimkan pekerjaan ke ruang kerja Azure Quantum, menentukan target atau target eksekusi. Fungsi ini mengidentifikasi ruang kerja melalui data yang disimpan di Azure Key Vault dan mengautentikasi ke ruang kerja melalui identitas terkelola.
  6. Penyedia kuantum menjalankan pekerjaan pada lingkungan target.
  7. Aplikasi klien memantau eksekusi pekerjaan dengan melakukan polling status pekerjaan melalui panggilan API.
  8. Gateway API memantau eksekusi pekerjaan dengan melakukan polling status pekerjaan dari penyedia kuantum.
  9. Setelah pekerjaan selesai, hasil komputasi disimpan di Azure Storage. Aplikasi klien mendapatkan hasil dengan menggunakan API yang diimplementasikan melalui fungsi Azure.

Alur kerja ini mengimplementasikan pola Balasan Permintaan Asinkron dan langkah-langkah yang ditentukan untuk siklus hidup pekerjaan Azure Quantum.

Komponen

  • Azure Quantum menyediakan ruang kerja, dapat diakses dari portal Azure, untuk aset yang terkait dengan menjalankan pekerjaan kuantum pada berbagai target. Pekerjaan dijalankan pada simulator kuantum atau perangkat keras kuantum, tergantung pada penyedia yang Anda pilih.
  • MICROSOFT Entra ID mengoordinasikan autentikasi pengguna dan membantu melindungi akses ke ruang kerja Azure Quantum.
  • API Management adalah gateway API yang secara terpusat mengekspos titik akhir API untuk manajemen pekerjaan kuantum.
  • Azure Functions digunakan untuk meneruskan permintaan klien ke sumber daya kuantum yang sesuai.
  • Azure Key Vault melindungi dan mempertahankan kontrol kunci dan rahasia lainnya, seperti nama ruang kerja Azure Quantum.
  • Azure Storage menyediakan penyimpanan untuk data input dan hasil dari penyedia kuantum.

Ketersediaan

Ketersediaan fungsionalitas komputasi kuantum sangat tergantung pada ketersediaan dan basis penginstalan penyedia komputasi kuantum. Bergantung pada target komputasi, aplikasi klien klasik mungkin mengalami penundaan panjang atau tidak tersedianya target.

Untuk layanan Azure di sekitarnya, pertimbangan ketersediaan yang biasa berlaku:

Performa dan skalabilitas

Performa aplikasi tergantung pada ketersediaan dan performa target komputasi kuantum yang mendasar. Untuk informasi tentang performa dan skalabilitas komponen klasik, tinjau pola desain umum untuk skalabilitas dan daftar periksa efisiensi performa.

Keamanan

Tidak seperti arsitektur untuk alternatif yang digabungkan dengan erat, arsitektur yang disajikan di sini didasarkan pada asumsi bahwa beberapa klien mengakses ruang kerja Azure Quantum melalui API. Skenario ini mengarah ke konfigurasi berikut:

  • Klien harus mengautentikasi ke API. Anda dapat menerapkan autentikasi ini dengan menggunakan kebijakan autentikasi.
  • Anda dapat menerapkan autentikasi fungsi Azure melalui identitas terkelola yang terkait dengan fungsi. Anda dapat menggunakan identitas ini untuk mengautentikasi ke ruang kerja Azure Quantum.
  • Beberapa klien mengakses API. Anda dapat menerapkan pembatasan permintaan dengan menggunakan pembatasan permintaan API Management untuk melindungi back end kuantum dan membatasi penggunaan sumber daya kuantum.
  • Bergantung pada pola permintaan, Anda mungkin dapat menerapkan penembolokan hasil komputasi kuantum dengan menggunakan kebijakan penembolokan API Management.

Secara umum, pertimbangkan untuk menerapkan pola desain umum untuk keamanan jika sesuai.

Fitur umum

Fitur-fitur berikut umum untuk model implementasi yang digabungkan dengan erat dan digabungkan secara longgar

Alternatif

Arsitektur yang disajikan di sini adalah untuk masalah bisnis yang memerlukan sumber daya komputasi kuantum untuk tugas komputasi mereka. Untuk beberapa tantangan komputasi, layanan yang ada yang dibangun untuk melakukan komputasi berkinerja tinggi atau menyediakan fungsionalitas AI mungkin merupakan alternatif.

Pertimbangan

Beberapa target kuantum Azure (terutama perangkat keras kuantum) akan menjadi sumber daya terbatas untuk masa depan yang dapat diperkirakan. Akses ke sumber daya ini diimplementasikan melalui mekanisme antrean. Saat Anda mengirimkan pekerjaan kuantum ke Azure Quantum, pekerjaan ini ditambahkan ke antrean pekerjaan. Pekerjaan akan dijalankan, setelah target selesai memproses entri antrean sebelumnya. Anda dapat memperoleh waktu tunggu yang diharapkan dengan mencantumkan target yang tersedia. Untuk menghitung waktu respons penuh, Anda perlu menambahkan waktu yang dihabiskan untuk menunggu sumber daya yang tersedia ke waktu eksekusi pekerjaan.

Performa dan skalabilitas

Performa aplikasi tergantung pada ketersediaan dan performa target komputasi kuantum yang mendasar. Untuk informasi tentang performa dan skalabilitas komponen klasik, tinjau pola desain umum untuk skalabilitas dan daftar periksa efisiensi performa.

Ketahanan

Karena lingkungan target kuantum seperti Azure Quantum biasanya memberikan koreksi kesalahan terbatas (terbatas pada prosesor kuantum dalam kasus Azure Quantum), kesalahan lain seperti batas waktu mesin kuantum mungkin masih terjadi sehingga disarankan untuk memantau eksekusi pekerjaan sehingga Anda dapat memberi tahu pengguna tentang status pekerjaan. Ketika eksekusi pekerjaan gagal karena kesalahan sementara, terapkan pola coba lagi. Kirimkan pekerjaan melalui panggilan asinkron, dengan polling untuk hasilnya, untuk menghindari pemblokiran klien panggilan yang tidak perlu.

Karena sumber daya komputasi kuantum biasanya terbatas, harapan ketahanan harus mempertimbangkan faktor ini. Dengan demikian, saran yang ditawarkan dalam artikel ini dapat memberikan langkah-langkah ketahanan tambahan.

DevOps

Menggabungkan pekerjaan kuantum ke dalam alur CI/CD klasik dapat dicapai menggunakan Azure DevOps dengan perubahan kecil pada desain biasa. Desain di bawah ini menggambarkan alur kerja alur DevOps yang dapat diterapkan ke arsitektur yang digabungkan dengan erat dan digabungkan secara longgar.

Sistem

Diagram arsitektur yang menunjukkan alur CI/CD klasik dengan Azure Quantum yang dimasukkan ke dalamnya.

Unduh file PowerPoint arsitektur ini.

Aliran data

  1. Pengembang mengubah kode sumber komponen aplikasi.
  2. Perubahan dilakukan pada repositori kode sumber.
  3. Perubahan kode kuantum memicu pipa build kuantum. Pipa build memeriksa kode, mengkompilasinya, memperkirakan sumber daya yang diperlukan, dan menjalankan algoritma pada simulator.
  4. Algoritma kuantum yang dikompilasi diserahkan ke lingkungan kuantum untuk pengujian.
  5. Perubahan memicu pipeline build untuk komponen klasik. Pipeline memeriksa kode, mengkompilasinya, dan menjalankan unit dan tes integrasi.
  6. Kompilasi dan pengujian yang berhasil memicu pipeline rilis. Pipeline pertama-tama menyediakan lingkungan Azure dengan menerapkan templat Azure Resource Manager yang disimpan di repositori (Infrastructure as Code).
  7. Artefak aplikasi klasik yang dikompilasi disebarkan ke Azure. Pekerjaan kuantum diserahkan ke ruang kerja kuantum selama runtime.
  8. Application Insights memantau perilaku runtime, kesehatan, kinerja, dan informasi penggunaan.
  9. Item backlog diperbarui sesuai kebutuhan, tergantung pada hasil pemantauan.
  10. Pengembang menggunakan Application Insights untuk umpan balik dan pengoptimalan aplikasi.

Komponen

Solusi ini menggunakan alat Azure DevOps berikut:

  • Azure Repos Menyediakan repositori git privat yang dihosting cloud. Ini digunakan di sini untuk menyimpan kode kuantum dan klasik dan template Azure Resource Manager yang digunakan untuk menyediakan lingkungan.
  • Azure Pipelines memungkinkan Anda terus membangun, menguji, dan menyebarkan ke cloud. Di sini, digunakan untuk mengimplementasikan CI /CD, termasuk penyediaan lingkungan sebelum penyebaran kode.

Sebagai alternatif, Anda dapat menggunakan repositori GitHub dan tindakan GitHub untuk mengimplementasikan proses CI / CD.

Solusinya menggunakan komponen berikut:

  • Aplikasi klien mengatur pekerjaan kuantum. Anda dapat menerapkan integrasi dengan cara menggunakan pendekatan yang digabungkan dengan erat atau longgar.
  • Azure Quantum menyediakan ruang kerja bagi aset yang terkait dengan menjalankan aplikasi komputasi kuantum. Pekerjaan dijalankan pada simulator kuantum atau perangkat keras kuantum, tergantung pada penyedia yang Anda pilih.
  • MICROSOFT Entra ID mengoordinasikan autentikasi pengguna dan melindungi akses ke ruang kerja Azure Quantum.
  • Azure Key Vault akan melindungi dan mempertahankan kontrol kunci dan rahasia lainnya, seperti nama ruang kerja kuantum.
  • Azure Storage memegang data input serta output dari pekerjaan kuantum.
  • Application Insights memantau aplikasi, mendeteksi anomali aplikasi seperti kinerja dan kegagalan yang buruk, dan mengirimkan telemetri ke portal Azure.

Pengoptimalan biaya

Biaya keseluruhan solusi ini tergantung pada target komputasi kuantum yang Anda pilih untuk menjalankan pekerjaan kuantum. Menghitung perkiraan biaya untuk komponen klasik sangat mudah. Anda dapat menggunakan kalkulator harga Azure.

Untuk layanan Azure Quantum, pertimbangkan bahwa penyedia komputasi Quantum dapat digunakan melalui penawaran Marketplace Azure. Harga tergantung pada jenis sumber daya (simulator atau perangkat keras), SKU, dan penggunaan Anda. Untuk detailnya, lihat halaman referensi untuk penyedia yang diperlukan untuk skenario Anda. Halaman referensi ini tercantum di penyedia komputasi Quantum di Azure Quantum.

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

  • Holger Sirtl | Arsitek Teknis Senior di Pusat Teknologi Microsoft

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya