מבוא
ברוכים הבאים לגבול
לאורך ההיסטוריה, ההבנה המדעית שלנו את העולם גדלה במהירות כשכלים חדשים הפכו לזמינים – כלים שאפשרו לנו לשאול שאלות חדשות, לבצע ניסויים גדולים יותר ולחקור תחומי מחקר חדשים. בין הכלים האלה ניתן למנות את הטלסקופ, המיקרוסקופ ומאיץ ההדרוניות הגדול (LHC). כל אחד מהם פתח גישה לסוגים חדשים של תגליות מדעיות. בשנות ה-60 ראינו גם את פיתוח המחשוב בעל הביצועים הגבוהים (HPC), שהפך לכלי קריטי לפתרון משימות חישוביות מורכבות, כולל אתגרים מדעיים חשובים רבים.
כיום יש לנו כלי חשוב נוסף לקידמה מדעית: מחשבים קוונטיים. אף שזו עדיין טכנולוגיה מתפתחת, למחשבים קוונטיים יש פוטנציאל לשנות משמעותית את סוגי הבעיות החישוביות שנוכל לפתור ביעילות. קורס זה עוסק בהבנת האופן שבו הטכנולוגיות האלה, כשהן פועלות יחד, יכולות להרחיב את גבולות האפשרי מבחינה חישובית.
המשימה שלנו ברורה אך שאפתנית: לספק לך את הידע המושגי והמעשי הדרוש לשימוש בטכנולוגיות אלה כדי להתמודד עם בעיות הקשות ביותר בעולם.
הסרטון הבא מתאר את מטרות הקורס ואת המוטיבציה שמאחורי שילוב HPC ומחשוב קוונטי.
HPC
מה הוא בדיוק מחשוב בעל ביצועים גבוהים? HPC הפך לבסיס לפתרון בעיות חישוביות מודרניות. אנחנו כבר לא חיים בתקופה שבה ניתן לפתור בעיות מתקדמות בכלים פשוטים כמו חשבונייה או עט ונייר; במקום זאת, אנחנו עובדים עם שאלות ומאגרי נתונים שדורשים עוצמה חישובית עצומה.
תחום המחשוב בעל הביצועים הגבוהים מושרש בפיתוח המחשבים-העל הראשונים בשנות ה-60. אלה היו מכונות שתוכננו במיוחד לפתור בעיות מדעיות והנדסיות בקנה מידה גדול מהר יותר ממחשבים קונבנציונליים.
אחד ממחשבי-העל המוכרים הראשונים היה CDC 6600 (1964), שנבנה על ידי סיימור קריי, המכונה לעיתים קרובות אבי המחשוב העל. CDC 6600 היה המחשב המהיר ביותר בזמנו, ועשה שימוש בארכיטקטורה חדשנית שכללה יחידות פונקציונליות מקביליות ו-pipelining – מושגים שעדיין נמצאים בשימוש ב-HPC היום.
קריי המשיך לקדם את התחום עם Cray-1 (1976), שהצי ג עיבוד וקטורי – טכניקה שהגדילה מאוד את מהירות הפעולות על מערכי נתונים גדולים, מה שהפך אותו למתאים במיוחד למחשוב מדעי.
כאשר מהירויות המעבד הבודד החלו להתייצב, HPC התפתח לכיוון מחשוב מקבילי – שימוש בהרבה מעבדים הפועלים יחד על חלקים שונים של בעיה. בשנות ה-80 וה-90, ארכיטקטורות מקביליות הפכו נפוצות ב-HPC. בתחילת שנות ה-2000, HPC עבר לאשכולות של חומרה מוכנה מהמדף, שהם שרתים רגילים המחוברים ברשתות מהירות. מעבר זה הפך את המחשוב-על לזול יותר ונגיש יותר.
לאורך ההתפתחות הזאת, IBM® הייתה בחוד החנית של מחקר ויישום HPC. בפרט, מחשבי-העל IBM Blue Gene היו אחת ממשפחות מחשבי-העל המשפיעות ביותר של שנות ה-2000 ותחילת שנות ה-2010. זו הייתה עידן של צמיחה עצומה במערכות מקביליות מסיביות, שדוגמה להן היא Blue Gene/Q, שאחד ממופעיה (Sequoia) כלל 100,000 צמתים. ה-IBM-built Oak Ridge Summit היה ה-HPC הראשון שהגיע ל-ExaOPS (1.88 דיוק מעורב) ב-2018.
כיום אנחנו בעידן ה-exascale, שבו מחשבי-על יכולים לבצע פעולות לשנייה (exaflops). מחשב-העל הראשון שהגיע לציון ד-exascale היה Frontier, הממוקם במעבדה הלאומית של Oak Ridge.
אז למה אנחנו צריכים משאבי מחשוב כל כך חזקים? יש בעיות קריטיות לרווחת האנושות שדורשות משאבים קיצוניים כאלה כדי לדמות אותן או לפתור אותן. דוגמאות כוללות מודלים של אקלים, חקר מבנה ותנועת המעטפת של כדור הארץ, וסימולציות דינמיקת נוזלים.
בעיות רבות מסוג זה טופלו על ידי חוקרי IBM ושותפיהם העובדים על מערכות IBM. מנהיגות מתמשכת זו זכתה להכרה רחבה. לדוגמה, חוקרי IBM זכו בפרס גורדון בל שש פעמים.[1]
HPC הוא תחום פעיל מאוד עם גבולות הנשברים באופן קבוע. לסקירה אחת של יכולות מודרניות, ראו רשימה זו של 500 מחשבי-העל המובילים.
מחשוב קוונטי
מחשוב קוונטי הוא פרדיגמת מחשוב חדשה שאינה פשוט ממשיכה את ההתפתחות ההדרגתית של מחשבים קלאסיים. היא שואפת לנצל את המאפיינים הקוונטיי ם של סופרפוזיציה, שזירה, והתאבכות קוונטית כדי לפתור בעיות שיהיו בלתי ניתנות לעיבוד עבור מחשבים קלאסיים בלבד. לא נחקור בקורס זה את פרטי הייחודיות של המחשוב הקוונטי – ראו יסודות המידע הקוונטי לפרטים נוספים – אלא נדון כיצד שילוב שני התשתיות האלה עשוי להוביל לפריצות דרך במדע יישומי.
גישה היברידית
החשוב מכל הוא להדגיש ששתי פרדיגמות המחשוב האלה אינן מתחרות. אנחנו בעידן שבו תהליכי עבודה מותאמים דורשים משתי הפרדיגמות להשלים זו את זו ולמקם כל משימה היכן שהיא מטופלת ביעילות רבה יותר. מחשבים קוונטיים לא יחליפו מערכות קלאסיות; מעתה, עתיד המדע החישובי יסתמך יותר ויותר על תהליכי עבודה היברידיים שבהם HPC מספק עיבוד קלאסי בביצועים גבוהים, ומחשוב קוונטי תורם יכולות ייחודיות. כמתרגל, חוקר, או איש טכנולוגיה, הבנת האופן לשלב את הכלים האלה תמצב אותך כמוביל בעידן הבא של קידמה מדעית וטכנולוגית.
נבחן כיצד מחשוב קוונטי ו-HPC ממוקמים לאפשר פריצות דרך במגוון רחב של תעשיות, כולל:
-
כימיה: האצת זיהוי תרופות וחומרים חדשים.
-
אנרגיה: תכנון קטליזטורים משופרים, סוללות ופתרונות אנרגיה נקייה.
-
פיננסים: מידול סיכונים, אופטימיזציה של תיקי השקעות ופיתוח מכשירים פיננסיים חדשים.
-
בינה מלאכותית ולמידת מכונה: שיפור אימון מודלים, אופטימיזציה וניתוח נתונים.
למה אנחנו הולכים מעבר לקלאסי
לבני אדם הייתה הצלחה ניכרת בתחומי היישום לעיל בשימוש ב-HPC. עם זאת, אפילו מחשבי-העל המהירים ביותר בעולם מתקשים כאשר בעיות מתרחבות פקטוריאלית או אקספוננציאלית עם גודל הבעיה. לדוגמה, רשימת כל הסידורים האפשריים של 50 חלקיקים בתוך מולקולה מורכבת מובילה לתצורות שגדלות לפחות פקטוריאלית, ודורשת זיכרון רב יותר ממה שכל מרכזי הנתונים על פני כדור הארץ גם יחד יכולים לספק.
דוגמה נוספת היא תכנון מסלול משלוחים ל-10,000 ערים: מספר המסלולים האפשריים הופך כל כך גדול שאפילו אם כל מחשב שנבנה אי פעם בדק מסלול אחד למיקרושנייה, החישוב יארך סדרי גודל יותר זמן מהגיל הנוכחי של השמש שלנו. הסכומים האלה אינם רק גדולים; הם גדלים בצורה אקספוננציאלית, כלומר כל חלקיק או עיר נוספים מכפילים את עומס החישוב הרבה מעבר לסקאלה פשוטה.
אנחנו יכולים להמשיך להוסיף GPUs, אבל מניפולציה של כמויות נתונים עצומות כאלה כבר צורכת מגה-ואט של חשמל ודורשת מתקנים בגודל מחסנים. בנקודה מסוימת, חומרה קלאסית אינה יכולה להמשיך לגדול בצורה מעשית או סבירה כלכלית. בגלל זה חוקרים פונים למעבדים קוונטיים, שמאחסנים מידע בסופרפוזיציות ויכולים לפעמים לטפל ישירות בבעיות הצמיחה האקספוננציאלית האלה, ולפתור מקרים ספציפיים שמחשבים קלאסיים אינם יכולים להשלים בכל פרק זמן סביר.
HPC בסופו של דבר מגיע לגבולות יסודיים הנקבעים על ידי קומבינטוריקה ותרמודינמיקה. מחשוב קוונטי אינו מבטל את הגבולות האלה, אבל לעיתים הוא יכול לעקוף אותם בתרחישים מאוד ספציפיים.
למה לא קוונטי בלבד?
אם מחשוב קוונטי יכול לעקוף מגבלות מסוימות של מחשוב קלאסי, למה לא להסתמך לחלוטין על מחשבים קוונטיים? הסיבה הראשונה והברורה ביותר היא שמחשבים קוונטיים עדיין דורשים מחשבים קלאסיים כדי לפעול. משימות כמו קומפילציה והזנת Circuit למעבד הקוונטי, אחסון תוצאות מדידה, וביצוע עיבוד-לאחר בסיסי – כולן מבוצעות על ידי מערכות מחשוב קלאסיות.
אז למה אנחנו צריכים בנוסף מחשוב בעל ביצועים גבוהים? ישנן מספר סיבות. יישומים רבים קיימים וצפויים של מחשוב קוונטי מתמודדים עם בעיות בעלות מרחבי חיפוש גדולים במיוחד. אלגוריתמים קוונטיים יכולים לעיתים קרובות לצמצם משמעותית את גודל המרחב הזה, אבל בפועל הבעיה הנותרת עדיין עשויה להיות גדולה מספיק כדי להפיק תועלת ממשאבי HPC. יתרה מזאת, ישנם אלגוריתמים שמאזנים את חוזקות HPC ומחשוב קוונטי, ומעבירים מספיק עבודה ל-HPC כדי להפוך את האלגוריתם הכולל לחסין יותר לאפקטים של רעש קוונטי.
דוגמה קונקרטית היא אלגוריתם אלכסון קוונטי מבוסס-דגימה (SQD). אלגוריתם זה, שיוחקר בשיעור 4, ממחיש כיצד HPC ומחשוב קוונטי יכולים להשלים זה את זה בפועל. לרקע נוסף, ראו את קורס אלגוריתמי אלכסון קוונטי ב-IBM Quantum Learning.
הכנה מומלצת
קורס זה מיועד לאנשי מקצוע וסטודנטים שעובדים – או מתכוונים לעבוד – בקרבה עם תשתית מחשוב בעל ביצועים גבוהים (HPC) ו/או מחשוב קוונטי. עם ההתקדמות המהירה בטכנולוגיות קוונטיות, אנחנו צופים עתיד קרוב שבו מעבדים קוונטיים משולבים לצד משאבי HPC מסורתיים להשגת תוצאות מדויקות יותר ופתיחת גישות חדשות לפתרון בעיות. קורס זה מיועד ללומדים שרוצים להבין כיצד לבנות ולהפעיל תהליכי עבודה היברידיים כאלה.
מכיוון שמשתתפים עשויים לבוא מרקעים שונים, אנחנו מצפים לשני סוגים עיקריים של לומדים: אלו שכבר מנוסים ב-HPC אך חדשים למחשוב קוונטי, ואלו שמיומנים במחשוב קוונטי אך חדשים ל-HPC. כדי לעזור לכולם להפיק את המרב מהקורס, אנחנו מספקים המלצות הכנה לשתי הקבוצות להלן.
למי שחדש ל-HPC
קורס זה מניח היכרות עם מושגי HPC מרכזיים כמו תכנות זיכרון מבוזר, העברת הודעות, מודלי תכנות מקביליים, וניהול משאבים. נשתמש גם בכלים כמו מנהל עומסי העבודה Slurm. אמנם מושגים רבים מהם יוצגו בקצרה כנדרש, אבל חשיפה מוקדמת לחלק מהם תהפוך את החומר לנגיש יותר. משאבים מועילים כוללים:
- HPC Wiki: דף עם הגדרות וגישות במחשוב בעל ביצועים גבוהים.
- דף ויקיפדיה של Slurm: מספק רקע קצר והערות על אימוץ נרחב.
- דף התחלה מהירה של Slurm: קצת רקע, הערות על התחלה, ורשימת פקודות Slurm בסיסיות.
- מדריך MPI: Hello World בסיסי באמצעות MPI.
משאבים נוספים מסופקים גם במאגר GitHub זה.
למי שחדש לקוונטי
קורס זה ישתמש בכלים ומושגים יסודיים ממחשוב קוונטי עם סקירה מקדימה מינימלית. אנחנו ממליצים שלמשתתפים תהיה לפחות היכרות עם Qiskit, הכרות עם Gate ו-Circuit קוונטיים, וחשיפה מסוימת לאלגוריתמים מבוססי-דגימה. המשאבים המפורטים להלן אמורים לספק הכנה מועילה.
- מדריך IBM Quantum® Composer: הדרכה ב-Composer, כלי תכנות קוונטי גרפי המאפשר לך לגרור ולשחרר פעולות לבניית Circuit קוונטי ולהריצו על חומרה קוונטית.
- מבוא ל-Qiskit: סדרת מדריכים שיעזרו לך להתקין ולהגדיר את Qiskit.
- Hello world: מדריך קצר על Qiskit שבו מגדירים ומריצים את התוכנית הקוונטית הראשונה שלך.
- אלגוריתמי אלכסון קוונטיים: קורס המכסה מספר סוגים של אלגוריתמים קוונטיים, כולל SQD שישמש בקורס זה.
משאבים נוספים מסופקים גם במאגר GitHub זה.
לומדים מכל הרקעים עשויים למצוא מדריך זה שימושי; הוא מכסה את תוסף ה-SPANK לניהול משאבים קוונטיים וכמה מילים על Slurm.
ישנן מספר דרכים שבהן ייחודיות המחשוב הקוונטי הופכת אותו שונה מבחינה פרוצדורלית ממשאבי מחשוב קלאסיים בדרכים המהותיות לקורס זה. לדוגמה, אין אנלוג קוונטי טוב ל-RAM. מידע מאוחסן ומעובד במצבי ה-Qubit עצמם. בעוד שמדידות יכולות לאפשר לחלק מתכונות ה-Qubit להירשם קלאסית, מדידות כאלה הורסות חלק גדול מהעושר של המצב הקוונטי, כולל סופרפוזיציה ושזירה. יתרה מזאת, משאבי מחשוב קוונטי אינם ממוקמים כיום על אותו צומת כמו שאר משאבי HPC, ומשתמשים במשאבים קוונטיים לעיתים קרובות לא יהיה להם אותה רמת שליטה בתזמון שעשויה להיות להם על משאבי HPC קלאסיים. מציאויות אלה יוזכרו שוב בשיעורים המתאימים. אבל המסקנה כאן היא שמחשבים קוונטיים הולכים לשנות את העולם ויש לשלב אותם עם HPC, אבל הם אינם "עוד" משאב HPC שניתן לשלוט בו ולהשתמש בו באותה צורה כמו CPUs, GPUs וכו'. מחשבים קוונטיים משנים את האופן שבו אנחנו יכולים לגשת לבעיות חישוביות רבות.
אודות קורס זה
בסוף הקורס הזה, תוכל לעשות יותר מסתם לחזור על מונחים טכניים – תבין כיצד לנהל תהליך עבודה היברידי מודרני שמקצה משימות-משנה ספציפיות למעבד קוונטי בעוד CPUs ו-GPUs מטפלים בעבודה הנותרת. תלמד כיצד לכתוב סקריפטים למשימות שעוברות בצורה חלקה בין צמתים קלאסיים ל-QPUs, לפרש את התוצאות בדיוק, ולזהות היכן האצה קוונטית באמת יכולה לשפר חישובים (והיכן לא). חשוב לא פחות, תתרגל לשמור על גישה פתוחה לצמיחה: בתחום חדש ומתפתח במהירות, אף אחד לא לומד הכל בבת אחת, וקידמה אמיתית מגיעה מחזרה על ניסויים, ניסוי, ושאלת שאלות. קורס זה מחולק ל-5 פרקים, המכסים את הנושאים הבאים:
תוכנית הקורס
- שיעור 1 - שיעור זה כיסה רקע ומוטיבציה
- שיעור 2 - משאבי מחשוב וניהולם
- שיעור 3 - מודלי תכנות הכוללים סביבות מחשוב הטרוגניות
- שיעור 4 - אלגוריתמים קוונטיים לתהליכי עבודה היברידיים, בפרט SQD
- שיעור 5 - תחזית עתידית וכיוון
חשוב על הקורס הזה כבסיס שלך לעתיד – המקום שבו אתה בונה את ארגז הכלים המנטלי ואת הביטחון העצמי לחקור את גבול הקוונטי-קלאסי הרבה אחרי שתסיים את השיעור האחרון.