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

กระบวนการพัฒนา

คำว่า Qiskit pattern อธิบายถึงกระบวนการพัฒนาสำหรับการแยกย่อยปัญหาเฉพาะโดเมนและจัดวางความสามารถที่จำเป็นออกเป็นขั้นตอนต่างๆ วิธีนี้ช่วยให้สามารถประกอบความสามารถใหม่ๆ ที่พัฒนาโดยนักวิจัย IBM Quantum® (และคนอื่นๆ) ได้อย่างราบรื่น และเปิดทางสู่อนาคตที่งานคอมพิวเตอร์ควอนตัมถูกประมวลผลโดยโครงสร้างพื้นฐานการคำนวณแบบเฮเทอโรจีเนียส (CPU/GPU/QPU) ที่ทรงพลัง บล็อกหรือกลุ่มของบล็อกทำหน้าที่ตามขั้นตอนต่างๆ ของ pattern โดย Qiskit SDK ทำหน้าที่เป็น Layer พื้นฐานที่สำคัญ รองรับด้วยเครื่องมือหรือบริการอื่นๆ ที่พัฒนาโดย IBM Quantum หรือชุมชนโอเพนซอร์สควอนตัม Qiskit pattern ช่วยให้ผู้เชี่ยวชาญด้านโดเมนระบุปัญหาและประกอบชุดเครื่องมือ (บล็อก) ที่ทำให้ได้ Qiskit pattern จากนั้น pattern นั้นสามารถรันในเครื่องท้องถิ่น ผ่านบริการ Cloud หรือ deploy ด้วย Qiskit Serverless ได้

สี่ขั้นตอนของ Qiskit pattern มีดังนี้:

  • Map — แมปปัญหาไปยัง Circuit ควอนตัมและ Operator
  • Optimize — ปรับแต่งสำหรับฮาร์ดแวร์เป้าหมาย
  • Execute — รันบนฮาร์ดแวร์เป้าหมาย
  • Post-process — ประมวลผลผลลัพธ์

แต่ละขั้นตอนอธิบายรายละเอียดในส่วนด้านล่าง

แมปปัญหาไปยัง Circuit ควอนตัมและ Operator

ขั้นตอนนี้อธิบายว่าผู้ใช้เริ่มต้นจากปัญหาแบบ Classical และหาวิธีแมปมันไปยังคอมพิวเตอร์ควอนตัมได้อย่างไร ตัวอย่างเช่น ในแอปพลิเคชันด้านเคมีและการจำลองควอนตัม ขั้นตอนนี้มักเกี่ยวข้องกับการสร้าง Circuit ควอนตัมที่แทน Hamiltonian ที่ต้องการแก้ไข ในขั้นตอนนี้ สำหรับปัญหาบางประเภท อาจต้องการระบุการแมปของปัญหาไปยัง Qubit ในโครงตาข่าย heavy-hex (หรือ gross) ของฮาร์ดแวร์ IBM® ตั้งแต่ต้น หากโครงสร้างของปัญหาเอื้อต่อการปรับแต่งในระยะแรก นอกจากนี้ ในจุดนี้ควรพิจารณาว่าผลลัพธ์ของอัลกอริทึมนั้นๆ จะเป็นอะไรเพื่อเตรียมพร้อมสำหรับขั้นตอน execute ในภายหลัง — ตัวอย่างเช่น ถ้าผลลัพธ์ที่ต้องการเกี่ยวข้องกับการอนุมาน correlation function โดยใช้ Hadamard test อาจเตรียมใช้ Sampler ในขณะที่การระบุ Observable จะใช้ Estimator และอาจให้ตัวเลือกการลด Error หลายรูปแบบ

ผลลัพธ์ของขั้นตอนนี้โดยปกติคือคอลเลกชันของ Circuit หรือ Operator ควอนตัมที่สามารถปรับแต่งสำหรับฮาร์ดแวร์ในขั้นตอนถัดไป

ปรับแต่งสำหรับฮาร์ดแวร์เป้าหมาย

