תהליכי עבודה מודרניים
הקורס הזה סקר מגוון רחב של שיטות לטיפול ברעש ובשגיאות קוונטיים. נמנענו בכוונה מכמה פתרונות קופסה שחורה כדי שנוכל לראות איך השיטות האלה עובדות. עכשיו אנחנו מוכנים להשתמש בהן בצורה המודרנית ביותר שלהן. ליתר דיוק, נחקור כלים מותאמים מאוד לטיפול בשגיאות שמסתירים מאיתנו חלק מהמורכבות. נחקור גם את Samplomatic ו-addons כמו shaded lightcones (SLC), שנותנים לנו שליטה עדינה מאוד על תהליכי צמצום מסוימים.
בסרטון הזה ד"ר כריס פורטר נותן סקירה של הכלים המודרניים האלה. אנחנו מתכננים להוסיף לשיעור הזה דוגמאות לתהליכי עבודה במועד מאוחר יותר. עם זאת, השיעור כבר מכיל את כל המידע שאתה צריך כדי להשתמש בכלים האלה ולעבור את בחינת התג.
סקירה
ה-primitives המוקדמים של IBM Quantum, כמו Estimator ו-Sampler, חשפו צמצום שגיאות דרך מספר קטן של רמות מוגדרות מראש. גרסאות מאוחרות יותר סיפקו שליטה ישירה יותר בטכניקות הבודדות, כולל בחירה של אסטרטגיית zero-noise extrapolation, תצורות Pauli twirling ופרמטרים של randomization. עם זאת, ההגדרות האלה נשארו ברובן גלובליות והוחלו באופן אחיד על פני כל המעגל.

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

מודל הביצוע המכוון עונה על הצורך בשליטה מודולרית בביצוע, והוא משלב רבים מהכלים האלה.
מודל ביצוע מכוון
במקום לקבל החלטות ביצוע מרומזות, מודל הביצוע המכוון פועל לפי הנחיות שהמשתמש מספק. גישה זו משפרת את השקיפות והופכת תהליכי עבודה מורכבים לקלים יותר לבדיקה ולדיבוג. כמה מהמאפיינים המרכזיים של המודל:
-
הגדרה לכל שכבה באמצעות אזורי מעגל מתויגים
-
זיהוי של שכבות ייחודיות וחוזרות ללמידת רעש יעילה
-
תהליכי ביצוע באצווה
-
עיבוד לאחר מובנה
-
שילוב הדוק עם addons כמו shaded lightcones
המודל בנוי סביב שני רכיבים מרכזיים:
-
Samplomatic, שמגדיר מתכוני ביצוע
-
Executor, שמבצע את המתכונים האלה ומחזיר דגימות
את רוב תהליכי העבודה שמשתמשים ב-Executor אפשר לממש גם עם Sampler, כי שניהם בסופו של דבר מפיקים דגימות. היתרון המרכזי של Executor הוא היעילות. משימות כמו יצירת תצורות twirling מהירות לרוב הרבה יותר בסביבת near-time בצד השרת מאשר בצד הלקוח. Estimator ו-Sampler ממשיכים להיות נתמכים, ועשויים עדיין להיות הבחירה הנוחה ביותר עבור עומסי עבודה רבים.
לפני הביצוע, עם זאת, צריך לבנות ולהכין מעגל. Qiskit מספקת כמה addons שעוזרים ביצירת מעגלים, בסימולציה ובאופטימיזציה. למידע נוסף על כל אחד מהכלים הבאים, עקוב אחר הקישורים.
בניית מעגלים קוונטיים
ביישומים מסוימים או בגישות חדשות, המשתמשים צריכים לקבוע איך למפות את הבעיה שלהם למעגל קוונטי. עם זאת, בתחומים רבים addons של Qiskit יכולים לבצע אוטומטית חלקים חשובים בתהליך הזה.
Optimization mapper
Optimization mapper עוזר לבטא בעיות אופטימיזציה קלאסיות בצורות שמתאימות לאלגוריתמים קוונטיים. היכולות העיקריות כוללות:
-
בניית פונקציות מטרה ואילוצים
-
המרת בעיות לניסוחי QUBO
-
יצירת ייצוגים של המילטוניאן או של אופרטורים

