דלג לתוכן הראשי

הגדרת הפחתת שגיאות

מודל הרצה חדש, כעת בגרסת בטא

גרסת הבטא של מודל הרצה חדש זמינה כעת. מודל ההרצה המכוון מספק גמישות רבה יותר בהתאמה אישית של תהליך הפחתת השגיאות. ראו את המדריך מודל הרצה מכוון למידע נוסף.

גרסאות חבילות

הקוד בעמוד זה פותח עם הדרישות הבאות. אנו ממליצים להשתמש בגרסאות אלו או חדשות יותר.

qiskit-ibm-runtime~=0.43.1

טכניקות הפחתת שגיאות מאפשרות למשתמשים להפחית שגיאות במעגלים על ידי מידול רעש המכשיר בזמן ההרצה. בדרך כלל זה גורר עלות עיבוד קוונטי מוקדמת הקשורה לאימון המודל ועלות עיבוד קלאסי מאוחרת להפחתת שגיאות בתוצאות הגולמיות באמצעות המודל שנוצר.

ה-Estimator primitive תומך בכמה טכניקות הפחתת שגיאות, כולל TREX, ZNE, PEC ו-PEA. ראו טכניקות הפחתה ודיכוי שגיאות להסבר על כל אחת. כשמשתמשים ב-primitives, אפשר להפעיל או לכבות שיטות בודדות. ראו את הסעיף הגדרות שגיאה מותאמות אישית לפרטים.

הערה

Sampler לא תומך בהפחתת שגיאות, אבל אפשר להשתמש בחבילה mthree (הפחתת שגיאות מדידה ללא מטריצה) כדי לבצע הפחתת שגיאות מקומית.

Estimator תומך גם ב-resilience_level. רמת העמידות מציינת כמה עמידות לבנות מול שגיאות. רמות גבוהות יותר מייצרות תוצאות מדויקות יותר, על חשבון זמני עיבוד ארוכים יותר. רמות עמידות אפשר להשתמש בהן להגדרת פשרת העלות/דיוק בעת יישום הפחתת שגיאות על שאילתת ה-primitive שלך. הפחתת שגיאות מפחיתה שגיאות (הטיה) בתוצאות על ידי עיבוד הפלטים מאוסף, או הרכבה, של מעגלים קשורים. מידת הפחתת השגיאות תלויה בשיטה המיושמת. רמת העמידות מופשטת מהבחירה המפורטת של שיטת הפחתת השגיאות כדי לאפשר למשתמשים לשקול את פשרת העלות/דיוק המתאימה ליישום שלהם.

בהתחשב בכך, כל רמה מתאימה לשיטה אחת או יותר עם עלות דגימה קוונטית הולכת וגדלה, כדי לאפשר לך להתנסות עם פשרות שונות בין זמן לדיוק. הטבלה הבאה מראה לך אילו רמות ושיטות מתאימות זמינות לכל אחד מה- primitives.

שים לב

הפחתת שגיאות היא ספציפית למשימה, כך שהטכניקות שאפשר ליישם משתנות בהתאם לשאלה אם אתה דוגם התפלגות או מייצר ערכי ציפייה.

Estimator תומך ברמות העמידות הבאות. Sampler לא תומך ברמות עמידות.

רמת עמידותהגדרהטכניקה
0ללא הפחתהללא
1 [ברירת מחדל]עלויות הפחתה מינימליות: הפחתת שגיאות הקשורות לשגיאות קריאהTwirled Readout Error eXtinction (TREX) ו-measurement twirling
2עלויות הפחתה בינוניות. בדרך כלל מפחית הטיה ב-estimators, אך לא מובטח להיות ללא הטיה.רמה 1 + Zero Noise Extrapolation (ZNE) ו-gate twirling
שים לב

רמות העמידות נמצאות כרגע בגרסת בטא, כך שעלות הדגימה ואיכות הפתרון ישתנו ממעגל למעגל. תכונות חדשות, אפשרויות מתקדמות וכלי ניהול ישוחררו על בסיס מתגלגל. שיטות הפחתת שגיאות ספציפיות אינן מובטחות להיות מיושמות בכל רמת עמידות.

