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

การลดความผิดพลาดด้วย Tensor Network (TEM): Qiskit Function โดย Algorithmiq

ดูเอกสารอ้างอิง API

หมายเหตุ

Qiskit Functions เป็นฟีเจอร์ทดลองที่ใช้ได้เฉพาะผู้ใช้แผน IBM Quantum® Premium Plan, Flex Plan และ On-Prem (ผ่าน IBM Quantum Platform API) Plan เท่านั้น อยู่ในสถานะ preview release และอาจมีการเปลี่ยนแปลงได้

เวอร์ชันของแพ็กเกจ

โค้ดในหน้านี้พัฒนาโดยใช้ requirements ต่อไปนี้ แนะนำให้ใช้เวอร์ชันเหล่านี้หรือใหม่กว่า

qiskit[all]~=2.4.0

ภาพรวม

วิธี Tensor-network Error Mitigation (TEM) ของ Algorithmiq เป็นอัลกอริทึมแบบ hybrid quantum-classical ที่ออกแบบมาเพื่อทำการลดความผิดพลาดของ noise ทั้งหมดในขั้นตอน post-processing แบบ classical ด้วย TEM ผู้ใช้สามารถคำนวณค่าความคาดหวัง (expectation values) ของ observable ได้โดยลดข้อผิดพลาดที่เกิดจาก noise อันหลีกเลี่ยงไม่ได้บนฮาร์ดแวร์ควอนตัม ด้วยความแม่นยำและประสิทธิภาพด้านต้นทุนที่เพิ่มขึ้น ทำให้เป็นตัวเลือกที่น่าสนใจอย่างมากสำหรับนักวิจัยด้านควอนตัมและผู้ปฏิบัติงานในอุตสาหกรรม

วิธีการนี้ประกอบด้วยการสร้าง tensor network ที่แทนค่าผกผันของช่องทาง noise ส่วนกลาง ที่กระทบต่อสถานะของโปรเซสเซอร์ควอนตัม แล้วนำ map นั้นไปใช้กับผลการวัดที่ครอบคลุมข้อมูล อย่างสมบูรณ์ (informationally complete) ที่เก็บจากสถานะที่มี noise เพื่อให้ได้ตัวประมาณค่า แบบไม่เอนเอียง (unbiased estimators) สำหรับ observable

ในฐานะข้อได้เปรียบ TEM ใช้ประโยชน์จากการวัดที่ครอบคลุมข้อมูลอย่างสมบูรณ์เพื่อเข้าถึง observable ที่ผ่านการลด noise จำนวนมาก และมี sampling overhead บนฮาร์ดแวร์ควอนตัม ที่เหมาะสมที่สุด ตามที่อธิบายใน Filippov et al. (2023), arXiv:2307.11740 และ Filippov et al. (2024), arXiv:2403.13542 overhead ของการวัดหมายถึงจำนวน การวัดเพิ่มเติมที่ต้องการเพื่อทำการลด noise อย่างมีประสิทธิภาพ ซึ่งเป็นปัจจัยสำคัญ ในความเป็นไปได้ของการคำนวณควอนตัม ดังนั้น TEM จึงมีศักยภาพในการเปิดใช้งาน quantum advantage ในสถานการณ์ที่ซับซ้อน เช่น การประยุกต์ใช้ในสาขา quantum chaos, many-body physics, Hubbard dynamics และการจำลองเคมีของโมเลกุลขนาดเล็ก

คุณสมบัติหลักและประโยชน์ของ TEM สรุปได้ดังนี้:

  1. Measurement overhead ที่เหมาะสมที่สุด: TEM เหมาะสมที่สุดเมื่อเทียบกับ ขอบเขตทางทฤษฎี หมายความว่าไม่มีวิธีใดที่จะมี measurement overhead น้อยกว่านี้ได้ กล่าวอีกนัยหนึ่ง TEM ต้องการจำนวนการวัดเพิ่มเติมน้อยที่สุดในการลด noise ซึ่งหมายความว่า TEM ใช้ quantum runtime น้อยที่สุด
  2. ความคุ้มค่าด้านต้นทุน: เนื่องจาก TEM จัดการการลด noise ทั้งหมดในขั้นตอน post-processing จึงไม่จำเป็นต้องเพิ่ม circuit เพิ่มเติมบนคอมพิวเตอร์ควอนตัม ซึ่งไม่เพียงทำให้การคำนวณถูกลงเท่านั้น แต่ยังลดความเสี่ยงในการเพิ่มข้อผิดพลาด จากความไม่สมบูรณ์ของอุปกรณ์ควอนตัมด้วย
  3. การประมาณค่า observable หลายตัว: ด้วยการวัดที่ครอบคลุมข้อมูลอย่างสมบูรณ์ TEM ประมาณค่า observable หลายตัวได้อย่างมีประสิทธิภาพจากข้อมูลการวัดชุดเดียวกัน จากคอมพิวเตอร์ควอนตัม
  4. การลด readout error: TEM Qiskit Function ยังมี วิธีการลด readout error แบบเฉพาะ ที่สามารถลด readout error ได้อย่างมีนัยสำคัญหลังการ calibrate ในเวลาสั้น
  5. ความแม่นยำ: TEM ปรับปรุงความแม่นยำและความน่าเชื่อถือของการจำลองควอนตัม

