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

กำหนดค่า noise management ด้วย Estimator

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

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

qiskit-ibm-runtime~=0.46.1

มีหลายวิธีในการจัดการ noise โดยทั่วไปโดยใช้เทคนิค error mitigation และ error suppression ต่างๆ เพื่อหลีกเลี่ยงข้อผิดพลาดก่อนที่จะเกิดขึ้น เทคนิคเหล่านี้มักทำให้เกิดค่าใช้จ่ายในการประมวลผลล่วงหน้า ดังนั้น จึงสำคัญที่จะต้องหาจุดสมดุลระหว่างการปรับปรุงผลลัพธ์และการทำให้งานเสร็จในเวลาที่เหมาะสม

Estimator รองรับเทคนิค noise management ต่อไปนี้ ดู Error mitigation and suppression techniques สำหรับคำอธิบายของแต่ละเทคนิค ดูส่วน Custom error settings สำหรับคำแนะนำการเปิดใช้งานเทคนิคเหล่านี้

Resilience level

resilience_level ระบุระดับความทนทานต่อ errors ที่ต้องการสร้าง ระดับที่สูงกว่าให้ผลลัพธ์ที่แม่นยำกว่า โดยแลกกับเวลาประมวลผลที่นานกว่า Resilience levels สามารถใช้กำหนดค่าการแลกเปลี่ยนระหว่างต้นทุน/ความแม่นยำเมื่อใช้ noise management กับ primitive query Noise management ลด errors (bias) ในผลลัพธ์โดยประมวลผล outputs จากกลุ่มหรือ ensemble ของ circuits ที่เกี่ยวข้อง ระดับการลด errors ขึ้นอยู่กับวิธีที่ใช้ resilience level abstract การเลือกวิธี noise management โดยละเอียดเพื่อให้ผู้ใช้สามารถพิจารณาการแลกเปลี่ยนต้นทุน/ความแม่นยำที่เหมาะสมกับ application ของตน

ด้วยเหตุนี้ แต่ละระดับจึงสอดคล้องกับวิธีหรือหลายวิธีที่มีระดับ quantum sampling overhead เพิ่มขึ้น เพื่อให้คุณทดสอบการแลกเปลี่ยนระหว่างเวลา/ความแม่นยำที่แตกต่างกัน ตารางต่อไปนี้แสดงระดับและวิธีที่สอดคล้องกันซึ่งมีสำหรับแต่ละ primitive

Resilience Levelคำอธิบายเทคนิค
0ไม่มี mitigationไม่มี
1 [ค่าเริ่มต้น]ต้นทุน mitigation ขั้นต่ำ: ลด errors ที่เกี่ยวข้องกับ readout errorsTwirled Readout Error eXtinction (TREX) measurement twirling
2ต้นทุน mitigation ปานกลาง โดยทั่วไปลด bias ใน estimators แต่ไม่รับประกันว่าจะ zero-biasระดับ 1 + Zero Noise Extrapolation (ZNE) และ gate twirling
ข้อควรระวัง

Resilience levels ขณะนี้อยู่ในระยะ beta ดังนั้น sampling overhead และคุณภาพของโซลูชันจะแตกต่างกันไปตาม circuit คุณสมบัติใหม่ ตัวเลือกขั้นสูง และเครื่องมือการจัดการจะถูกเผยแพร่แบบต่อเนื่อง ไม่รับประกันว่าวิธี noise management เฉพาะจะถูกใช้ที่แต่ละ resilience level

กำหนดค่า Estimator ด้วย resilience levels

คุณสามารถใช้ resilience levels เพื่อระบุเทคนิค noise management หรือตั้งค่าเทคนิคที่กำหนดเองทีละรายการตามที่อธิบายใน Custom error settings

สำคัญ

ตัวเลือกใดๆ ที่คุณระบุด้วยตนเองนอกเหนือจาก resilience level จะถูกใช้เพิ่มเติมจากชุดตัวเลือกพื้นฐานที่กำหนดโดย resilience level ดังนั้น ในหลักการ คุณสามารถตั้งค่า resilience level เป็น 1 แต่ปิด measurement mitigation แม้ว่าจะไม่แนะนำ

ตัวอย่างเช่น การตั้งค่า resilience level เป็น 0 จะปิด zne_mitigation แต่ estimator.options.resilience.zne_mitigation = True จะ override ค่านั้น

ตัวอย่าง

โค้ดต่อไปนี้เปิดใช้งาน ZNE, TREX และ gate twirling โดยการตั้งค่า resilience_level 2

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit-ibm-runtime
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

# Setting options during primitive initialization
estimator = Estimator(backend, options={"resilience_level": 2})

การตั้งค่า noise management แบบกำหนดเอง

คุณสามารถเปิด/ปิดวิธี noise management แต่ละรายการโดยใช้ Estimator options

หมายเหตุ

ตัวเลือกทั้งหมดไม่ได้ทำงานร่วมกันบน circuit ทุกประเภท ดูรายละเอียดที่ feature compatibility table

ตัวอย่าง

from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

estimator = Estimator(backend)
options = estimator.options
# Turn on gate twirling.
options.twirling.enable_gates = True
# Turn on measurement error mitigation.
options.resilience.measure_mitigation = True

print(
f">>> gate twirling is turned on: {estimator.options.twirling.enable_gates}"
)
print(
f">>> measurement error mitigation is turned on: "
f"{estimator.options.twirling.enable_gates}"
)
>>> gate twirling is turned on: True
>>> measurement error mitigation is turned on: True

ปิด error mitigation ทั้งหมด

สำหรับคำแนะนำการปิด error mitigation ทั้งหมด ดูส่วน Turn off all error suppression and mitigation ในคู่มือ Estimator options

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

คำแนะนำ