הגדרת Estimator עם רמות עמידות

אפשר להשתמש ברמות עמידות כדי לציין טכניקות הפחתת שגיאות, או להגדיר טכניקות מותאמות אישית בנפרד כמתואר בהגדרות שגיאה מותאמות אישית.

רמת עמידות 0

לא מוחל הפחתת שגיאות על תוכנית המשתמש.

רמת עמידות 1

רמה 1 מיישמת הפחתת שגיאות קריאה ו-measurement twirling על ידי שימוש בטכניקה ללא מודל הידועה כ-Twirled Readout Error eXtinction (TREX). היא מפחיתה שגיאת מדידה על ידי דיאגונליזציה של ערוץ הרעש הקשור למדידה על ידי הפיכה אקראית של qubits דרך שערי X מיד לפני המדידה. מונח שמשמש לכיול מהערוץ הדיאגונלי נלמד על ידי ביצועי מדידות של מעגלים אקראיים שהאותחלו במצב אפס. זה מאפשר לשירות להסיר הטיה מערכי ציפייה הנגרמים על ידי רעש קריאה. גישה זו מתוארת בהרחבה ב-Model-free readout-error mitigation for quantum expectation values.

רמת עמידות 2

רמה 2 מיישמת את טכניקות הפחתת השגיאות הכלולות ברמה 1 וגם מיישמת gate twirling ומשתמשת בשיטת Zero Noise Extrapolation (ZNE). ZNE מחשבת ערך ציפייה של האובייקטיבי עבור גורמי רעש שונים (שלב הגברה) ואז משתמשת בערכי הציפייה שנמדדו כדי להסיק את ערך הציפייה האידיאלי בגבול האפס-רעש (שלב חילוץ). גישה זו נוטה להפחית שגיאות בערכי ציפייה, אך לא מובטחת להניב תוצאה לא-מוטה.

תמונה זו מציגה גרף. ציר ה-x מסומן כגורם הגברת רעש. ציר ה-y מסומן כערך ציפייה. קו בעל שיפוע עולה מסומן כערך מוקטן. נקודות קרוב לקו הן ערכים מוגברי-רעש. יש קו אופקי מעט מעל ציר ה-X המסומן כערך מדויק.

עלות שיטה זו מתרחבת עם מספר גורמי הרעש. הגדרות ברירת המחדל דוגמות את ערך הציפייה בשלושה גורמי רעש, מה שמוביל לעלות של כ-3x בעת שימוש ברמת עמידות זו.

ברמה 2, שיטת TREX הופכת אקראית qubits דרך שערי X מיד לפני המדידה, ומפכת את הביט המדוד המתאים אם הוחל שער X. גישה זו מתוארת בהרחבה ב-Model-free readout-error mitigation for quantum expectation values.

דוגמה

ממשק ה-EstimatorV2 מאפשר למשתמשים לעבוד בצורה חלקה עם מגוון שיטות הפחתת שגיאות להפחתת שגיאות בערכי ציפייה של אובייקטיביים. הקוד הבא משתמש ב-Zero Noise Extrapolation ובהפחתת שגיאות קריאה על ידי הגדרה פשוטה של 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})

הגדרות שגיאה מותאמות אישית

אפשר להפעיל ולכבות שיטות הפחתה ודיכוי שגיאות בודדות, כולל dynamical decoupling, gate ו-measurement twirling, הפחתת שגיאות מדידה, PEC ו-ZNE. ראו טכניקות הפחתה ודיכוי שגיאות להסבר על כל אחת.

הערות
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: {estimator.options.resilience.measure_mitigation}")

כיבוי כל הפחתת השגיאות

להוראות לכיבוי כל הפחתת השגיאות, ראו את הסעיף כיבוי כל דיכוי והפחתת שגיאות.

הצעדים הבאים

המלצות