คำอธิบาย

ฟังก์ชัน TEM ช่วยให้ได้ค่าความคาดหวังที่ผ่านการลด noise สำหรับ observable หลายตัว บน quantum Circuit ด้วย sampling overhead น้อยที่สุด Circuit จะถูกวัดด้วย informationally complete positive operator-valued measure (IC-POVM) และผลการวัด ที่เก็บได้จะถูกประมวลผลบนคอมพิวเตอร์ classical การวัดนี้ใช้ในการดำเนินการวิธี tensor network และสร้าง noise-inversion map ฟังก์ชันนำ map ที่กลับค่า noise ของ Circuit ทั้งหมดโดยใช้ tensor network เพื่อแทนชั้นที่มี noise

TEM schematics

เมื่อ Circuit ถูกส่งไปยังฟังก์ชัน จะถูก transpile และ optimize เพื่อลดจำนวนชั้นที่มี two-qubit gate (gate ที่มี noise มากที่สุดบนอุปกรณ์ควอนตัม) Noise ที่กระทบต่อชั้นต่างๆ จะถูกเรียนรู้ผ่าน Qiskit Runtime โดยใช้โมเดล noise แบบ sparse Pauli-Lindblad ตามที่อธิบายใน E. van den Berg, Z. Minev, A. Kandala, K. Temme, Nat. Phys. (2023). arXiv:2201.09866

โมเดล noise เป็นคำอธิบายที่แม่นยำของ noise บนอุปกรณ์ที่สามารถจับคุณสมบัติ ที่ละเอียดอ่อนได้ รวมถึง qubit cross-talk อย่างไรก็ตาม noise บนอุปกรณ์อาจผันผวน และเปลี่ยนแปลง และ noise ที่เรียนรู้ไว้อาจไม่แม่นยำ ณ เวลาที่ทำการประมาณค่า ซึ่งอาจส่งผลให้ได้ผลลัพธ์ที่ไม่แม่นยำ

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

ยืนยันตัวตนด้วย IBM Quantum Platform API key และเลือกฟังก์ชัน TEM ดังนี้ (ตัวอย่างนี้สมมติว่าบันทึกบัญชีของคุณไว้ในสภาพแวดล้อม local แล้ว)

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit qiskit-ibm-catalog
from qiskit_ibm_catalog import QiskitFunctionsCatalog

tem_function_name = "algorithmiq/tem"
catalog = QiskitFunctionsCatalog(channel="ibm_quantum_platform")

# Load your function
tem = catalog.load(tem_function_name)

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงการใช้ TEM เพื่อคำนวณค่าความคาดหวังของ observable จาก quantum Circuit อย่างง่าย

from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp

# Create a quantum circuit
qc = QuantumCircuit(3)
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
for _ in range(2):
qc.barrier()
qc.cx(0, 1)
qc.cx(2, 1)
qc.barrier()
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)

# Define the observables
observable = SparsePauliOp("IYX", 1.0)

# Define the execution options
pub = (qc, [observable])
options = {"default_precision": 0.02}

# Define backend to use. TEM will choose the least-busy device
# reported by IBM if not specified
backend_name = "ibm_marrakesh"

# Run the TEM function (uses around three minutes of QPU time)
job = tem.run(pubs=[pub], backend_name=backend_name, options=options)

ใช้ Qiskit Serverless APIs เพื่อตรวจสอบสถานะของ Qiskit Function workload:

print(job.status())
QUEUED

ดึงผลลัพธ์ได้ดังนี้:

result = job.result()
evs = result[0].data.evs
print(evs[0])
0.02165380888171687
ข้อมูล

ค่าความคาดหวังสำหรับ Circuit ที่ไม่มี noise สำหรับตัวดำเนินการที่กำหนดควรอยู่ที่ประมาณ 0.18409094298943401

รับการสนับสนุน

ติดต่อที่ qiskit_ibm@algorithmiq.fi

โปรดรวมข้อมูลต่อไปนี้:

  • Qiskit Function Job ID (qiskit-ibm-catalog), job.job_id
  • คำอธิบายโดยละเอียดของปัญหา
  • ข้อความแจ้งข้อผิดพลาดหรือรหัสที่เกี่ยวข้อง
  • ขั้นตอนในการทำให้เกิดปัญหาซ้ำ

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