הגדרת הפחתת שגיאות
גרסת הבטא של מודל הרצה חדש זמינה כעת. מודל ההרצה המכוון מספק גמישות רבה יותר בהתאמה אישית של תהליך הפחתת השגיאות. ראו את המדריך מודל הרצה מכוון למידע נוסף.
גרסאות חבילות
הקוד בעמוד זה פותח עם הדרישות הבאות. אנו ממליצים להשתמש בגרסאות אלו או חדשות יותר.
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 מחשבת ע רך ציפייה של האובייקטיבי עבור גורמי רעש שונים (שלב הגברה) ואז משתמשת בערכי הציפייה שנמדדו כדי להסיק את ערך הציפייה האידיאלי בגבול האפס-רעש (שלב חילוץ). גישה זו נוטה להפחית שגיאות בערכי ציפייה, אך לא מובטחת להניב תוצאה לא-מוטה.
עלות שיטה זו מתרחבת עם מספר גורמי הרעש. הגדרות ברירת המחדל דוגמות את ערך הציפייה בשלושה גורמי רעש, מה שמוביל לעלות של כ-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. ראו טכניקות הפחתה ודיכוי שגיאות להסבר על כל אחת.
- לא כל האפשרויות זמינות לשני ה-primitives. ראו את טבלת האפשרויות הזמינות לרשימת האפשרויות הזמינות.
- לא כל השיטות עובדות יחד על כל סוגי המעגלים. ראו את טבלת תאימות התכונות לפרטים.
- Estimator
- Sampler
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}")
from qiskit_ibm_runtime import SamplerV2 as Sampler
# Estimator and Sampler have different options
sampler = Sampler(backend)
options = sampler.options
options.dynamical_decoupling.enable = True
# Turn on gate twirling. Requires qiskit_ibm_runtime 0.23.0 or later.
options.twirling.enable_gates = True
print(f">>> dynamical decoupling is turned on: {sampler.options.dynamical_decoupling.enable}")
print(f">>> gate twirling is turned on: {sampler.options.twirling.enable_gates}")
כיבוי כל הפחתת השגיאות
להוראות לכיבוי כל הפחתת השגיאות, ראו את הסעיף כיבוי כל דיכוי והפחתת שגיאות.
הצעדים הבאים
- עברו דרך דוגמה שמשתמשת בהפחתת שגיאות בשיעור פונקציית העלות ב-IBM Quantum Learning.
- למדו עוד על טכניקות הפחתה ודיכוי שגיאות.
- הגדירו דיכוי שגיאות.
- חקרו אפשרויות נוספות.
- החליטו באיזה מצב הרצה להריץ את העבודה שלכם.