Fermionic mapper
Fermionic mapper ממיר אופרטורים פרמיוניים לאופרטורי qubit שמתאימים לחומרה קוונטית. הוא תומך במיפויים כמו Jordan-Wigner, שממיר אופרטורים על פרמיונים שאינם ניתנים להבחנה לאופרטורי Pauli על qubits הניתנים להבחנה, תוך שמירה על הסטטיסטיקה הפרמיונית. ה-addon הזה שימושי ליישומים בכימיה קוונטית ובמדע החומרים.
שני ה-addons הקודמים מתמקדים במיפוי הראשוני של מבנה בעיה למעגל קוונטי. עם זאת, חשוב באותה מידה למפות ביעילות את ההתפתחות בזמן של תהליך על מעגל קוונטי, ולבצע אופטימיזציה של מעגל על ידי הקטנת העומק שלו. ה-addons הבאים עוסקים במשימות האלה.
Multi-product formulas (MPF)
Multi-product formulas משפרות את הדיוק של סימולציות התפתחות בזמן קוונטית על ידי שילוב של כמה קירובים. ליתר דיוק, יוצרים מעגלים עם מספרים שונים של צעדי Trotter, כך שאפשר להשתמש בצירוף משוקלל של תוצאות המעגלים. לדיוק יעד נתון, MPF יכולות לעיתים קרובות להשתמש במעגלים רדודים יותר משיטות Trotter רגילות. המחיר הוא שצריך להריץ כמה מעגלים ולשלב את התוצאות שלהם באופן קלאסי.

AQC-Tensor
AQC-Tensor מבצע קומפילציה קוונטית מקורבת בשיטות של רשתות טנזורים. מקרה שימוש נפוץ הוא החלפת חלק ממעגל עמוק בקירוב וריאציוני רדוד יותר. המעגל המתקבל יכול להגיע לדיוק דומה בעומק קטן משמעותית.
Transpilation
כבר השתמשת ב-transpilation פעמים רבות בקורס הזה. אתה יודע שאחרי שבונים מעגל מופשט, צריך להכין אותו לביצוע על חומרה. עם זאת, עדיין לא בחנו לעומק את השלבים השונים של ה-transpilation.
שלבים מרכזיים ב-transpilation כוללים:
-
Layout: מיפוי qubits לוגיים ל-qubits פיזיים
-
Translation: שכתוב פעולות באמצעות קבוצת השערים הטבעית של ה-Backend
-
Routing: הוספה ואופטימיזציה של פעולות SWAP הנדרשות בגלל קישוריות החומרה
התהליכים האלה קשורים זה בזה. למשל, ה-layout צריך למזער את העומק גם אחרי התחשבות ב-routing. ה-layout צריך גם להימנע מה-qubits ומהחיבורים הנוטים ביותר לשגיאות. השלבים האלה הם לרוב אוטומטיים, אבל משתמשים מתקדמים עשויים לבחור לציין layouts מותאמים או אילוצים אחרים כשצריך.
כדי ללמוד עוד על transpilation, ראה את המדריך מבוא ל-transpilation.
בדוק את ההבנה שלך
הסתכל על המעגל הקוונטי הבא, והנח שאתה צריך להריץ אותו על מחשב קוונטי עם layout מסוג heavy-hex, שחלק ממנו מוצג. (א) הצע מיפוי ממספרי ה-qubits במעגל המופשט למספרי ה-qubits במחשב הקוונטי הפיזי שממזער את מספר שערי ה-SWAP הנדרשים. (ב) האם הבחירה שלך יחידה, או שייתכנו בחירות אחרות טובות באותה מידה? (ג) גם אם הבחירה שלך היא ה-layout האופטימלי היחיד להפחתת שערי SWAP, מהן כמה סיבות לכך שה-Transpiler עשוי לבחור מיפוי אחר?