ในขั้นตอนนี้ เราจะนำ Circuit (หรือ Operator) แบบนามธรรมที่ได้จากขั้นตอน map มาทำการปรับแต่งหลายๆ อย่าง ซึ่งรวมถึงการแมปเส้นทางและ Layout ของ Circuit ไปยัง Qubit ฮาร์ดแวร์จริง การแปลงเป็น Gate พื้นฐานของฮาร์ดแวร์ และการลดจำนวนการดำเนินการ ทั้งหมดนี้ออกแบบมาเพื่อเพิ่มโอกาสสำเร็จในขั้นตอน execute ในภายหลัง ในจุดนี้อาจต้องการทดสอบ Circuit กับ Simulator ก่อนรันบนฮาร์ดแวร์จริงในขั้นตอนถัดไป

ในขั้นตอนนี้ Circuit แบบนามธรรมจะต้องถูก Transpile เป็น Circuit ตาม Instruction Set Architecture (ISA) Circuit แบบ ISA คือ Circuit ที่ประกอบด้วย Gate ที่ฮาร์ดแวร์เป้าหมายเข้าใจเท่านั้น (Gate พื้นฐาน) และ Multi-qubit Gate ที่จำเป็นต้องปฏิบัติตามข้อจำกัดการเชื่อมต่อ (coupling map) เฉพาะ Circuit แบบ ISA เท่านั้นที่สามารถรันบนฮาร์ดแวร์ IBM โดยใช้ IBM Qiskit Runtime ได้

รันบนฮาร์ดแวร์เป้าหมาย

ขั้นตอนนี้เกี่ยวข้องกับการรัน Circuit บนฮาร์ดแวร์และสร้างผลลัพธ์ของการคำนวณควอนตัม Circuit แบบ ISA ที่ได้จากขั้นตอนก่อนหน้าสามารถรันได้โดยใช้ Sampler หรือ Estimator primitive จาก Qiskit Runtime ซึ่ง initialize ในเครื่องของคุณหรือจาก Cluster หรือสภาพแวดล้อมการคำนวณแบบเฮเทอโรจีเนียสอื่นๆ สามารถรันใน Batch ซึ่งช่วยให้ Transpile แบบขนานเพื่อประสิทธิภาพการคำนวณแบบ Classical — หรือ Session ซึ่งช่วยให้งานแบบ Iterative ดำเนินการได้อย่างมีประสิทธิภาพโดยไม่ต้องรอคิว ในขั้นตอนนี้ยังมีตัวเลือกในการกำหนดค่าเทคนิคการลด Error และการระงับ Error บางอย่างที่ Qiskit Runtime จัดให้

ขึ้นอยู่กับว่าใช้ Sampler หรือ Estimator primitive ผลลัพธ์ของขั้นตอนนี้จะแตกต่างกัน ถ้าใช้ Sampler ผลลัพธ์จะเป็นการวัดแบบ per-shot ในรูปแบบ bitstring ถ้าใช้ Estimator ผลลัพธ์จะเป็น expectation value ของ Observable ที่สอดคล้องกับปริมาณทางกายภาพหรือ cost function

ประมวลผลผลลัพธ์

ขั้นตอนสุดท้ายนี้เกี่ยวข้องกับการนำผลลัพธ์จากขั้นตอนก่อนหน้ามาประกอบกันเพื่อให้ได้ผลลัพธ์ที่ต้องการ ซึ่งอาจเกี่ยวข้องกับขั้นตอนการประมวลผลข้อมูลแบบ Classical หลายอย่าง เช่น การแสดงผลลัพธ์ เทคนิคการลด Error ในการอ่านค่า การ Marginalize การกระจาย quasi-probability เพื่อหาผลลัพธ์บน Qubit ชุดเล็กลง หรือการ Post-select บนคุณสมบัติของปัญหา เช่น spin รวม parity หรือการอนุรักษ์อนุภาคโดยการลบ Observable ที่ไม่มีความหมายทางกายภาพออก

เมื่อสาขานี้เปลี่ยนจากการสร้าง Circuit แบบเฉพาะทางไปสู่ Workflow ระดับ Utility scale ความยืดหยุ่นและความสะดวกที่ Qiskit pattern มอบให้ผู้ใช้ในการประกอบขั้นตอนต่างๆ ของ pattern ทำให้การคำนวณควอนตัมเข้าถึงได้โดยแอปพลิเคชันและเทคนิคที่หลากหลาย สำหรับนักวิทยาศาสตร์การคำนวณควอนตัม

Source: IBM Quantum docs — updated 27 เม.ย. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of 11 มี.ค. 2569