תַקצִיר
יישׂומי בינה מלאכותית מתפתחים בקצב מהיר בשנים האחרונות, ומאפשרים למחשבים לבצע פעולות מורכבות כמו נהיגה ללא נהג, קבלת החלטות וזיהוי פרצופים. יישומים אלה דורשים כמויות מידע עצומות וביצוע חישובים רבים במקביל. מאמר זה מדגים עד כמה מבנה המחשב כיום בלתי יעיל עבור ביצוע יישומי בינה מלאכותית. במטרה להתמודד עם האתגר ולהמשיך לשפר את יישומי הבינה המלאכותית, נראה כיצד השראה מאופן פעולת המוח האנושי תאפשר לבנות מחשבים חדשים לחלוטין אשר יערערו את הדרך שבה מחשבים נבנים זה עשרות שנים.
מחשבים רגילים
מחשבים מגיעים בצורות ובגדלים שונים, החל ממחשבים זעירים הנמצאים בתוך טלפונים ניידים ועד מחשבי-על הנמצאים באולמות ענק שנקראים חוות שרתים. למרות השוני הגדול בשימושים וביכולות של המחשבים השונים, המבנה הבסיסי שלהם דומה – כולם מכילים יחידות חישוב הנקראות ’מעבד’ ויחידות אחסון מידע הנקראות ’זיכרון’. יחידות החישוב מבצעות אוסף של פעולות חשבוניות על מספרים שונים השמורים בתוך הזיכרון. כדי לבצע פעולה מורכבת, אוסף של פעולות פשוטות יותר נכתב כתוכנת מחשב, כשכל פעולה היא פקודה הנכתבת כשורת מלל בתוכנה. לדוגמה, כשרוצים לחבר שני מספרים במחשב, המחשב יבצע כמה פקודות הכוללות קריאה של כל מספר (הבאת המספר מהזיכרון אל המעבד); חיבור המספרים שיתבצע על ידי רכיב חשמלי המחבר מספרים ונמצא בתוך המעבד, ובסיום החישוב, כתיבה של התוצאה למקום מסוים בתוך הזיכרון (אחסון המידע). הפקודות עצמן מאוחסנות אף הן בתוך הזיכרון לפי סדר הפקודות שנכתבו בתוכנת המחשב.
מבנה בסיסי זה הכולל את ההפרדה בין יחידות החישוב ליחידות האחסון, ואת אחסון תוכנת המחשב בזיכרון, נהגה לראשונה על ידי ג’ון פון נוימן מאוניברסיטת פרינסטון בשנת 1945, ולכן המבנה הבסיסי נקרא ”ארכיטקטורת פון נוימן“ (איור 1) [1]. במשך שנים מחשבים שינו את צורתם ושיפרו את יכולותיהם הן ביכולת האחסון (כמות המידע שאפשר לשמור) הן ביכולות החישוב (מספר הפעולות שמחושבות בזמן מסוים ומורכבותן), אך המבנה והעקרונות הבסיסיים לא השתנו עד היום. במחשבים כיום, המעבד מבצע פעולות חשבוניות במהירות רבה (מעבד מודרני יכול לבצע בשנייה אחת יותר ממיליארד פעולות חשבוניות כגון חיבור או חיסור). לעומת זאת הגישה לזיכרון לטובת קריאה וכתיבה איטית בהרבה ודורשת אנרגיה רבה. לכן היעילות המרבית של מחשבים היא ביישומים שבהם המידע זמין ונגיש למעבד, וברוב הזמן מתבצעות פעולות חשבוניות.
בינה מלאכותית טורפת את הקלפים
בשנים האחרונות יישומי בינה מלאכותית צוברים תאוצה רבה, ואפשר להבחין בהם כמעט בכל תחום – ברפואה; בנהיגה (כסיוע לנהג ובקרוב גם כנהג אוטומטי); באבטחה; בייצור; בתעשייה ועוד. היכולת לחבר יחדיו מחשבים רבים ובכך לאחסן ולחשב כמויות עצומות של מידע מאפשרת לבחון את יעילות המודלים של בינה מלאכותית והתוצאות לאחרונה מרשימות מאוד, עד כדי כך שבמקרים רבים המחשב עולה ביכולותיו על האדם. לדוגמה, תוכנות זיהוי עצמים מזהות כיום עצמים בדיוק גבוה יותר מהאדם הממוצע, והמכוניות האוטונומיות כבר היום נוהגות בצורה בטוחה יותר מהנהג האנושי.
יישומי בינה מלאכותית מערערים את יציבות ארכיטקטורת פון נוימן ואת המודל החישובי שהחזיק מעמד שנים כה רבות. יישומים אלה מתבססים על הימצאות של כמות מידע עצומה ועל מודלים חישוביים הכוללים מספר עצום של פרמטרים (מספרים) שונים המותאמים למידע. איור 2 ממחיש דוגמה של זיהוי עצמים או פרצופים בתמונות. בדוגמה זו, מספר גדול של תמונות (לרוב מדובר במיליוני תמונות) מועברות למחשב עם תיוג התוצאה הרצויה (למשל, מהו סוג החיה בתמונה). עבור כל דוגמה (או עבור קבוצה של דוגמאות), מבוצע תהליך למידה (או אימון). תהליך זה כולל ניבוי התוצאה על ידי המחשב והשוואתה לתיוג. בהתאם להבדל בין התוצאה הרצויה לתוצאה שהתקבלה על ידי המחשב, ערכי הפרמטרים של המודל החישובי מעודכנים על פי חוקים מתמטיים שהוגדרו מראש. בדרך כלל, שגיאה גדולה תגרום לשינוי גדול יותר בערכי הפרמטרים. לאחר מספר גדול של דוגמאות, המודל החישובי יתכנס לערכי פרמטרים שיחשבו את התוצאה בסיכויי ניבוי גבוהים.
יישומי בינה מלאכותית דורשים אחסון כמויות מידע עצומות, כך שאי אפשר לאחסן אותם בזיכרונות קטנים יחסית. היות שהזיכרון דומה במהותו למחסן או לספרייה, גודלו ישפיע ישירות על הזמן והאנרגיה הדרושים כדי לגשת למקום מסוים. לכן, עבור יישומי בינה מלאכותית יש צורך לשמור את כל המידע בזיכרונות גדולים ולפיכך איטיים וצורכי אנרגיה רבה. כמו כן, הן ניבוי התוצאה הן עדכון הפרמטרים בזמן הלמידה דורשים מספר עצום של פעולות חשבוניות (סדר גודל של כמיליארד פעולות חיבור וכפל של מספרים עבור זיהוי תמונה בודדת). כזכור, שימוש במחשב סטנדרטי דורש מהמעבד לבצע פעולות כפל/ חיבור אחת אחרי השנייה, כשביניהן יש צורך להזיז את המידע בין המעבד לזיכרון. היות שבבינה מלאכותית החישובים מבצעים מיליארדי פעולות חישוב על מיליוני מספרים שונים, מחשבים סטנדרטיים הם בלתי יעילים, ויגרמו לבזבוז עצום של זמן ואנרגיה לטובת העברת המידע, נוסף על ביצוע איטי של פעולות החישוב הרבות אחת אחרי השנייה.
הצורך במחשבים חדשים
ההצלחה הגדולה של הבינה המלאכותית דוחפת לפיתוח יישומים נוספים, ודורשת מחברות המחשבים להעמיד לרשות המשתמשים מחשבים גדולים וחזקים המסוגלים לעמוד בכמויות המידע האדירות. כדי להתאים את המחשבים ליישומי הבינה המלאכותית, משתמשים נוסף על המעבדים הרגילים גם במעבדי גרפיקה (Graphics Processing Unit, GPU). מעבדים אלה פותחו במקור כדי לסייע בחישוב של פעולות על תמונות, הדורשות במרבית המקרים לבצע את אותה פעולה חישובית הרבה פעמים במקביל (למשל שינוי ערך של כלל הנקודות בתמונה). בבינה מלאכותית משתמשים במעבדי גרפיקה כדי לבצע מספר רב (לרוב כמה מאות או אלפים) של פעולות חיבור וכפל במקביל, וכך לקצר את זמן החישוב יחסית למעבד רגיל המבצע פעולות בודדות בצורה סדרתית. היות שמעבדי גרפיקה לא תוכננו במקור עבור בינה מלאכותית, החלו חברות רבות לייצר מעבדים ייעודיים שתכליתם לבצע את הפעולות הייחודיות על ידי הוספת מעגלים אלקטרוניים רבים המבצעים את פעולות הכפל והחיבור במקביל. כמו כן, במקום להשתמש בזיכרון אחד גדול מאוד, בונים מערכות של זיכרונות בגדלים שונים ובמקומות שונים, כך מידע שמשתמשים בו מספר פעמים יימצא בזיכרון קטן ומהיר, ומידע שמשתמשים בו פעם אחת בלבד יימצא בזיכרון גדול ואיטי.
למרות הנסיונות להתאים את המחשבים הקלאסיים לעידן הבינה המלאכותית, צורת החישוב של יישומים אלה עדיין שונה משמעותית מאשר המחשב של פון נוימן. למרות שמשתמשים בזיכרונות בגדלים שונים, קשה לנצל את יעילותם היחסית של הזיכרונות הקטנים, ולכן ניגשים בתכיפות לזיכרונות הגדולים והאיטיים. המעבדים החדשים והיעודיים לבינה מלאכותית אומנם הגדילו משמעותית את כמות החישובים שמבוצעים בזמן נתון, אך כמות עצומה של מידע עדיין צריכה לעבור אל הזיכרון, ולכן חלק משמעותי מהאנרגיה ומהזמן מתבזבזים.
מחשבים נוירומורפיים – מחשבים שעובדים כמו המוח
את אותן המשימות של בינה מלאכותית (נהיגה, משחק, זיהוי וכדומה) מבצע המוח האנושי בדרך אחרת לחלוטין וביעילות מדהימה. פעולת בינה מלאכותית, המתבצעת כיום באמצעות חיבור של אלפי מעבדים יחדיו, תדרוש מהמוח האנושי אנרגיה הנמוכה מעשירית האנרגיה של מעבד בודד. אומנם המוח מורכב למדי ואין עדיין מודל חישובי מקיף ומדויק דיו כדי לממשו במכונה, אך בכל זאת כדאי לנו ללמוד מהמוח ולבנות מודלים חישוביים ומחשבים הדומים בצורתם ובאופן פעולתם למוח. במוח, בניגוד למחשב, אין כלל הפרדה בין אחסון מידע לעיבודו. כלל המידע, המבוטא באמצעות אותות חשמליים ושינויים כימיים, מועבר בין תאי עצב (נוירונים). מעבר מידע זה נעשה בו בזמן בין מיליארדי תאי עצב המחוברים ביניהם. תאי עצב שונים מחוברים על ידי קשרים הנקראים סִינַפְּסוֹת, כאשר הקשר ביניהם יכול להתחזק או להיחלש. הלמידה, בדומה לבינה מלאכותית, היא בעיקרה שינוי של חוזק הקשר בין תאי העצב השונים. בשונה מבינה מלאכותית, חוזק הקשר ושינויו מתבצעים באותו מקום על ידי הסינפסה, ואין הפרדה בין החישוב של השינוי לבין אחסון חוזק הקשר (איור 3).
כדי להתאים את עולם המחשוב לצורכי הבינה המלאכותית, יש צורך לבנות מחשבים בעלי מבנה השואב השראה מהמוח. מחשבים שבהם אין הפרדה בין אחסון לחישוב אלא משתמשים ביחידות המסוגלות לחשב ולשמור את הערך בו בזמן. מעגלים אלקטרוניים השואבים השראה מהמוח נקראים מעגלים נוירומורפיים 1(Neuromorphic) [2]. במעגלים אלה, משתמשים באותם רכיבים אלקטרוניים כדי לבצע חישוב ולאחסן את התוצאה מקומית. למעשה, בונים מחשב שמבנהו שונה לחלוטין ממכונת פון נוימן אלא נראה כמו רשת עצבית במוח. לאחרונה פותחו כמה מכונות המיישמות את השיטה הזו [3–5], אך עדיין ישנם אתגרים רבים לפני שמחשבים אלה יוכלו להחליף את המחשבים הקיימים. המחשבים הנוירומורפיים דורשים שימוש בחומרים ובהתקנים חדשים המסוגלים לשלב בין חישוב לבין זיכרון, היות שההתקנים הרגילים במחשבים משמשים למטרה יחידה. נוסף על כך מחשבים שכאלה דורשים תוכנות חדשות המסוגלות לתת הוראות מתאימות למבנה המיוחד, ולא מתבססות על פעולות קריאה/ כתיבה. ככל שיותר מערכות מחשב ישלבו בין מחשבי פון נוימן למחשבים נוירומורפיים, יישומי הבינה המלאכותית יבוצעו בצורה יעילה יותר ויאפשרו למחשבים להמשיך להתקדם לכיוון ביצוע יכולות אנושיות.
מילון מונחים
ארכיטקטורת פון נוימן (Von Neumann architecture): ↑ מבנה המחשב כפי שמקובל כיום. לפי מודל זה, מחשב כולל מעבד ויחידת אחסון (זיכרון). המעבד מבצע את התוכנית באמצעות יחידת בקרה ויחידה אריתמטית-לוגית (יחידה המבצעת פעולות חשבוניות). הזיכרון מאחסן את התוכנית ואת המידע שהתוכנית קוראת או כותבת. כמו כן, המחשב יכול לקבל קלט ולהוציא פלט.
בינה מלאכותית (Artificial intelligence): ↑ ”היכולת לגרום למכונה להתנהג בדרך שהייתה נחשבת לאינטליגנטית לוּ אדם התנהג כך“ (מרווין מינסקי). בשנים האחרונות תת-תחום של בינה מלאכותית הנקרא ”למידה עמוקה“ התגלה כיעיל במיוחד ליישומים רבים הקשורים בבינה מלאכותית ובהם זיהוי עצמים וקבלת החלטות.
מחשב נוירומורפי (Neuromorphic computer): ↑ התחום שבו מעגלים אלקטרוניים משמשים לבניית מערכת המחקה את התנהגות המערכת העצבית בגוף האדם. כיום מקובל להשתמש במושג מחשוב נוירומורפי למעגלים מסוגים שונים (אנלוגיים, דיגיטליים וכדומה).
הצהרת ניגוד אינטרסים
המחברים מצהירים כי המחקר נערך בהעדר כל קשר מסחרי או פיננסי שיכול להתפרש כניגוד אינטרסים פוטנציאלי.
הערות שוליים
1. ↑Neuromorphic – בצורה (מורפי) של תאי עצב (נוירון).
מקורות
[1] ↑ von Neumann, J. 1993. First draft of a report on the EDVAC. IEEE Ann. Hist. Comput. 15:27–75. doi: 10.1109/85.238389
[2] ↑ Mead, C. 1990. Neuromorphic electronics systems. Proc. IEEE. 78:1629–36. doi: 10.1109/5.58356
[3] ↑ Davis, M., Srinivasa, N., Lin, T. H., Chinya, G., Cao, Y., Choday, S. H., et al. 2018. Loihi: a neuromorphic manycore processor with on-chip learning. IEEE Micro. 38:82–99. doi: 10.1109/MM.2018.112130359
[4] ↑ Soudry, D., Di Castro, D., Gal, A., Kolodny, A., and Kvatinsky, S. 2015. Memristor-based multilayer neural networks with online gradient descent training. IEEE Trans. Neural Netw. Learn. Syst. 26:2408–21. doi: 10.1109/TNNLS.2014.2383395
[5] ↑ Prezioso, M., Merrikh-Bayat, F., Hoskins, B. D., Adam, G. C., Likharev, K. K., and Strukov, D. B. 2015. Training and operation of an integrated neuromorphic network based on metal-oxide memristors. Nature. 521:61–4. doi: 10.1038/nature14441