ข้ามไปยังเนื้อหาหลัก

แนะนำ Qiskit

ชื่อ "Qiskit" เป็นคำทั่วไปที่หมายถึงคอลเลกชันของซอฟต์แวร์สำหรับรันโปรแกรมบนคอมพิวเตอร์ควอนตัม ที่โดดเด่นที่สุดในบรรดาเครื่องมือซอฟต์แวร์เหล่านี้คือ Qiskit SDK แบบโอเพ่นซอร์ส และสภาพแวดล้อม runtime (เข้าถึงผ่าน Qiskit Runtime) ที่ใช้รัน workload บนหน่วยประมวลผลควอนตัม (QPU) ของ IBM® เมื่อเทคโนโลยีควอนตัมพัฒนาขึ้น Qiskit ก็เช่นกัน โดยมีความสามารถใหม่ออกมาทุกปีที่ขยายคอลเลกชันหลักของซอฟต์แวร์ควอนตัมนี้

นอกจากนี้ โครงการโอเพ่นซอร์สหลายโครงการเป็นส่วนหนึ่งของระบบนิเวศ Qiskit ที่กว้างขึ้น เครื่องมือซอฟต์แวร์เหล่านี้ไม่ได้เป็นส่วนหนึ่งของ Qiskit โดยตรง แต่เชื่อมต่อกับ Qiskit และให้ฟังก์ชันเพิ่มเติมที่มีคุณค่า

IBM มุ่งมั่นในการพัฒนาการประมวลผลควอนตัมอย่างรับผิดชอบ เรียนรู้เพิ่มเติมและตรวจสอบหลักการควอนตัมที่รับผิดชอบของเราใน Responsible quantum computing

Qiskit SDK

Qiskit SDK (ชื่อแพ็กเกจ qiskit) เป็น SDK แบบโอเพ่นซอร์สสำหรับทำงานกับคอมพิวเตอร์ควอนตัมในระดับของ Circuit ควอนตัมแบบขยาย (static, dynamic และ scheduled) ตัวดำเนินการ และ Primitive ไลบรารีนี้เป็นส่วนประกอบหลักของ Qiskit เป็นแพ็กเกจที่ใหญ่ที่สุดภายใต้ชื่อ Qiskit ที่มีชุดเครื่องมือกว้างที่สุดสำหรับการประมวลผลควอนตัม และส่วนประกอบอื่นๆ อีกมากมายเชื่อมต่อกับมัน

คุณสมบัติที่มีประโยชน์ที่สุดบางส่วนของ Qiskit SDK ได้แก่:

  • เครื่องมือสร้าง Circuit (qiskit.circuit) - สำหรับเริ่มต้นและจัดการ register, Circuit, instruction, Gate, parameter และออบเจ็กต์ control flow

  • ไลบรารี Circuit (qiskit.circuit.library) - Circuit, instruction และ Gate ที่หลากหลาย ซึ่งเป็นบล็อกสร้างพื้นฐานสำหรับการประมวลผลควอนตัมแบบ Circuit

  • ไลบรารีข้อมูลควอนตัม (qiskit.quantum_info) - ชุดเครื่องมือสำหรับทำงานกับสถานะควอนตัม ตัวดำเนินการและช่องทาง โดยใช้การคำนวณแบบแม่นยำ (ไม่มี sampling noise) ใช้โมดูลนี้เพื่อระบุ observable input และวิเคราะห์ fidelity ของผลลัพธ์จากการ query Primitive

  • Transpiler (qiskit.transpiler) - สำหรับแปลงและปรับ Circuit ควอนตัมให้เหมาะกับ topology ของอุปกรณ์เฉพาะ และเพิ่มประสิทธิภาพสำหรับการรันบนหน่วยประมวลผลควอนตัม (QPU) จริง

  • Primitive (qiskit.primitives) - โมดูลที่มีนิยามพื้นฐานและการนำไปใช้อ้างอิงของ Sampler และ Estimator Primitive ซึ่งผู้ให้บริการฮาร์ดแวร์ควอนตัมต่างๆ สามารถสืบทอดเพื่อสร้างการนำไปใช้ของตัวเอง ดูข้อมูลเพิ่มเติมเกี่ยวกับ Qiskit Runtime Primitive ในเอกสาร

การติดตั้ง

สำหรับการแนะนำโดยละเอียดเพิ่มเติมเกี่ยวกับการติดตั้ง Qiskit SDK ดูที่ หน้าการติดตั้ง ถ้าพร้อมติดตั้งแล้ว เพียงรัน:

pip install qiskit

การ Benchmark และแพ็กเกจ Benchpress

