ข้ามไปยังเนื้อหาหลัก
โครงการนี้อยู่ในช่วงเบต้า พบข้อผิดพลาด? สร้าง GitHub Issue มีคำถามหรือไอเดีย? ถามใน Discussions — ยินดีรับฟังความคิดเห็น!
คุณภาพการแปลในหน้านี้เป็นอย่างไร?

Qiskit Paulice

qiskit-paulice เป็นแพ็กเกจสำหรับฝัง Pauli checks ที่มีประสิทธิภาพต่อฮาร์ดแวร์ลงใน Clifford circuit ใด ๆ บนการเชื่อมต่อของ qubit แบบใดก็ได้ โดยใช้ spacetime stabilizer codes การตรวจสอบเหล่านี้ใช้ตรวจจับข้อผิดพลาดเชิงตรรกะระหว่างการรัน circuit ได้ การทำ postselect เฉพาะตัวอย่างที่ตรวจไม่พบข้อผิดพลาดสามารถปรับปรุง fidelity ของสถานะที่สุ่มจากตัวประมวลผลควอนตัมได้ โดยแลกกับ ancilla qubit บางส่วนและ sampling overhead ที่เพิ่มขึ้น วิธีนี้เหมาะกับฮาร์ดแวร์ยุคใกล้เป็นพิเศษ เพราะมี overhead ของ qubit และ gate ต่ำกว่ามากเมื่อเทียบกับ fault-tolerant quantum computing ขณะที่มี sampling overhead ดีกว่าวิธีลดข้อผิดพลาด (error mitigation) เช่น ZNE หรือ PEC [1]

แม้ spacetime Pauli checks จะใช้สร้างรูทีนตรวจจับข้อผิดพลาดแบบแยกเดี่ยวได้ แต่ก็เกี่ยวข้องกับบริบทของการลดข้อผิดพลาดและการแก้ไขข้อผิดพลาดด้วย การตรวจจับข้อผิดพลาดสามารถเสริมเทคนิคการลดข้อผิดพลาด เช่น probabilistic error cancellation (PEC) โดยจับสัญญาณรบกวนบางส่วนที่กระทบ gate และการวัด ลดผลกระทบของ noise channel ที่ต้องผกผัน และลด sampling overhead ลงได้ นอกจากนี้ยังมองเป็นก้าวแรกสู่ fault tolerance ที่ใช้งานได้จริง เพราะการสร้าง stabilizer codes เพื่อปกป้อง data qubit จากข้อผิดพลาดเชิงตรรกะเป็นแนวคิดหลักของการแก้ไขข้อผิดพลาดแบบดั้งเดิม เนื่องจากวิธีนี้ให้การเข้าถึงสถานะควอนตัมแบบ single-shot จึงใช้ได้ทั้งในเวิร์กโฟลว์ที่อิงการสุ่มตัวอย่างและเวิร์กโฟลว์ที่อิงค่าคาดหวัง

เริ่มต้นใช้งาน​

มีคู่มือง่าย ๆ ที่ช่วยให้คุณเริ่มต้นใช้แพ็กเกจนี้ได้อย่างรวดเร็วในคู่มือเริ่มต้นอย่างรวดเร็ว

ตัวอย่างกรณีการใช้งาน​

เทคนิคนี้ถูกนำไปใช้ปรับปรุง fidelity ของตัวอย่างจาก circuit ที่เป็น Clifford เป็นหลัก โดยใช้ qubit จริง 97 ตัวเพื่อเข้ารหัส entangling gate เชิงตรรกะ 2415 ตัวบน qubit เชิงตรรกะ 70 ตัว [2]

การอภิปรายทางเทคนิค​

การหาชุด spacetime Pauli checks ที่ดี​

Quantum circuit cartoon

ชุดของ spacetime Pauli checks ถือว่า “ดี” หากการตรวจสอบแต่ละรายการถูกต้อง มีน้ำหนักต่ำ และมีประสิทธิภาพ

การตรวจสอบประกอบด้วย Pauli rotation แบบมีเงื่อนไข (controlled) จำนวนหนึ่ง, PP, ที่วางบน wire บางเส้นใน circuit, ww: {(P1,w1),...,(Pk,wk)}\{(P_1,w_1), ..., (P_k,w_k)\} สำหรับการตรวจสอบหนึ่งรายการ ตัวควบคุมอยู่บน ancilla qubit ตัวเดียว และการหมุนเกิดขึ้นบน wire ของ qubit เป้าหมายตัวเดียว สำหรับ Clifford circuit การตรวจสอบถูกต้องหาก backpropagated product ของมันเป็น stabilizer ของสถานะที่ circuit อุดมคติเตรียมขึ้น: ∏iB(Pi,wi)∈S\prod_{i}B(P_i,w_i) \in S โดยที่ B(P,w)B(P,w) คือ backpropagator ของ PP จาก ww ไปยังจุดเริ่มต้นของ circuit และ SS คือเซตของ stabilizer ทั้งหมดของ circuit

การตรวจสอบมีน้ำหนักต่ำหากต้องใช้ entangling gate น้อยในการสร้าง อัลกอริทึมเลือกการตรวจสอบจะให้ความสำคัญกับการตรวจสอบที่มีน้ำหนักต่ำและให้การตรวจจับข้อผิดพลาดที่มีประสิทธิภาพที่สุด

