לדלג לתוכן

למה בינה מלאכותית צריכה GPU - הקשר שרוב האנשים לא מבינים

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

מה בעצם קורה כשמודל "חושב"

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

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

למה CPU פשוט לא מספיק

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

הרגע שבו העולם התהפך

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

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

Tensor Cores - הצעד הבא בהתמחות

ככל שהתחום גדל, NVIDIA לא הסתפקה בליבות CUDA הכלליות. הם הוסיפו לשבבים שלהם יחידות ייעודיות שנקראות Tensor Cores, שמתמחות אך ורק בכפל מטריצות ומבצעות אותו הרבה יותר מהר מליבות CUDA רגילות. זו דוגמה מצוינת לאיך שביקוש מעולם ה-AI עיצב מחדש את החומרה עצמה - הכרטיסים של היום כבר לא רק "טובים" לבינה מלאכותית, הם מתוכננים סביבה במפורש.

אז זה תמיד יהיה ככה

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

זה בדיוק מה שאנחנו בונים בקורס תכנות GPU - הבנה אמיתית של למה הדברים עובדים ככה, מהחומרה ועד לספריות שמריצות את מודלי הבינה המלאכותית של היום.

לסיכום

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

בואו תבינו את הקשר הזה לעומק, עם קהילה שכבר חוקרת אותו.

הצטרפו לקהילה בדיסקורד