การ benchmark มีความสำคัญสำหรับการเปรียบเทียบประสิทธิภาพของซอฟต์แวร์ควอนตัมในขั้นตอนต่างๆ ของ workflow การพัฒนา การทดสอบ benchmark สำหรับซอฟต์แวร์ควอนตัมอาจดูที่ความเร็วและคุณภาพของการสร้าง จัดการ และ transpile Circuit ตัวอย่างเช่น IBM Quantum มุ่งมั่นที่จะส่งมอบ SDK ที่มีประสิทธิภาพสูงสุด และเพื่อจุดประสงค์นั้น Qiskit SDK ถูก benchmark ด้วยการทดสอบกว่า 1,000 รายการที่พัฒนาโดยมหาวิทยาลัยชั้นนำ ห้องปฏิบัติการแห่งชาติ และนักวิจัยที่ IBM ชุด benchmark ที่ใช้สำหรับการทดสอบเหล่านี้ ชื่อว่า Benchpress ตอนนี้มีให้ใช้งานเป็น แพ็กเกจโอเพ่นซอร์ส คุณสามารถใช้แพ็กเกจ Benchpress เพื่อทำการวิเคราะห์ประสิทธิภาพของ quantum SDK ของคุณเองได้

Qiskit addons

Qiskit addons เป็นคอลเลกชันของความสามารถด้านการวิจัยสำหรับการค้นพบอัลกอริทึมในระดับ utility ความสามารถเหล่านี้สร้างต่อยอดจากรากฐานที่มีประสิทธิภาพของ Qiskit สำหรับการสร้างและรันอัลกอริทึมควอนตัม Addons เป็นส่วนประกอบซอฟต์แวร์แบบ modular ที่เชื่อมต่อกับ workflow เพื่อขยายหรือออกแบบอัลกอริทึมควอนตัมใหม่ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับชุด Qiskit addon ที่มีและวิธีเริ่มใช้งาน เยี่ยมชม เอกสาร

ระบบนิเวศ Qiskit

นอกเหนือจาก Qiskit มีโครงการโอเพ่นซอร์สหลายโครงการที่ใช้ชื่อ "Qiskit" แต่ไม่ได้เป็นส่วนหนึ่งของ Qiskit โดยตรง แต่เชื่อมต่อกับ Qiskit และให้ฟังก์ชันเพิ่มเติมที่มีคุณค่าเพื่อเสริมการทำงานหลักของ Qiskit โครงการบางส่วนดูแลโดยทีม IBM Quantum ในขณะที่บางโครงการได้รับการสนับสนุนจากชุมชนโอเพ่นซอร์สที่กว้างขึ้น Qiskit SDK ออกแบบในแบบ modular และขยายได้เพื่อให้นักพัฒนาสร้างโครงการเหล่านี้ที่ขยายความสามารถของมันได้ง่าย

โครงการที่นิยมบางส่วนในระบบนิเวศ Qiskit ได้แก่:

  • Qiskit Aer (qiskit-aer) - แพ็กเกจสำหรับ simulator การประมวลผลควอนตัมที่มีโมเดล noise จริง ให้อินเทอร์เฟสสำหรับรัน Circuit ควอนตัมโดยมีหรือไม่มี noise โดยใช้วิธี simulation ที่แตกต่างกัน ดูแลโดย IBM Quantum
  • qBraid SDK (qbraid) - framework runtime ควอนตัมแบบ platform-agnostic สำหรับทั้งผู้ให้บริการซอฟต์แวร์และฮาร์ดแวร์ควอนตัม ออกแบบมาเพื่อทำให้การจัดการวงจรชีวิตของงาน quantum ราบรื่น ตั้งแต่การกำหนด specification ของโปรแกรมจนถึงการส่งงานและการประมวลผลและแสดงผลผลลัพธ์ ดูแลโดย qBraid
  • mthree mthree - แพ็กเกจสำหรับการนำ M3 (Matrix-free Measurement Mitigation) ไปใช้ ซึ่งเป็นเทคนิคการลดข้อผิดพลาดของการวัดที่แก้ปัญหาความน่าจะเป็นของการวัดที่ถูกแก้ไขโดยใช้ขั้นตอนการลดมิติตามด้วยการ LU factorization โดยตรงหรือวิธี iterative แบบ preconditioned ที่ใกล้เคียงกับ O(1) ขั้น และสามารถคำนวณแบบขนานได้ ดูแลโดย IBM Quantum

คุณสามารถหา catalog ของโครงการต่างๆ ในหน้า Qiskit ecosystem รวมถึงข้อมูลเกี่ยวกับวิธีเสนอชื่อโครงการของคุณเอง

ขั้นตอนถัดไป

คำแนะนำ
  • เรียนรู้เกี่ยวกับไลบรารี Circuit และ instruction ที่มีใน circuit library ของ Qiskit
  • อ่านเกี่ยวกับ Qiskit Transpiler และตัวเลือกมากมายสำหรับ transpilation ในส่วน Transpiler
  • ค้นหาวิธีใช้ Qiskit Primitive เพื่อทำให้การเขียนโปรแกรมควอนตัมราบรื่นขึ้น