Qiskit Paulice
qiskit-paulice היא חבילה להטמעת בדיקות פאולי יעילות-חומרה במעגלי Clifford שרירותיים על קישוריות qubits שרירותית, באמצעות קודי stabilizer של מרחב-זמן. אפשר להשתמש בבדיקות האלה כדי לזהות שגיאות לוגיות במהלך הרצת המעגל. עשיית postselection רק לדגימות ללא שגיאות שזוהו יכולה לשפר את הנאמנות של מצבים שנדגמו במעבד קוונטי, במחיר של כמה qubits עזר ועלייה בעומס הדגימה. השיטה מתאימה במיוחד לחומרה של הטווח הקרוב, כי העומס שלה ב-qubits ובשערים מתון בהרבה בהשוואה לחישוב קוונטי עמיד לתקלות, ועם זאת עומס הדגימה שלה טוב יותר משיטות הפחתת שגיאות כמו ZNE או PEC [1].
אף שאפשר להשתמש בבדיקות פאולי מרחב-זמן למימוש שגרות עצמאיות לזיהוי שגיאות, הן רלוונטיות גם בהקשר של הפחתת שגיאות ותיקון שגיאות. זיהוי שגיאות יכול להשלים טכניקות הפחתת שגיאות כמו ביטול שגיאות הסתברותי (PEC) בכך שהוא קולט חלק מהרעש שמשפיע על שערים ומדידות, מקטין את ההשפעה של ערוץ הרעש ההפוך ובכך מפחית את עומס הדגימה. אפשר לראות בהן גם צעד מוקדם לקראת עמידות לתקלות מעשית, כי מימוש קודי stabilizer להגנה על qubits של נתונים מפני שגיאות לוגיות הוא מושג מרכזי בתיקון שגיאות מסורתי. מכיוון שהשיטה הזו נותנת גישה למצב הקוונטי ברמת shot בודד, אפשר להשתמש בה גם בתהליכי עבודה מבוססי דגימה וגם בתהליכים מבוססי ערך תצפית.
תחילת העבודה
מדריך פשוט שיעזור לכם להתחיל מהר עם החבילה הזו זמין במדריך ההתחלה המהירה.
דוגמאות לשימוש
הטכניקה הזו שימשה לשיפור הנאמנות של דגימות ממעגלים שנשלטים על ידי שערי Clifford, עם 97 qubits פיזיים שקידדו 2415 שערי הסתבכות לוגיים על פני 70 qubits לוגיים [2].
דיון טכני
מציאת קבוצות טובות של בדיקות פאולי מרחב-זמן
קבוצת בדיקות פאולי מרחב-זמן נחשבת "טובה" אם כל בדיקה בה תקפה, בעלת משקל נמוך ויעילה.
בדיקה מורכבת ממספר סיבובי פאולי מבוקרים, , שמוצבים על חוטים מסוימים במעגל, : . בבדיקה נתונה, הבקרים נמצאים על qubit עזר יחיד, והסיבובים מתרחשים על חוטים של qubit יעד יחיד. במעגלי Clifford, בדיקה תקפה אם המכפלה שלה אחרי הפצה לאחור היא stabilizer של המצב שהמעגל האידיאלי מכין: , כאשר הוא מפיץ-לאחור של מהחוט אל תחילת המעגל, ו- היא קבוצת כל ה-stabilizers של המעגל.
בדיקה היא בעלת משקל נמוך אם מימושה דורש מעט שערי הסתבכות. אלגוריתם בחירת הבדיקות יעדיף בדיקות בעלות משקל נמוך שנותנות את זיהוי השגיאות היעיל ביותר.
בדיקה יעילה אם היא קולטת הרבה יותר שגיאות ממה שהיא מכניסה. בדיקת פאולי מורכבת ממספר שערי הסתבכות, ולכן מכניסה לחישוב רעש שערים נוסף. חשוב לוודא שכל בדיקה נוספת מוסיפה יכולת זיהוי שגיאות. אפשר להעריך את היעילות של קבוצת בדיקות על ידי הרכבת שגיאות הפאולי שהבדיקות חושפות לערוץ רעש אחרי postselection, וחישוב ההשפעה שלו. מזעור עומס הדגימה הנדרש למימוש ערוץ הרעש ההפוך שנחשף הוא היוריסטיקה טובה לבחירת בדיקות, כי היא מצביעה על כמות השגיאות שהבדיקות לא מצליחות לזהות. גישה איטית יותר אבל מציאותית יותר היא לבצע דגימת מונטה קרלו מהמצב הרועש ולחשב אמפירית את שיעור השגיאות הלוגיות של ההתפלגות אחרי postselection. שתי הגישות זמינות כפונקציות עלות מובנות בפונקציה qiskit_paulice.add_pauli_checks.
Postselection של דגימות על סמך נתוני סינדרום
בחבילה הזו בדיקה ממומשת באמצעות שערי הסתבכות בין qubit עזר אחד ל-qubit יעד אחד. כל qubit עזר מתחיל ב-, ולכן מייצב את מצב הקלט שלו. הפצה קדימה של מתחילת qubit העזר דרך כל המעגל עם הבדיקות מניבה אופרטור פאולי על הפלט, שעשוי להיות בעל משקל גבוה יותר ולהתרחב אל מעגל המטען. האינדקסים של ה-qubits שבהם לאופרטור הפלט הזה יש איברים שאינם הזהות נקראים התמך של הבדיקה, והבדיקה עוברת אם הביטים, , בתמך של הבדיקה הם בעלי זוגיות זוגית: . דגימה נשמרת אם כל בדיקה מחזירה בבדיקת הזוגיות שלה.
יכולות התוכנה
-
יצירה אוטומטית של מודל רעש מנתוני בנצ'מרק של ה-Backend
-
מציאת בדיקות מואצת ב-Rust
-
3 אלגוריתמים מובנים למציאת בדיקות
-
תמיכה ב-doping של שערי RZ
-
תמיכה בשילוב של זיהוי שגיאות עם הפחתת שגיאות
בעיות ידועות
-
רעש בזמן סרק לא מסופק דרך
NoiseModel.get_backendומתעלמים ממנו בבחירת הבדיקות -
אף שאפשר לשלוט בצעדים סטוכסטיים רבים באלגוריתם באמצעות seed אקראי, בחלק מהיכולות יש אקראיות שאי אפשר לשלוט בה באמצעות seed. באופן ספציפי, הערכים הבאים של הארגומנטים עבור
add_pauli_checksיגרמו לבחירת בדיקות לא דטרמיניסטית:cost="LER",method="genetic"ו-method="windowed_genetic". להתנהגות דטרמיניסטית יש להשתמש ב-add_pauli_checks(..., cost="gamma", method="windowed"), שהם ערכי ברירת המחדל.
עבודה עתידית
-
טיפול ברעש בזמן סרק בעת בחירת בדיקות
-
אקראיות הניתנת לשליטה בפונקציית העלות של שיעור השגיאות הלוגיות ובאלגוריתמי חיפוש גנטיים
תרומה לפרויקט
קוד המקור זמין ב-GitHub.
מדריך המפתחים נמצא ב-CONTRIBUTING.md בשורש המאגר של הפרויקט. בהשתתפות בפרויקט אתם מתחייבים לכבד את קוד ההתנהגות של Qiskit.
ציטוט החבילה
אם אתם משתמשים בחבילה הזו במחקר שלכם, השתמשו בקובץ CITATION.bib במאגר של הפרויקט כדי לצטט את ההפניות המתאימות.
רישיון
מדיניות הוצאה משימוש
אנחנו עוקבים אחרי semantic versioning. לפעמים נבצע שינויים שוברים כדי לשפר את חוויית המשתמש. כשאפשר, נשמור על ממשקים ישנים ונסמן אותם כמוצאים משימוש, כל עוד הם יכולים להתקיים לצד החדשים. כל שיפור משמעותי, שינוי שובר או הוצאה משימוש יתועדו בהערות הגרסה.
מקורות
-
Simon Martiel, Ali Javadi-Abhari, Low-overhead error detection with spacetime codes, arXiv:2504.15725 [quant-ph].
-
Simon Martiel, et al., Sampling hard circuits with verifiably high fidelity, arXiv:2607.25941 [quant-ph].