บทนำ
คุณสามารถทดสอบโปรแกรมควอนตัมของคุณโดยรันบนอุปกรณ์จำลองและสำรวจประสิทธิภาพภายใต้โมเดลสัญญาณรบกวนของอุปกรณ์จริง ซึ่งช่วยให้คุณ debug ก่อนที่จะส่งไปยังหน่วยประมวลผลควอนตัม (QPU)
Quantum simulators ช่วยพัฒนาและทดสอบโปรแกรมก่อนจะปรับแต่งและส่งไปยังฮาร์ดแวร์ควอนตัม Simulators ในเครื่องทำสิ่งนี้ได้ทั้งรวดเร็วและใช้ทรัพยากรอย่างคุ้มค่า
เนื่องจากต้นทุนในการจำลองวงจรควอนตัมแบบคลาสสิกเพิ่มขึ้นแบบ exponential ตามจำนวน Qubit วงจรที่มีมากกว่าประมาณ 50 Qubit โดยทั่วไปจึงไม่สามารถรันบน simulators ได้ สำหรับวงจรดังกล่าว คุณสามารถ:
-
ทดสอบเวอร์ชันที่เล็กลงของวงจรที่สามารถจำลองแบบคลาสสิกได้
-
ปรับแต่งวงจรให้สามารถจำลองแบบคลาสสิกได้ แม้จะมีความแม่นยำน้อยลง
Stabilizer circuits หรือที่เรียกว่า Clifford circuits เป็นเครื่องมือที่มีประโยชน์สำหรับเป้าหมายหลังนี้ วงจรเหล่านี้เป็นกลุ่มวงจรควอนตัมแบบจำกัดที่สามารถจำลองแบบคลาสสิกได้อย่างมีประสิทธิภาพ Simulators เฉพาะทางสามารถจำลอง stabilizer circuits ที่มีหลายพัน Qubit ได้อย่างง่ายดาย ดู การจำลอง stabilizer circuits อย่างมีประสิทธิภาพด้วย Qiskit Aer primitives สำหรับข้อมูลเพิ่มเติม
สำหรับวงจรควอนตัมทั่วไป มีเครื่องมือต่อไปนี้ใช้ทดสอบและ debug โปรแกรมควอนตัมของคุณ:
-
สำหรับการจำลองแบบแน่นอนของวงจรควอนตัมขนาดเล็ก คุณสามารถใช้ reference primitives ที่มากับ Qiskit ดู การจำลองแบบแน่นอนด้วย Qiskit SDK primitives
-
สำหรับการจำลองที่มีประสิทธิภาพสูงซึ่งรองรับวงจรขนาดใหญ่ขึ้น หรือเพื่อรวมโมเดลสัญญาณรบกวนเข้าในการจำลอง ให้ใช้ Qiskit Aer ซึ่งเป็นโปรเจกต์ในกลุ่ม Qiskit Ecosystem ดู การจำลองแบบแน่นอนและแบบมีสัญญาณรบกวนด้วย Qiskit Aer primitives
-
สำหรับการสร้างโมเดลสัญญาณรบกวนแบบกำหนดเอง ให้ใช้โมดูล
noiseของ Qiskit Aer ดู การสร้างโมเดลสัญญาณรบกวน
ข้อพิจารณาด้านฮาร์ดแวร์
หลายปัจจัยส่งผลต่อหน่วยความจำที่การจำลองควอนตัมต้องการ จึงไม่มีข้อกำหนดฮาร์ดแวร์ที่แน่นอนสำหรับการจำลอง แต่มีแนวทางที่คุณสามารถปฏิบัติตามได้
-
ข้อกำหนดเดียวในการรัน Qiskit คือสภาพแวดล้อม Python ที่ทำงานได้ สำหรับรายละเอียด ดูส่วน การรองรับระบบปฏิบัติการ
-
เนื่องจากข้อกำหนดสำหรับการจำลองวงจรควอนตัมเพิ่มขึ้นแบบ exponential ตามจำนวน Qubit ฮาร์ดแวร์ที่มีอยู่จึงจำกัดจำนวน Qubit ที่สามารถจำลองได้ ตัวอย่างเช่น ระบบที่มี RAM 4GB สามารถจำลองได้ประมาณ 27 Qubit
-
หน่วยความจำที่มีมากหรือน้อยกว่าจะไม่ทำให้ผลลัพธ์แม่นยำมากหรือน้อยลง (สมมติว่าผลลัพธ์ถูกส่งคืน) แม้ว่าหน่วยความจำมากขึ้นอาจให้ผลลัพธ์เร็วขึ้นหรือช่วยให้จำลอง Qubit ได้มากขึ้น
-
เพื่อให้ได้ประโยชน์สูงสุดจากฮาร์ดแวร์ของคุณ ให้ใช้การจำลองวงจร stabilizer (Clifford) ในเครื่องเมื่อเป็นไปได้ ดู การจำลอง Clifford ด้วย
qiskit-ibm-runtimelocal testing mode หรือ การจำลอง stabilizer circuits อย่างมีประสิทธิภาพด้วย Qiskit Aer primitives สำหรับตัวอย่าง -
คุณสามารถเพิ่มพลังการประมวลผลโดยทำตามคำแนะนำเหล่านี้เพื่อ รันด้วย GPU หลายตัว หลาย node หรือทั้งสองอย่าง
ขั้นตอนถัดไป
- เรียนรู้เกี่ยวกับ การจำลองแบบแน่นอนและแบบมีสัญญาณรบกวนด้วย Qiskit Aer primitives
- ทบทวนเอกสาร การแสดงภาพวงจร
- ทบทวนเอกสาร การแสดงภาพ timing ของวงจร
- Debug jobs ด้วย NEAT