תשובה
(א) ייתכנו תשובות נכונות רבות, אבל שים לב שרק ל-qubit המופשט 0 יש שערי הסתבכות (דו-qubit) עם שלושה שכנים. כל האחרים משתתפים בפעולות דו-qubit עם שני שכנים בלבד. אפשר למפות את המעגל הזה לטופולוגיית heavy-hex בלי אף שער SWAP. כל layout שמשיג זאת מקובל. כאשר מציין את ה-qubit המופשט אפס, ו- את ה-qubit אפס אחרי transpilation, layout אחד כזה הוא:
(ב) ה-layout הזה אינו יחיד. layouts רבים אחרים נמנעים משערי SWAP לגמרי. דוגמה נוספת:
(ג) לפעמים qubit מסוים נוטה לשגיאות יותר מרוב האחרים בשבב. כמו כן, חלק מהחיבורים בין qubits נוטים לשגיאות יותר מאחרים. ה-Transpiler מנסה למצוא layout שנמנע משערי SWAP מיותרים, אבל גם משתמש ב-qubits ובחיבורים בעלי הנאמנות הגבוהה ביותר הזמינים במחשב הקוונטי שנבחר.
הפחתת ההשפעות של רעש ושגיאות
כמה addons של Qiskit מתמקדים במיוחד בהפחתת ההשפעה של רעש ושל פגמי חומרה.
Operator backpropagation וטרנספורמציות מעגל מודעות לרעש
כבר דנו בהעברת אופרטורים (operator propagation) בהקשר של בדיקות Pauli קוהרנטיות בתיקון שגיאות. עם זאת, העברת אופרטורים שימושית באופן כללי יותר. יש שתי דרכים עיקריות להשתמש בהעברת אופרטור דרך מעגל קוונטי: (1) לספוג את השכבות האחרונות של המעגל הקוונטי לתוך ה-observables הנמדדים, ו-(2) להביא בחשבון את ההשפעות הסבירות של שגיאות במעגל, ולפצות עליהן על ידי מדידת observable אחר. שני הכלים הבאים משתמשים בגישות האלה.
Operator backpropagation
Operator backpropagation מקטין את עומק המעגל על ידי ספיגת שערים מסוף המעגל לתוך ה-observable הנמדד. לדוגמה, נתבונן במעגל הבא.
המעגל הזה מכיל שכבות סיבוב והסתבכות שנראות לא טריוויאליות, ואחריהן סולם של שערי CNOT ומדידה של Z על qubit 5. עומק הדו-qubit של המעגל הוא 7. עומק זה הוא לפני transpilation. בפועל, בדרך כלל מפעילים backpropagation אחרי transpilation, אבל הדוגמה הזו היא למטרות לימוד בלבד. זכור שיש כללים להעברת observable מעבר לשער. בפרט, כאשר לשער CNOT יש target ו-control , observable מסוג על הופך ל- כשמעבירים אותו אחורה מעבר לשער ה-CNOT: . במעגל הדוגמה, אם מעבירים את ה-observable אחורה דרך כל סולם שערי ה-CNOT, מקבלים את ה-observable , או בסימון הסטנדרטי של Qiskit, פשוט . אם נמדוד את ה-observable הזה במקום רק את , נוכל להסיר את כל סולם שערי ה-CNOT, מה שמקטין את עומק הדו-qubit מ-7 ל-2. ה-observable הזה עדיין דורש מדידה בבסיס אחד בלבד על כל qubit, ולכן הוא לא מגדיל את מספר ה-shots שאנחנו צריכים. זה לא תמיד המצב. באופן כללי, observables מורכבים יותר דורשים יותר shots, ולפעמים יותר מדידות בבסיסים שונים.
האסטרטגיה הכללית של operator backpropagation כוללת את השלבים הבאים:
-
קיצור המעגל שמבוצע
-
החלפת ה-observable המקורי ב-observable מורחב
-
המרת עומק מעגל בדרישות דגימה מוגדלות
המעגל הקודם הוא דוגמה מובהקת שבה backpropagation מועילה. באופן כללי, עם זאת, לא קל לזהות את המעגלים שנהנים ממנה ביותר. כדי להחליט מתי להשתמש ב-backpropagation, בדוק כמה עומק אפשר להסיר מהמעגל שלך, ושקול את ההקטנה הזו מול דרישות הדגימה המוגדלות.
Propagated noise absorption (PNA)
Propagated noise absorption דומה במבנה ל-operator backpropagation. עם זאת, במקום להעביר אופרטור אחורה דרך השערים האידיאליים במעגל, PNA משלבת מודל רעש נלמד ומעבירה את השפעות הרעש ישירות לתוך ה-observable. PNA עושה את הדברים הבאים:
-
לומדת את התנהגות הרעש מהחומרה
-
מעבירה את מודל הרעש דרך המעגל
-
מפיקה observable מותאם שמפצה על רעש השערים
כשמודדים את ה-observable המותאם על חומרה רועשת, ערכי התצפית המתקבלים מקרבים טוב יותר את התוצאה האידיאלית נטולת הרעש. ל-PNA יש שני סוגי תקורה. ראשית, צריך ללמוד את מודל הרעש, מה שדורש הרצת מעגלים נוספים. שנית, PNA יכולה להפיק observables מורכבים יותר, מה שעלול להגדיל את דרישות הדגימה.
Circuit cutting
Circuit cutting מחלק מעגל גדול לתת-מעגלים קטנים יותר שאפשר להריץ באופן בלתי תלוי. אחר כך מבצעים מספיק מדידות כדי לשלב מחדש את התוצאות. Circuit cutting עושה את הדברים הבאים:
-
מקטין את דרישות החומרה
-
מאפשר חישובים גדולים ממספר ה-qubits הזמין (מעגלים רחבים יותר)
-
עוזר להתמודד עם מגבלות עומק וקישוריות (מעגלים עמוקים יותר)
-
משחזר את התוצאה המקורית באמצעות עיבוד לאחר קלאסי
Samplomatic
רבות מהטכניקות בסעיפים הקודמים משלימות שיטות דיכוי וצמצום אחרות שנסקרו לאורך הקורס, כולל:
-
Dynamical decoupling
-
Pauli twirling
-
M3
-
TREX
-
Zero-noise extrapolation (ZNE)
-
Probabilistic error cancellation (PEC)
בתהליכי עבודה רבים אפשר להחיל טכניקות שונות על אזורים שונים של אותו מעגל. כפי שראינו, רבות מהטכניקות האלה מגיעות גם עם תקורה קוונטית. לכן לפעמים אנחנו צריכים שליטה עדינה ומפורטת בלמידת רעש, בדגימה ובהחלה של רצפי twirling. אלה חלק מהמניעים שמאחורי Samplomatic.
Samplomatic היא ספריית קוד פתוח שמאפשרת תהליכי עבודה מותאמים של דגימה, randomization וצמצום שגיאות.
המשימה הראשונה שלה היא לנתח מעגל ולחלק אותו לאזורים מתויגים, או boxes. ל-boxes האלה שתי מטרות:
-
הם מחלקים את המעגל באופן חזותי.
-
הם יוצרים אזורים עם אינדקסים שאפשר להגדיר באופן בלתי תלוי.
משתמשים יכולים לצרף annotations שמתארות איך יש לטפל בכל box במהלך הביצוע. דוגמאות כוללות:
-
החלת Pauli twirling על כל ה-boxes
-
החלת twirling רק על boxes נבחרים
-
שימוש בקבוצות twirling שונות באזורים שונים
-
הזרקת רעש נלמד לשכבות מסוימות
-
התאמה אישית של אסטרטגיות mitigation ברמת פירוט עדינה
Samplomatic מזהה גם אזורים חוזרים בתוך boxes. מכיוון ששכבות זהות מציגות בדרך כלל מאפייני רעש דומים, צריך לבצע למידת רעש רק פעם אחת לכל שכבה ייחודית.
הפלטים של Samplomatic
Samplomatic מפיק שני אובייקטים עיקריים:
-
מעגל תבנית (Template circuit)
-
Samplex
מעגל התבנית הוא מעגל עטוף ב-boxes, מקומפל (transpiled) ומוגדר בפרמטרים, שמוכן להרצה. ה-samplex מכיל את כל המידע הדרוש כדי ליצור ולעבד גרסאות של המעגל. תוכן ה-samplex כולל:
-
ערכי פרמטרים עבור מעגלים עם פרמטרים
-
בחירות רנדומיזציה
-
התפלגויות דגימה
-
מידע לעיבוד המשך
-
מטא-דאטה נוסף של הרצה
באופן פורמלי, samplex הוא התפלגות הסתברות על הפרמטרים של מעגל תבנית, יחד עם מידע עזר הדרוש להרצה ולעיבוד המשך. יתרון מעשי חשוב הוא שגם מעגל התבנית וגם ה-samplex נוצרים מקומית בצד הלקוח. כך אפשר לבדוק, לאמת ולדבג אותם לפני שמשתמשים במשאבי חומרה כלשהם.
ל-Samplomatic יש יתרונות רבים, כולל שליטה עדינה בהקצאת shots אדפטיבית וברנדומיזציה. יש לו גם יתרונות לוגיסטיים, כמו תהליכי עיבוד המשך מובנים. אחד היתרונות החשובים ביותר הוא שימוש חוזר במידע רעש שנלמד בין שכבות זהות, מה שיכול לחסוך כמות משמעותית של זמן מחשוב קוונטי בזמן למידת הרעש.
Shaded lightcones
לפני שמחליטים היכן להפעיל טכניקות mitigation יקרות, כדאי לזהות את האזורים במעגל שהכי חשובים לאובזרבל שנמדד. הצורך הזה הניע את התוסף shaded lightcones. הרעיון של lightcone מגיע מתורת היחסות, שבה יחסי סיבתיות מוגבלים על ידי המהירות הסופית שבה מידע יכול לנוע.

