מדריך להרכבת מחשב ייעודי ל-Deep Learning

מאת אורי אליאבייב, 7 באוגוסט 2017

מדריך זה נכתב על ידי ניר בן-צבי – חוקר בתחום הראייה הממוחשבת בחברת אמזון.

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

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

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

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

איזה מאיץ גרפי אני רוצה?

כפי שאתם בוודאי יכולים לדמיין, לב ליבה של המערכת הוא המאיץ הגרפי הטמון בה. לפני כמה חודשים חברת NVIDIA שדרגה את הכרטיס הגרפי Titan X וחשפה את ה-Titan Xp, ולצד זאת השיקה כרטיס גרפי נוסף בשם GTX 1080Ti. בהשוואה בין ה-Titan X ל-1080Ti, האחרון יוצא עם ידו על העליונה – וכל זאת ב-500$ פחות. עם זאת, ה-Titan Xp בעל יתרון מכובד לעומת הדגם הקודם, ה-Titan X, והוא מציג שיפור של בערך בין 10%-20% בביצועים. אם מהירות היא הגורם המכריע עבורכם וכסף איננו מכשול, אני ממליץ לכם לבחור ב-Titan Xp. לסיכום, אני סבור כי אלו שיבחרו לרכוש מחשב עם מאיץ גרפי אחד או שניים, יעדיפו בסופו של יום את ה-1080Ti, בעוד מי שבונה מערכת עם ארבעה מאיצים גרפים, אולי יעדיף לבחור ב-Titan Xp.

מוזמנים להציץ בטבלת ההשוואה בין שני הכרטיסים הנ"ל:

CardCUDA coresGPU clock MHzMemory clock MHzApplication clock MHzFB Memory MiB
TITAN X Pascal358419115005141712186
GTX 1080Ti358419115508N/A11172
TITAN Xp384019115705143012186

כמה מעבדים אני צריך ואילו?


קצת על מעבדים ו-PCI-E Lanes

אחרי שחתמנו את נושא המאיצים הגרפים הגיע הזמן לעבור לאלמנט הבא: המעבד. כרטיס גרפי דורש 16 מסילות PCI-Express, מה שמחייב את המעבד לתמוך בכך, דבר שהיינו די סטנדרטי כיום. האתגר מתחיל כשנרצה לחבר שני מאיצים גרפיים, שיצריכו מאיתנו 32 מסילות – פיצ'ר שאיננו נפוץ במעבדים סטנדרטיים (32 מסילות קיימות במעבדי שרתים, Xeon ובמעבדים היקרים ביותר בסדרת Core).

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

מעבדי Core

Intel introduced the new Intel® Core™ X-series processor family on May 30, 2017. Intel’s most scalable, accessible and powerful desktop platform ever, it includes the new Intel® Core™ i9 processor brand and the Intel® Core™ i9 Extreme Edition processor – the first consumer desktop CPU with 18 cores and 36 threads of power. The company also introduced the Intel® X299, which adds even more I/O and overclocking capabilities. (Credit: Intel Corporation)

בדור הקודם של מעבדי אינטל (סדרה 6), הציגה החברה מעבדים מסדרת i7 מדגם 6900K ו-6850K, אשר הגיעו עם 6 או 8 ליבות ו-15ֿMB\20MB של זיכרון מטמון, בהתאמה. שני מעבדים אלו הגיעו עם 40 מסילות באופן מובנה והם והציגו יחס עלות-תועלת מצוין.

לצערנו, בדור הנוכחי אין מעבד המקביל אליהם ביכולתו או ביחס העלות-תועלת. המעבדים הקרובים ביותר למעבדי הדור הקודם עליהם אני יכול להמליץ הם מעבד ה-7800X וה-7820X המגיעים עם 28 מסילות. המעבד היחיד שמתקרב ביכולתו למעבדי העבר הוא מעבד ה-Core i9 7900X (כן, Core i9, זה קיים עכשיו) אשר מגיע עם 44 מסילות. המעבד אמנם עולה כמעט כפול מהשניים האחרים, אבל אם אתם מעוניינים במערכת שתתמוך בשני כרטיסים אין לכם ברירה אחרת. חשוב להדגיש כי המעבדים מסדרת X של אינטל משתמשים בסוג סוקט חדש מסוג FCLGA2066 – מה שיוצר בעייתיות של ממש בחלק מהמקרים.

בשורה התחתונה, ההמלצה שלי היא להישאר עם מעבדי הדור הקודם (סדרה 6) של אינטל בשלב הזה (סדרת K משתמשת בסוקט מסוג LGA2011-3, בדומה למעבדי Xeon, ובנוסף ישנו היצע גדול יותר של לוחות אם שתומכים בה). אם בשלב כלשהו בקריאת מדריך זה, כבר לא יהיה ניתן להשיג את המעבדים הנ"ל (שלאט לאט מפסיקים להימכר) שווה לבדוק את המחיר של מערכת מבוססת מעבד Xeon – ישנה סבירות כי היא תהייה זולה יותר באופן משמעותי.