การตรวจสอบมีประสิทธิภาพหากจับข้อผิดพลาดได้มากกว่าที่ก่อขึ้นเองมาก Pauli check ประกอบด้วย entangling gate จำนวนหนึ่ง จึงเพิ่มสัญญาณรบกวนของ gate เข้าไปในการคำนวณบ้าง สิ่งสำคัญคือต้องแน่ใจว่าการตรวจสอบที่เพิ่มแต่ละรายการนำความสามารถในการตรวจจับข้อผิดพลาดเพิ่มเข้ามา ประสิทธิภาพของชุดการตรวจสอบสามารถประมาณได้โดยนำ Pauli error ที่การตรวจสอบเผยออกมามารวมเป็น noise channel หลัง postselect แล้วคำนวณผลกระทบของมัน การลด sampling overhead ในการสร้าง inverse noise channel ที่ยังไม่ถูกตรวจจับให้น้อยที่สุดเป็น heuristic ที่ดีในการเลือกการตรวจสอบที่ดี เพราะบ่งบอกว่าการตรวจสอบตรวจจับข้อผิดพลาดไม่ได้มากเพียงใด วิธีที่ช้ากว่าแต่สมจริงกว่าคือทำการสุ่มแบบ Monte Carlo จากสถานะที่มีสัญญาณรบกวนและคำนวณอัตราข้อผิดพลาดเชิงตรรกะของการแจกแจงหลัง postselect ด้วยวิธีเชิงประจักษ์ ทั้งสองวิธีมีให้เป็น cost function ในตัวของฟังก์ชัน qiskit_paulice.add_pauli_checks

การ postselect ตัวอย่างตามข้อมูล syndrome​

ในแพ็กเกจนี้ การตรวจสอบหนึ่งรายการสร้างขึ้นโดยใช้ entangling gate ระหว่าง ancilla qubit หนึ่งตัวกับ qubit เป้าหมายหนึ่งตัว ancilla แต่ละตัวเริ่มต้นที่ ∣0⟩|0\rangle ดังนั้น ZancZ_\text{anc} จึงเป็น stabilizer ของสถานะอินพุตของมัน การส่ง ZancZ_\text{anc} ไปข้างหน้าจากจุดเริ่มต้นของ ancilla ผ่าน circuit ที่มีการตรวจสอบทั้งหมดจะได้ตัวดำเนินการ Pauli บนเอาต์พุต ซึ่งอาจมีน้ำหนักสูงกว่าและขยายเข้าไปใน payload circuit ดัชนี qubit ที่ตัวดำเนินการเอาต์พุตนี้มีพจน์ที่ไม่ใช่เอกลักษณ์เรียกว่า support ของการตรวจสอบ และการตรวจสอบจะผ่านหากบิต, bb, ใน support ของการตรวจสอบมี parity เป็นคู่: ⨁i=1bi=0\bigoplus_{i=1} b_i = 0 ตัวอย่างจะถูกเก็บไว้หากการตรวจสอบทุกรายการให้ 00 สำหรับ parity check ของมัน

ฟีเจอร์ของซอฟต์แวร์​

  • สร้าง noise model อัตโนมัติจากข้อมูล benchmark ของ backend

  • การหาการตรวจสอบที่เร่งความเร็วด้วย Rust

  • อัลกอริทึมในตัว 3 แบบสำหรับการหาการตรวจสอบ

  • รองรับการทำ RZ gate doping

  • รองรับการรวมการตรวจจับข้อผิดพลาดเข้ากับการลดข้อผิดพลาด

ปัญหาที่ทราบ​

  • ไม่มี idling noise ให้ผ่าน NoiseModel.get_backend และจะถูกละเว้นระหว่างการเลือกการตรวจสอบ

  • แม้ขั้นตอนสุ่มหลายขั้นในอัลกอริทึมจะควบคุมได้ด้วย random seed แต่บางฟีเจอร์มีความสุ่มที่ควบคุมด้วย seed ไม่ได้ โดยเฉพาะค่า kwargs ต่อไปนี้ของ add_pauli_checks จะทำให้การเลือกการตรวจสอบไม่แน่นอน: cost="LER", method="genetic" และ method="windowed_genetic" หากต้องการพฤติกรรมที่แน่นอน ให้ใช้ add_pauli_checks(..., cost="gamma", method="windowed") ซึ่งเป็นค่าเริ่มต้น

งานในอนาคต​

  • การจัดการ idling noise เมื่อเลือกการตรวจสอบ

  • ความสุ่มที่ควบคุมได้สำหรับ cost function อัตราข้อผิดพลาดเชิงตรรกะและอัลกอริทึมค้นหาแบบ genetic

การมีส่วนร่วม​

ซอร์สโค้ดมีให้ใช้งานบน GitHub

คู่มือนักพัฒนาอยู่ที่ CONTRIBUTING.md ในรูทของรีโพซิทอรีของโปรเจกต์นี้ เมื่อเข้าร่วม คุณควรปฏิบัติตามหลักปฏิบัติของ Qiskit

การอ้างอิงแพ็กเกจนี้​

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

สัญญาอนุญาต​

Apache License 2.0

นโยบายการเลิกใช้ (deprecation)​

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

เอกสารอ้างอิง​

  1. Simon Martiel, Ali Javadi-Abhari, Low-overhead error detection with spacetime codes, arXiv:2504.15725 [quant-ph].

  2. Simon Martiel, et al., Sampling hard circuits with verifiably high fidelity, arXiv:2607.25941 [quant-ph].