מושג דומה חל גם במעגלים קוונטיים.
נניח מעגל גדול שבו מעניין אותנו רק אובזרבל בעל משקל נמוך. אובזרבל בעל משקל נמוך פועל באופן לא טריוויאלי רק על כמה qubits. אובזרבלים כאלה מעניינים מסיבות רבות. לדוגמה, הם יכולים לייצג את הדברים הבאים:
-
איברים בודדים בתוך המילטוניאן גדול יותר
-
אזור אינטראקציה מקומי
-
מידע שנאסף על קבוצה קטנה של qubits עזר (ancilla)
-
אובזרבלים אחרים שמערבים רק כמה qubits
לא כל שגיאה במעגל יכולה להשפיע על תוצאת המדידה. זה נכון במיוחד לשגיאות Pauli, או לכל שגיאה שאפשר לתאר כקבוצה של פעולות Pauli. לדוגמה, התבוננו במעגל הבא:

שגיאת Pauli על qubit 0 בשכבה האחרונה לא יכולה להשפיע על המדידה של qubit 6, כי אין שער מחבר שיכול להעביר את השגיאה מ-qubit 0 ל-qubit 6. שימו לב שטיעון זה לא חל על שגיאות לא יוניטריות מסוימות. לדוגמה, מעבר מסוג T1 למצב היסוד ב-qubit 0 מקריס את qubit 0 למצב בבסיס החישובי. אם qubits 0 ו-6 היו שזורים קודם (כפי שהם במעגל הזה), השגיאה הלא יוניטרית ב-qubit 0 יכולה להשפיע על qubit 6. הדיון הבא מתמקד בשגיאות שאפשר לייצג כפעולות Pauli, או כתערובות הסתברותיות של פעולות Pauli.
בשכבה האחרונה, רק שגיאת Pauli על qubit 5 או על qubit 6 יכולה להשפיע ישירות על המדידה של qubit 6.
בשכבת השזירה שלפניה, qubits 5 ו-6 שזורים עם qubits 4 ו-7, בהתאמה. לכן, בשכבת השזירה הזו או רגע לפניה, שגיאת Pauli על כל אחד מארבעת ה-qubits האלה יכולה להשפיע על המדידה המאוחרת. אפשר להמשיך ולעקוב אחורה לאורך המעגל כדי למצוא את תת-קבוצת השערים וה-qubits שקשורים סיבתית למדידה. הקבוצה הסיבתית הזו יוצרת אזור בצורת חרוט במרחב (qubits) ובזמן (שכבות), ומכאן המונח lightcone. הצורה המדויקת של האזור משתנה ממעגל למעגל. מכיוון שהניתוח הזה תלוי בקישוריות החומרה ובמיקום השערים, הוא שימושי ביותר אחרי transpilation, ניתוב ואופטימיזציית layout.
מעבר לקישוריות סיבתית
Shaded lightcones מרחיבים את הרעיון הזה בכך שהם מביאים בחשבון גם אילו סוגי שגיאות חשובים.
לדוגמה, שימו לב לדברים הבאים:
-
שגיאת Z מיד לפני מדידה בבסיס Z לא משפיעה על תוצאת המדידה.
-
שגיאת X מיד לפני מדידה בבסיס Z יכולה לשנות את התוצאה באופן דרמטי.
לכן חלק מסוגי השגיאות ראויים ליותר מאמץ mitigation מאחרים. ההבחנה הזו יכולה להקטין משמעותית את התקורה של טכניקות כמו PEC. בפועל, התוסף מייצר ניתוחי רגישות נפרדים לכל אחד מסוגי השגיאות הבאים:
-
X errors
-
Z errors
-
שגיאות Y (או XZ עד כדי פאזה)
רגישות השגיאות נראית בדרך כלל שונה עבור כל סוג שגיאה, מפני ששגיאות שונות הקשורות סיבתית משפיעות על המדידה בצורות שונות. שימו לב גם שהרגישות משתנה לאורך המעגל. שגיאת X מיד לפני המדידה עלולה להזיק מאוד, בעוד ששגיאה שמתרחשת שכבות רבות קודם לכן עשויה להשפיע פחות אחרי שהיא מתפשטת דרך מצב שזור מאוד.