מעבדי Xeon

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

חשוב לדעת כי שימוש במעבד מסוג Xeon מקפיץ את המחיר של כל המערכת מכמה סיבות:

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

המלצה פופולרית מאוד היא המעבד מדגם E5-2630 v4 בעל 10 ליבות, 25MB של זיכרון-מטמון המגיע בעלות של 600$. ניתן גם להסתפק במעבדים זולים יותר, למשל בדגם הזול בסדרה 5, E5-1620V4. למעבד זה 4 ליבות וזיכרון-מטמון של 10MB. לחלופין אפשר לעלות ל-6 ליבות, במחיר כמעט כפול, ולקבל את ה-E5-1650V4. כפי שהסברתי החלק היקר במעבר ל-Xeon אינו [רק] המעבד.

לסדרה הזולה יותר יש גם דירוג TDP גבוה יותר – הספק של 105W אל מול הספק של 85W. זה הבדל די גדול למערכת שהולכת לעבוד מאוד קשה.

הערה לגבי זיכרון

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

עוד על חומרה

לוח אם

91OZNKTjR1L._SL1500_

אין דרישות יוצאות דופן מלוחות אם בקטגוריה הזו והם כולם מאוד דומים. בחרו ביצרן טוב ותקראו כמה ביקורות אודות הלוח אם. אני מניח שהקורא הממוצע מבין מספיק בחומרה כדי לדעת (למשל) לבחור לוח אם לסוקט המתאים וכו׳. במערכת של ארבעה מאיצים גרפים הנושא נהיה מורכב יחסית אבל בשאר האופציות שבמדריך, ככל הנראה שהבחירה תהיינה בסוף בלוח אם לגיימרים – סדרת X99 של MSI  או הסדרה המקבילה של ASUS למשל. שימו לב שיש לוחות אם עם 2 מסילות שמתאימות לכרטיס מסך (פיזית), אבל רק אחת מהן היא ״באמת״ PCI-E x16 והשנייה היא ״רק״ x4. תמנעו מלרכוש לוח שכזה, אתם תרעיבו את הכרטיסים הגרפיים שלכם.

הערה לגבי ערכת-שבבים (chipset)

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

זיכרון

נוצר לו מן כלל אצבע לפיו כל כרטיס גרפי ״מקבל״ עוד 32GB של RAM ייעודי עבורו ואנחנו אכן ניצמד לכלל הזה. עבור מערכת עם מאיץ גרפי בודד, שאולי נרצה להרחיב בעתיד, כדאי לרכוש זיכרון RAM של 32GB באופן כזה המאפשר להוסיף 32GB נוספים יחד עם המאיץ הגרפי שנקנה בעתיד. לוחות שכאלה בדרך כלל מגיעים עם 8 מסילות זיכרון (הפעם מדובר במסילה פיזית, זאת שה״מקל״ זיכרון נכנס אליה בלוח-אם), מה שאמור להיות פשוט מאוד: נתחיל עם 2×16 ואולי נוסיף עוד 2 כאלה בהמשך.

כמו בחלק של הלוח-אם, אני יוצא מנקודת הנחה שהקורא פה יודע לבחור את הזיכרון הנכון מבחינת מהירות. כפי שציינו בפסקה על המעבדים, מעבדי Xeon דורשים זיכרון ECC יקר יותר ולכן יש לקחת זאת בחשבון. במידה והקורא יעדיף לעבוד עם מעבדי Core, לוחות אם מבוססי ערכת השבבים x99 הם אמינים, זולים וניתן למצוא דגמים המכילים 8 מסילות זיכרון במחיר טוב.

ספק כוח

ספק הכוח צריך להיות מסוגל לסחוב את כל העסק המרגש הזה. אם אתם הולכים על אופציה מספר 2 (הכנה לכרטיס גרפי נוסף בעתיד), אני ממליץ כבר עכשיו לקנות ספק כוח שיוכל לסחוב שני כרטיסים גרפיים. לכרטיס גרפי בודד כדאי להתחיל בספק איכותי בהספק של 750W, ולמערכת עם שני כרטיסי גרפיים הייתי בוחר בספק עם הספק של 1000W. מערכות של ארבעה כרטיסים גרפיים בדרך כלל כבר מגיעות עם שני ספקי כוח או ספק בודד בהספק של 1500W+.

יצרנים טובים של ספקי כח הם Antec, CoolerMaster, Corsair, SeaSonic, EVGA וכו׳.

קירור\מארז

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

הערה: ספק כח שמגיע עם מארז בדר״כ לא שווה יותר מדי, אלא אם מדובר בדילים של מארז+ספק של חברות רציניות, כמו למשל Antec.

כוננים קשיחים

בנושא זה אין דגשים מיוחדים ובגדול זה עניין של תקציב. האופציה ה״זולה״ היא כונן SSD של 500GB יחד עם 4TB ״רגילים״. אם אין הגבלת תקציב כמובן שאפשר שכל הכוננים יהיו SSD ואפשר גם לערב תצורות RAID שונות.