כתבות עם התגית מחשב

הערה: המדריך קיים גם בשפה האנגלית במידה ותרצו לשתף עם גורמים אחרים.

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

מי אני?

אני ניר בן-צבי, חוקר deep learning וחובב חומרה עוד מהימים הזוהרים בהם הייתי מפרק ומרכיב מחשבים בזמן שחברים שיחקו כדורסל (גם את זה ניסיתי, חזרתי לחומרה די מהר). בשנים האחרונות יצא לי לייעץ לא מעט בנושא לחברים בכל מני ארגונים, וזה הוביל להחלטה לרכז את מעט הידע שצברתי למדריך שפה מולכם. היום אני עובד בחברת trigo שעושה הרבה דברים מעניינים בתחום הזה, וחלק מהידע שצברתי הגיע מבניית מחשבי האימון הראשונים שלפני לפני כ-3 שנים.

הערה לגבי עדכון המדריך

בחלקים מסוימים במדריך בחרתי לציין אם החלק הרלוונטי מעודכן או לא. המדריך כולו מתעדכן מפעם לפעם, אבל הגרסה המקורית שלו בת כמעט 4 שנים.
זה די מדהים כמה שדברים מסוימים לא משתנים במיוחד. למשל, בין נובמבר 2018 לאפריל 2020, NVIDIA לא עדכנה את המאיצים הגרפיים שלה – לא את אלו המיועדים ל-data centers (סדרת Tesla) ולא את אלו המיועדים למשתמשים פרטיים (סדרת GeForce). אינטל, מנגד, הספיקה לרענן את המעבדים שלה פעמיים ובדרך לשלישית. המהפכה שהיה ניתן לצפות לה עם הדור האחרון של המעבדים של AMD לא קרתה כלל.

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

עוד הערה חשובה – הנושא של ״מחשב ל-deep learning״ הרבה יותר מוכר ומובן היום בשוק העולמי והמקומי, יש הרבה יותר מידע זמין באינטרנט ובניגוד ללפני כמה שנים רכישת מחשב מורכב-מראש נהיה דבר מעט יותר משתלם.

כמה מילים לגבי מחשבים ניידים

המדריך הזה לא מיועד לבחירת מחשבים ניידים לאימון מודלים, ודעתו של הכותב היא שאין כזה דבר יותר. בעבר היה הגיון מסוים ברכישת מחשב נייד (בעיקר מחשבים המיועדים לגיימרים) עם כרטיס מסך חזק שמסוגל להתמודד עם טעינה של מודלים מורכבים יחסית. המצב היום הוא שהארכיטקטורות המודרניות כל כך ״כבדות״ מבחינת משאבי חישוב דרושים (בעיקר GPU memory) שאני לא רואה הגיון ברכישת מחשב כזה. גם מחשב הגיימינג החזק ביותר – כאלו שאי אפשר לקרוא להם ״ניידים״ בשום צורה (והם נקראים בצדק DTR – Desktop Replacement) – יכולים במקרה הטוב להריץ מודלים כאלה על minibatches קטנים ולא ייאפשרו אימון, אפילו לא fine-tune על דאטאסט קטן. אציין שוב (1) שזו דעתי ו-(2) שההיכרות שלי היא עם עולם הראייה הממוחשבת ועד כמה שאני יודע בתחומים אחרים שעושים שימוש ב-deep learning אפשר בהחלט להסתפק ב-GPU memory צנוע לצרכי לימוד.

בעידן בו גוגל מספקים T4 ו-P100 בחינם על בסיס Colab, אני לא רואה סיבה להשקיע במחשב חזק ויקר. כמובן שעדיין כדאי מאוד להשקיע במחשב חזק, עם די זיכרון (16 זה הסטנדרט) וליבות. 

ומה עם כרטיסי מסך ניידים?

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

אתחיל מלחלק את האפשרויות הקיימות בפנינו לארבע קטגוריות עיקריות:

מה במדריך?

  1. מחשב שולחני פשוט יחסית עם כרטיס גרפי בודד.
  2. מחשב הזהה למחשב מס׳ 1, הנבדל ממנו בכך שיש לו שני כרטיסים גרפיים (או הכנה לכרטיס גרפי נוסף בעתיד).
  3. מחשב לאימון ״כבד״ – כלומר, מחשב בעל ארבעה כרטיסים גרפיים ומעלה.
  4. מחשבים לאימון כבד אף יותר, כאשר 8 מאיצים גרפיים זה בד״כ המקסימום (ראו הערה בהמשך).

לכתבה המלאה >>

X