Shaded lightcones מכמתים את ההבדל הזה על ידי הקצאת ערך רגישות לשגיאות פוטנציאליות לאורך המעגל.
המפות שמתקבלות מראות את הדברים הבאים:
-
היכן שגיאות חשובות
-
אילו סוגי שגיאות חשובים
-
עד כמה הן משפיעות על האובזרבל הסופי
Shaded lightcones לא מבצעים mitigation של שגיאות בעצמם, אבל הם יכולים לעזור למקד את מאמץ ה-mitigation במקום שבו הוא מועיל ביותר.
למידה והזרקה של רעש
אחרי שמעגל נבנה, עבר אופטימיזציה והוערה, נותרות שתי משימות משלימות: למידת הרעש, ושימוש במודל הרעש (למשל, כדי להזריק רעש או כדי להפיץ את השפעות הרעש).
NoiseLearnerV3
NoiseLearnerV3 הוא הכלי הנוכחי ללמידת רעש. הממשק הקודם, NoiseLearner, קיבל מעגלים שלמים והפיק מודלי רעש מסוג Pauli-Lindblad. לעומת זאת, NoiseLearnerV3 פועל ישירות על הוראות מעגל עטופות ב-boxes. בקצרה, NoiseLearnerV3 עושה את הדברים הבאים:
-
מקבל אוספים של שכבות מעגל מתויגות
-
עושה שימוש חוזר במידע משכבות חוזרות
-
תומך בלמידת רעש מדידה
-
תומך בעיבוד המשך של מודלים שנלמדו
-
מאפשר תהליכי הזרקה והגדלה של רעש
העיצוב הזה מתיישב היטב עם תהליך העבודה של Samplomatic, שמבוסס על שכבות. בפרט, NoiseLearnerV3 משתמש בשיטות הבאות לכל קבוצת הוראות:
-
למידת Pauli-Lindblad עבור פעולות שערים
-
למידה מבוססת TREX עבור מדידות
אפשר אז להשתמש במודל רעש שנלמד בשיטות רבות שכבר סקרנו. לדוגמה, נזכיר ש-zero-noise extrapolation (ZNE) עם gate folding עלול להוביל למעגלים עמוקים עד כדי כך שאי אפשר להריץ אותם. השיטה החלופית להגדלת הרעש במקרה הזה הייתה לדגום ממודל רעש ידוע, מה שמגדיל למעשה את רמת הרעש, אפילו בגורמים לא שלמים. שיטה זו, probabilistic error amplification (PEA), היא דוגמה טובה לאופן שבו אפשר להשתמש במודל רעש כדי לבצע mitigation של שגיאות. מודל רעש טוב נדרש גם עבור probabilistic error cancellation (PEC) ו-propagated noise absorption (PNA).
בקצרה, עם מודל רעש איכותי, הרעש הופך למשאב שאפשר לתכנת ולא רק למקור שגיאות.
Shaded lightcones לעומת NoiseLearnerV3
NoiseLearnerV3 ו-SLC קשורים זה לזה מאוד, אבל הם מקבלים קלטים שונים וענים על שאלות שונות. SLC קובע היכן למקד את מאמץ ה-mitigation. NoiseLearnerV3 מאפיין את הרעש בפועל שקיים באזורים האלה. לתהליכים האלה יש גם סוגים שונים של תקורה. הטבלה הבאה מסכמת את ההבדלים.
| Shaded lightcones | NoiseLearnerV3 | |
|---|---|---|
| מטרה | מזהה היכן ה-mitigation חשוב | לומד איך שגיאות מתנהגות |
| תקורה | בעיקר תקורה קלאסית | דורש הרצות על חומרה |
| פלט | מפיק מפות רגישות | מפיק תיאורים של ערוצי רעש |
| קלט | משתמש במבנה המעגל ובהפצת אופרטורים | משתמש במבנה המעגל ובנתוני חומרה ניסיוניים |
הרצת Executor ו-runtime
Executor מבצע את שלב ההרצה הסופי. הוא יכול לפעול על אחד מהקלטים הבאים:
-
מעגל תבנית ו-samplex שנוצרו על ידי Samplomatic
-
מעגל קוונטי רגיל ללא Samplomatic
הגמישות הזו מאפשרת לאמץ כמה מרכיבים מתהליך ההרצה המכוונת שרק צריך, רבים או מעטים.
Executor עובד בשילוב הדוק עם Samplomatic, שמנהל את בחירות הרנדומיזציה, הקצאת ה-shots, בחירות הזרקת הרעש ומטא-דאטה נלווה של ההרצה, כפי שתואר קודם.
לדוגמאות מעשיות של מודל ההרצה המכוונת, ראו את המדריך Directed execution model וכן את המדריכים (tutorials) ואת התיעוד של תוספי Qiskit ב-IBM Quantum® Platform.
סיכום
תהליכי עבודה קוונטיים מודרניים נשענים יותר ויותר על אוסף של כלים משלימים ולא על primitive הרצה יחיד.
הכלים האלה תומכים בכל שלב בתהליך העבודה:
-
מיפוי הבעיה
-
בניית מעגלים
-
Transpilation ואופטימיזציה
-
דיכוי שגיאות
-
mitigation של שגיאות
-
למידת רעש
-
הרצה מובנית
-
עיבוד המשך
יחד, כלים כמו Samplomatic, Executor, NoiseLearnerV3, shaded lightcones, propagated noise absorption, חיתוך מעגלים ו-AQC-Tensor מספקים שליטה רבה יותר באופן משמעותי מאשר מודלי ההרצה הקודמים.
התחום ממשיך להתפתח במהירות. ככל שמעבדים קוונטיים נעשים גדולים ומחוברים יותר, הטכניקות האלה צפויות למלא תפקיד חשוב יותר ויותר בהשגת יתרון קוונטי שימושי, ובסופו של דבר גם בשילוב חלק עם תהליכי מחשוב קוונטי עמיד לתקלות.
