Membandingkan simulator - Amazon Braket

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membandingkan simulator

Bagian ini membantu Anda memilih simulator Amazon Braket yang paling cocok untuk tugas kuantum Anda, dengan menjelaskan beberapa konsep, batasan, dan kasus penggunaan.

Memilih antara simulator lokal dan simulator sesuai permintaan (SV1, TN1, DM1)

Kinerja simulator lokal tergantung pada perangkat keras yang menghosting lingkungan lokal, seperti instance notebook Braket, yang digunakan untuk menjalankan simulator Anda. Simulator sesuai permintaan berjalan di AWS cloud dan dirancang untuk skala di luar lingkungan lokal yang khas. Simulator sesuai permintaan dioptimalkan untuk sirkuit yang lebih besar, tetapi menambahkan beberapa overhead latensi per tugas kuantum atau kumpulan tugas kuantum. Ini dapat menyiratkan trade-off jika banyak tugas kuantum terlibat. Dengan karakteristik kinerja umum ini, panduan berikut dapat membantu Anda memilih cara menjalankan simulasi, termasuk yang berisik.

Untuk simulasi:

  • Saat mempekerjakan kurang dari 18 qubits, gunakan simulator lokal.

  • Saat mempekerjakan 18-24 qubits, pilih simulator berdasarkan beban kerja.

  • Saat mempekerjakan lebih dari 24 qubits, gunakan simulator sesuai permintaan.

Untuk simulasi kebisingan:

  • Saat mempekerjakan kurang dari 9 qubits, gunakan simulator lokal.

  • Saat mempekerjakan 9-12 qubits, pilih simulator berdasarkan beban kerja.

  • Saat mempekerjakan lebih dari 12 qubits, gunakan DM1.

Apa itu simulator vektor negara?

SV1 adalah simulator vektor negara universal. Ini menyimpan fungsi gelombang penuh dari keadaan kuantum dan secara berurutan menerapkan operasi gerbang ke keadaan. Ini menyimpan semua kemungkinan, bahkan yang sangat tidak mungkin. Bagian SV1 waktu berjalan simulator untuk tugas kuantum meningkat secara linier dengan jumlah gerbang di sirkuit.

Apa itu simulator matriks kepadatan?

DM1 mensimulasikan sirkuit kuantum dengan noise. Ini menyimpan matriks kepadatan penuh dari sistem dan secara berurutan menerapkan gerbang dan operasi kebisingan sirkuit. Matriks kerapatan akhir berisi informasi lengkap tentang keadaan kuantum setelah rangkaian berjalan. Runtime umumnya menskalakan secara linier dengan jumlah operasi dan secara eksponensial dengan jumlah qubits.

Apa itu simulator jaringan tensor?

TN1 mengkodekan sirkuit kuantum menjadi grafik terstruktur.

  • Simpul grafik terdiri dari gerbang kuantum, atau qubits.

  • Tepi grafik menunjukkan koneksi antargerbang.

Sebagai hasil dari struktur ini, TN1 dapat menemukan solusi simulasi untuk sirkuit kuantum yang relatif besar dan kompleks.

TN1 membutuhkan dua fase

Biasanya, TN1 beroperasi dalam pendekatan dua fase untuk mensimulasikan komputasi kuantum.

  • Fase latihan: Dalam fase ini, TN1 datang dengan cara untuk melintasi grafik dengan cara yang efisien, yang melibatkan mengunjungi setiap node sehingga Anda dapat memperoleh pengukuran yang Anda inginkan. Sebagai pelanggan, Anda tidak melihat fase ini karena TN1 melakukan kedua fase bersama untuk Anda. Ini menyelesaikan fase pertama dan menentukan apakah akan melakukan fase kedua sendiri berdasarkan kendala praktis. Anda tidak memiliki masukan ke dalam keputusan itu setelah simulasi dimulai.

  • Fase kontraksi: Fase ini analog dengan fase eksekusi komputasi dalam komputer klasik. Fase kontraksi terdiri atas serangkaian perkalian matriks. Urutan perkalian ini memiliki efek yang besar pada kesulitan komputasi. Oleh karena itu, fase latihan dilakukan terlebih dahulu untuk menemukan jalur komputasi yang paling efektif di seluruh grafik. Setelah menemukan jalur kontraksi selama fase latihan, TN1 mengontrak gerbang sirkuit Anda untuk menghasilkan hasil simulasi.

TN1 grafik analog dengan peta

Secara metaforis, Anda dapat membandingkan yang mendasarinya TN1 grafik ke jalan-jalan kota. Di kota dengan grid yang direncanakan, mudah untuk menemukan rute ke tujuan Anda menggunakan peta. Di kota dengan jalan-jalan yang tidak direncanakan, nama jalan duplikat, dan sebagainya, sulit untuk menemukan rute ke tujuan Anda dengan melihat peta.

Jika TN1 tidak melakukan fase latihan, itu akan seperti berjalan di sekitar jalan-jalan kota untuk menemukan tujuan Anda, daripada melihat peta terlebih dahulu. Ini benar-benar lebih menghemat waktu dari segi waktu berjalan dibandingkan waktu yang dihabiskan untuk melihat peta. Demikian pula, fase latihan memberikan informasi berharga.

Anda mungkin mengatakan bahwa TN1 memiliki “kesadaran” tertentu tentang struktur sirkuit yang mendasarinya yang dilaluinya. Ini mendapatkan kesadaran ini selama fase latihan.

Jenis masalah yang paling cocok untuk masing-masing jenis simulator

