הפצה לאחור של אופרטורים (OBP)
הפצה לאחור של אופרטורים (OBP) היא טכניקה להפחתת עומק Circuit על ידי גזירת פעולות מסופו במחיר של מדידות אופרטורים נוספות. ישנן מספר דרכים לבצע הפצה לאחור של אופרטורים, וחבילה זו משתמשת בשיטה המבוססת על תורת ההפרעות של קליפורד [1].
ככל שמפיצים אופרטור יותר דרך Circuit, גודל האובסרבבל למדידה גדל בצורה אקספוננציאלית. הדבר גורם לעומס משאבים קלאסיים וקוונטיים כאחד. עם זאת, עבור חלק מה-Circuit-ים, ההתפלגות של איברי פאולי הנוספים מרוכזת יותר מהגרוע ביותר של הגדילה האקספוננציאלית. משמעות הדבר היא שחלק מהאיברים באובסרבבל עם מקדמים קטנים ניתן לחתוך מהמדידות הסופיות המשמשות לשחזור מבלי לגרום לשגיאה גדולה. השגיאה שנגרמת על ידי כך ניתן לשלוט בה כדי למצוא איזון מתאים בין דיוק ויעילות.
התקנה
ניתן להתקין את חבילת OBP באחת משתי דרכים: דרך PyPI או בנייה מהמקור. שקול להתקין חבילות אלה בסביבה וירטואלית virtual environment כדי להבטיח הפרדה בין תלויות חבילות.
התקנה מ-PyPI
הדרך הפשוטה ביותר להתקין את חבילת qiskit-addon-obp היא דרך PyPI.
pip install qiskit-addon-obp
בנייה מהמקור
משתמשים המעוניינים לתרום לחבילה זו או להתקין אותה ידנית יכולים לעשות זאת על ידי שכפול המאגר תחילה:
git clone git@github.com:Qiskit/qiskit-addon-obp.git
```_
ולהתקין את החבילה דרך `pip`. המאגר מכיל גם מחברות לדוגמה. אם אתה מתכנן לפתח במאגר, התקן את תלויות `dev`.
התאם את האפשרויות לצרכיך:
```bash
pip install tox notebook -e '.[notebook-dependencies, dev]'
רקע תיאורטי
נוהל OBP המיושם בחבילה זו מתואר בפירוט ב-[1]. כאשר משתמשים ב-Estimator primitive, הפלט של עומס עבודה קוונטי הוא אומדן של ערך ציפייה אחד או יותר ביחס למצב שהוכן באמצעות QPU. סעיף זה מסכם את הנוהל.
ראשית, התחל על ידי כתיבת מדידת ערך הציפייה של האובסרבבל במונחים של מצב התחלתי כלשהו ו-Circuit קוונטי :
כדי לחלק בעיה זו בין משאבים קלאסיים וקוונטיים, פצל את ה-Circuit לשני Circuit-ים משניים, ו-, סמלץ קלאסית את ה-Circuit , לאחר מכן הרץ את ה-Circuit על חומרת קוונטום והשתמש בתוצאות הסימולציה הקלאסית לשחזור מדידת האובסרבבל .

ה-Circuit המשני צריך להיבחר כך שיהיה ניתן לסימולציה קלאסית ויחשב את ערך הציפייה
שהיא הגרסה של האופרטור ההתחלתי שעבר אבולוציה דרך ה-Circuit . ברגע ש- נקבע, עומס העבודה הקוונטי מוכן כאשר המצב מאותחל, מוחל עליו ה-Circuit , ולאחר מכן מודד את ערך הציפייה . ניתן להראות שזה שקול למדידת על ידי כתיבה:
לבסוף, כדי למדוד את ערך הציפייה , עלינו לדרוש שיהיה ניתן לפרקו לסכום של מחרוזות פאולי
כאשר הם מקדמים ממשיים של הפירוק ו- היא מחרוזת פאולי כלשהי המורכבת מאופרטורים , , ו-. זה מבטיח שתוכל לשחזר את ערך הציפייה של על ידי
חיתוך איברים
תכנית זו מציעה איזון בין עומק ה-Circuit הנדרש של , מספר הרצות ה-Circuit על חומרת קוונטום, וכמות משאבי המחשוב הקלאסי הנדרשים לחישוב . באופן כללי, ככל שבוחרים להפיץ לאחור יותר דרך Circuit, מספר מחרוזות הפאולי למדידה וכן עומס הפחתת שגיאות גדלים באופן אקספוננציאלי (לצד המשאבים הקלאסיים הנדרשים לסימולציה של ).
למרבה המזל, פירוק יכול לעתים קרובות להכיל מקדמים שקטנים למדי וניתן לחתוך אותם מהמדידות הסופיות המשמשות לשחזור מבלי לגרום לשגיאה רבה. חבילת qiskit-addon-obp מכילה פונקציונליות לציון תקציב שגיאה, שיכולה לחפש אוטומטית איברים הניתנים לחיתוך, בתוך סבילות שגיאה מסוימת.
תורת ההפרעות של קליפורד
לבסוף, חבילת qiskit-addon-obp מתקרבת להפצה לאחור של אופרטורים על בסיס תורת ההפרעות של קליפורד. לשיטה זו יש את היתרון שהעומס שנגרם מהפצת Gate-ים שונים לאחור מתרחב עם אי-הקליפורד-יות של (כלומר, כמה מ- מורכב מהוראות שאינן קליפורד).
גישה זו ל-OBP מתחילה בפיצול ה-Circuit המסומלץ ל-פרוסות:
כאשר מייצג את מספר הפרוסות הכולל ו- מציין פרוסה בודדת של ה-Circuit . כל אחת מהפרוסות הללו מוחלת לאחר מכן בסדר אנליטי למדידת האופרטור המופץ לאחור ועשויה או לא לתרום לגודל הכולל של הסכום, בהתאם לשאלה אם הפרוסה היא פעולת קליפורד או לא. אם מוקצה תקציב שגיאה, חיתוך יתבצע בין החלת כל פרוסה.
השלבים הבאים
- תחילת העבודה עם OBP.
- הכר את טכניקות הפחתת שגיאות הזמינות ב-Qiskit Runtime.
- קרא את המדריך על שימוש ב-OBP לשיפור ערכי ציפייה.
מקורות
[1] Fuller, Bryce, et al. "Improved Quantum Computation using Operator Backpropagation." arXiv:2502.01897 [quant-ph] (2025).