SV1 sangat cocok untuk setiap kelas masalah yang bergantung terutama pada memiliki sejumlah qubits dan gerbang. Umumnya, waktu yang dibutuhkan tumbuh secara linier dengan jumlah gerbang, sementara itu tidak tergantung pada jumlah shots. SV1 Umumnya lebih cepat dari TN1 untuk sirkuit di bawah 28 qubits.

SV1 bisa lebih lambat untuk lebih tinggi qubit angka karena sebenarnya mensimulasikan semua kemungkinan, bahkan yang sangat tidak mungkin. Ini tidak memiliki cara untuk menentukan kemungkinan hasil. Dengan demikian, untuk 30-qubit evaluasi, SV1 harus menghitung 2^30 konfigurasi. Batas 34 qubits untuk Amazon Braket SV1 simulator adalah kendala praktis karena keterbatasan memori dan penyimpanan. Anda dapat memikirkannya seperti ini: Setiap kali Anda menambahkan qubit kepada SV1, masalahnya menjadi dua kali lebih sulit.

Untuk banyak kelas masalah, TN1 dapat mengevaluasi sirkuit yang jauh lebih besar dalam waktu yang realistis daripada SV1 karena TN1 mengambil keuntungan dari struktur grafik. Ini pada dasarnya melacak evolusi solusi dari tempat awalnya dan hanya mempertahankan konfigurasi yang berkontribusi pada traversal yang efisien. Dengan kata lain, ini menyimpan konfigurasi untuk membuat urutan perkalian matriks yang menghasilkan proses evaluasi yang lebih sederhana.

Untuk TN1, jumlah qubits dan gerbang penting, tetapi struktur grafik lebih penting. Misalnya, TN1 sangat baik dalam mengevaluasi sirkuit (grafik) di mana gerbangnya jarak pendek (yaitu, masing-masing qubit dihubungkan oleh gerbang hanya ke tetangga terdekatnya qubits), dan sirkuit (grafik) di mana koneksi (atau gerbang) memiliki jangkauan yang sama. Rentang khas untuk TN1 adalah memiliki masing-masing qubit berbicara hanya dengan yang lain qubits itu adalah 5 qubits menjauh. Jika sebagian besar struktur dapat didekomposisi menjadi hubungan yang lebih sederhana seperti ini, yang dapat direpresentasikan dalam matriks yang lebih banyak, lebih kecil, atau lebih seragam, TN1 Melakukan evaluasi dengan mudah.

Keterbatasan TN1

TN1 bisa lebih lambat dari SV1 tergantung pada kompleksitas struktural grafik. Untuk grafik tertentu, TN1 mengakhiri simulasi setelah tahap latihan, dan menunjukkan status, karena salah satu dari FAILED dua alasan ini:

  • Tidak dapat menemukan jalur — Jika grafiknya terlalu rumit, terlalu sulit untuk menemukan jalur traversal yang baik dan simulator menyerah pada komputasi. TN1 tidak dapat melakukan kontraksi. Anda mungkin melihat pesan kesalahan yang mirip dengan pesan ini: No viable contraction path found.

  • Tahap kontraksi terlalu sulit — Dalam beberapa grafik, TN1 dapat menemukan jalur traversal, tetapi sangat panjang dan sangat memakan waktu untuk mengevaluasi. Dalam hal ini, kontraksi sangat mahal sehingga biayanya akan menjadi penghalang dan sebaliknya, TN1 keluar setelah fase latihan. Anda mungkin melihat pesan kesalahan yang mirip dengan pesan ini: Predicted runtime based on best contraction path found exceeds TN1 limit.

catatan

Anda ditagih untuk tahap latihan TN1 bahkan jika kontraksi tidak dilakukan dan Anda melihat FAILED status.

Runtime yang diprediksi juga tergantung pada shot menghitung. Dalam skenario terburuk, TN1 waktu kontraksi tergantung secara linier pada shot menghitung. Sirkuit mungkin dapat dikontrak dengan lebih sedikit shots. Misalnya, Anda dapat mengirimkan tugas kuantum dengan 100 shots, yang TN1 memutuskan tidak dapat dikontrak, tetapi jika Anda mengirim ulang hanya dengan 10, kontraksi berlanjut. Dalam situasi ini, untuk mencapai 100 sampel, Anda dapat mengirimkan 10 tugas kuantum dari 10 shots untuk sirkuit yang sama dan menggabungkan hasilnya pada akhirnya.

Sebagai praktik terbaik, kami menyarankan Anda untuk selalu menguji sirkuit atau kelas sirkuit Anda dengan beberapa shots (misalnya, 10) untuk mengetahui seberapa keras sirkuit Anda TN1, sebelum Anda melanjutkan dengan jumlah yang lebih tinggi shots.

catatan

Rangkaian perkalian yang membentuk fase kontraksi dimulai dengan matriks kecil NxN. Misalnya, a 2-qubit gerbang membutuhkan matriks 4x4. Matriks menengah yang diperlukan selama kontraksi yang dinilai terlalu sulit adalah yang berukuran raksasa. Komputasi tersebut akan membutuhkan waktu berhari-hari untuk menyelesaikan. Itu sebabnya Amazon Braket tidak mencoba kontraksi yang sangat kompleks.

Konkurensi

Semua simulator Braket memberi Anda kemampuan untuk menjalankan beberapa sirkuit secara bersamaan. Batas konkurensi bervariasi menurut simulator dan wilayah. Untuk informasi selengkapnya tentang batas konkurensi, lihat halaman Kuota.