במאמר הזה אנחנו מספקים הנחיות לתכנון, שיעזרו לכם לבחור ולשלבGoogle Cloud שירותי אחסון לעומסי העבודה של AI ו-ML. לכל שלב במחזור החיים של ה-ML יש דרישות אחסון שונות. לדוגמה, כשמעלים את מערך הנתונים לאימון, יכול להיות שחשוב לכם יותר קיבולת אחסון לאימון וקצב העברת נתונים גבוה למערכי נתונים גדולים. באופן דומה, יש דרישות שונות לשלבי האימון, ההתאמה, ההצגה והארכיון.
המסמך הזה יעזור לכם להעריך את הדרישות שלכם לגבי קיבולת, זמן אחזור וקצב העברת נתונים, כדי שתוכלו לקבל החלטות מושכלות לגבי פתרון האחסון המתאים. במסמך הזה אנחנו מניחים שבחרתם פלטפורמת מחשוב שעומדת בדרישות של עומס העבודה. לגבי עומסי עבודה של AI ו-ML, מומלץ להשתמש ב-Compute Engine או ב-Google Kubernetes Engine (GKE). מידע נוסף על בחירת פלטפורמת מחשוב זמין במאמר אירוח אפליקציות ב- Google Cloud.
בכרטיסיות הבאות מופיע סיכום קצר של אפשרויות האחסון המומלצות לכל שלב בתהליך העבודה של ML. מידע נוסף זמין במאמר בנושא בחירת אחסון מתאים.
הכנה
בשלב ההכנה של תהליך העבודה של ה-ML, מבצעים את הפעולות הבאות:
- העלאה והוספה של נתונים.
- לפני שמבצעים אימון של המודל, צריך להמיר את הנתונים לפורמט הנכון.
כדי לבצע אופטימיזציה של עלויות האחסון באמצעות שימוש בכמה סוגי אחסון, מומלץ להשתמש בתכונה סיווג אוטומטי של Cloud Storage או בניהול מחזור החיים של אובייקטים.
רכבת
בשלב האימון של תהליך העבודה של ה-ML, מבצעים את הפעולות הבאות:
- פיתוח מודלים: פיתוח המודל באמצעות מחברות ויישום של ניסוי וטעייה איטרטיביים.
- אימון המודל:
- שימוש במספרים קטנים עד גדולים של מאיצי למידת מכונה כדי לקרוא שוב ושוב את מערך הנתונים לאימון.
- מיישמים תהליך איטרטיבי לפיתוח ולאימון של המודל.
- הגדרת נקודות ביקורת והפעלה מחדש:
- כדי שאפשר יהיה להפעיל מחדש את האימון אחרי כשל בצומת, כדאי לשמור את המצב מדי פעם במהלך אימון המודל על ידי יצירת נקודת ביקורת.
- בוחרים את האפשרות של יצירת נקודות ביקורת על סמך דפוס הקלט/פלט וכמות הנתונים שצריך לשמור בנקודת הביקורת.
לצורך אימון, מומלץ להשתמש ב-Managed Lustre עבור רוב עומסי העבודה. כשבוחרים אפשרות אחסון, צריך להתחשב במאפיינים של עומס העבודה:
- כדאי להשתמש ב-Managed Lustre אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- נתוני אימון שמורכבים מקבצים קטנים בגודל של פחות מ-50MB כדי לנצל את היכולות של זמן אחזור קצר.
- דרישה לזמן אחזור של פחות ממילי שנייה אחת כדי לעמוד בדרישות האחסון של קלט/פלט אקראי וגישה למטא-נתונים.
- דרישה לבצע לעיתים קרובות שמירת נקודות ביקורת עם ביצועים גבוהים.
- חוויה שדומה לשימוש במחשב, עם תמיכה מלאה ב-POSIX, כדי לצפות בנתונים של המשתמשים ולנהל אותם.
- כדאי להשתמש ב-Cloud Storage עם Cloud Storage FUSE ו-Anywhere Cache אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- נתוני אימון שכוללים קבצים גדולים של 50MB ומעלה.
- סובלנות לזמן אחזור גבוה יותר באחסון, בסדר גודל של עשרות אלפיות שנייה.
- עדיפות לעמידות הנתונים ולזמינות גבוהה על פני ביצועי האחסון.
כדי לבצע אופטימיזציה של העלויות, מומלץ להשתמש באותו שירות אחסון בכל השלבים של אימון המודל.
הצגה
בשלב ההצגה של תהליך העבודה של ה-ML, מבצעים את הפעולות הבאות:
- מאחסנים את המודל.
- טוענים את המודל למופע שמריץ מאיצי למידת מכונה בהפעלה.
- אחסון תוצאות של הסקת מסקנות ממודל, כמו תמונות שנוצרו.
- אפשרות לאחסון ולטעינה של מערך הנתונים שמשמש להסקת מסקנות מהמודל.
לצורך הצגה, מומלץ להשתמש ב-Cloud Storage עם Cloud Storage FUSE וב-Anywhere Cache ברוב עומסי העבודה. כשבוחרים אפשרות אחסון, צריך להתחשב במאפיינים של עומס העבודה:
- Cloud Storage עם Cloud Storage FUSE ו-Anywhere Cache אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- דרישה לסביבה דינמית שבה מספר צמתי ההסקה יכול להשתנות.
- עדכונים לא תכופים במודל.
- דרישה להצגת מודלים מכמה אזורים ומכמה אזורים בתוך יבשת.
- עדיפות לזמינות גבוהה ולעמידות של המודלים, גם במקרה של שיבושים אזוריים.
- Managed Lustre אם לעומס העבודה שלכם יש את המאפיינים הבאים:
- עומס העבודה של האימון והשמירה של נקודות ביקורת משתמש ב-Managed Lustre.
- דרישה להצגת מודלים מתחום אחד.
- דרישה לתפוקה גבוהה ואמינה ולזמן אחזור נמוך ועקבי של קלט/פלט, עבור מודלים שרגישים לביצועים.
- עדכונים תכופים במודל.
העברה לארכיון
בשלב הארכיון של עומסי עבודה של ML, שומרים את נתוני האימון ואת המודל לתקופות ארוכות.
כדי לבצע אופטימיזציה של עלויות האחסון באמצעות כמה סוגי אחסון (storage class), מומלץ להשתמש בסיווג אוטומטי או בניהול מחזור חיים של אובייקטים ב-Cloud Storage.
סקירה כללית של תהליך העיצוב
כדי לקבוע את אפשרויות האחסון המתאימות לעומס העבודה של ה-AI וה-ML ב-Google Cloud, מבצעים את הפעולות הבאות:
- חשוב להביא בחשבון את המאפיינים של עומס העבודה, את ציפיות הביצועים ואת יעדי העלות.
- בודקים את שירותי האחסון והתכונות המומלצים ב- Google Cloud.
- בהתאם לדרישות ולאפשרויות הזמינות, בוחרים את שירותי האחסון והתכונות שדרושים לכל שלב בתהליך העבודה של ה-ML: הכנה, אימון, הצגה באפליקציה וארכיון.
המסמך הזה מתמקד בשלבים של תהליך העבודה של ML שבהם חשוב במיוחד לשקול את אפשרויות האחסון, אבל הוא לא מכסה את כל מחזור החיים, התהליכים והיכולות של ML.
בהמשך מופיעה סקירה כללית של תהליך התכנון בשלושה שלבים לבחירת אחסון לעומס העבודה של AI ו-ML:
- מגדירים את הדרישות:
- מאפיינים של עומס העבודה
- מגבלות אבטחה
- דרישות בנוגע לחוסן
- ציפיות לביצועים
- יעדי עלות
- בודקים את אפשרויות האחסון:
- Managed Lustre
- Cloud Storage
- בחירת אחסון מתאים: בוחרים שירותי אחסון, תכונות ואפשרויות עיצוב בהתאם למאפייני עומס העבודה בכל שלב בתהליך העבודה של למידת המכונה.
הגדרת הדרישות
לפני שבוחרים אפשרויות אחסון לעומס העבודה של AI ו-ML ב-Google Cloud, צריך להגדיר את דרישות האחסון של עומס העבודה. כדי להגדיר את דרישות האחסון, צריך לקחת בחשבון גורמים כמו פלטפורמת מחשוב, קיבולת, קצב העברת נתונים ודרישות השהיה.
כדי לעזור לכם לבחור אפשרות אחסון לעומסי העבודה של AI ו-ML, כדאי להתחשב במאפיינים של עומס העבודה:
- האם הגדלים של בקשות הקלט/פלט ושל הקבצים קטנים (KB), בינוניים או גדולים (MB או GB)?
- האם עומס העבודה שלכם מציג בעיקר דפוסי גישה רציפים או אקראיים לקבצים?
- האם עומסי העבודה של ה-AI וה-ML רגישים לזמן האחזור של הקלט/פלט ולזמן עד לבית הראשון (TTFB)?
- האם נדרשת לך מהירות העברה גבוהה של נתונים לקריאה ולכתיבה עבור לקוחות בודדים, לקוחות מצטברים או שניהם?
- מה המספר הגדול ביותר של יחידות לעיבוד גרפי (GPU) או של יחידות לעיבוד טנסור (TPU) שנדרשות לעומס העבודה הגדול ביותר של אימון AI ו-ML?
בהמשך המסמך הזה, תוכלו להשתמש בתשובות לשאלות האלה כדי לבחור את האחסון המתאים.
אפשרויות האחסון
Google Cloud מציע שירותי אחסון לכל הפורמטים של האחסון הראשי: בלוק, קובץ, מערכת קבצים מקבילית ואובייקט. בטבלה הבאה מפורטות אפשרויות שתוכלו לשקול לעומס העבודה של AI ו-ML ב-Google Cloud. הטבלה כוללת את אפשרויות האחסון שמנוהלות על ידי Google, שהמסמך הזה מתמקד בהן עבור עומסי העבודה של AI ו-ML. עם זאת, אם יש לכם דרישות ספציפיות שלא מקבלות מענה בהצעות האלה, כדאי לשקול פתרונות אחסון בניהול שותפים שזמינים ב-Google Cloud Marketplace.
בודקים ומעריכים את התכונות, אפשרויות העיצוב והיתרונות היחסיים של השירותים שזמינים לכל פורמט אחסון.
| שירות אחסון | סוג אחסון | תכונות |
|---|---|---|
| Managed Lustre | מערכת קבצים מקבילית |
|
| Cloud Storage | אובייקט |
|
Managed Lustre
Managed Lustre היא מערכת קבצים מנוהלת במלואה ב- Google Cloud. Managed Lustre מספק מכונות וירטואליות אזוריות קבועות שמבוססות על מערכת הקבצים DDN EXAScaler Lustre. Managed Lustre הוא פתרון אידיאלי לעומסי עבודה של AI ו-ML שצריכים לספק גישה עם זמן אחזור נמוך של פחות ממילי שנייה, עם תפוקה גבוהה ופעולות קלט/פלט גבוהות לשנייה (IOPS). Managed Lustre יכול לשמור על תפוקה גבוהה ו-IOPS גבוה למספר מכונות וירטואליות או לאלפי מכונות וירטואליות.
היתרונות של Managed Lustre:
- תאימות ל-POSIX: תמיכה בתקן POSIX, שעוזר להבטיח תאימות להרבה אפליקציות וכלים קיימים.
- עלות בעלות כוללת (TCO) נמוכה יותר לאימון: קיצור זמן האימון על ידי העברת נתונים לצמתי מחשוב בצורה יעילה. ההאצה הזו עוזרת להפחית את העלות הכוללת של אימון מודלים של AI ו-ML.
- עלות כוללת נמוכה יותר להצגת מודלים: טעינה מהירה יותר של מודלים והצגת מסקנות אופטימלית בהשוואה ל-Cloud Storage. היכולות האלה עוזרות להפחית את עלויות המחשוב ולשפר את ניצול המשאבים.
- ניצול יעיל של משאבים: שילוב של שמירת נקודות ביקורת ואימון במופע יחיד. השימוש במשאבים האלה עוזר למקסם את היעילות של קצב העברת הנתונים לקריאה ולכתיבה במערכת אחסון יחידה עם ביצועים גבוהים.
Cloud Storage
Cloud Storage הוא שירות מנוהל לחלוטין לאחסון אובייקטים, שמתאים לעומסי עבודה של AI ו-ML בכל קנה מידה. Cloud Storage מצטיין בטיפול בנתונים לא מובנים בכל השלבים של תהליך העבודה של AI ולמידת מכונה.
Cloud Storage מספק את היתרונות הבאים:
- יכולת הרחבה עצומה: נפח אחסון בלתי מוגבל שניתן להרחבה עד לאקסה-בייט ברמה גלובלית.
- תפוקה גבוהה: אפשר להגדיל את הקיבולת עד ל-1 TB/s באמצעות תכנון נכון.
- אפשרויות גמישות למיקום: אפשר לבחור מבין אפשרויות אחסון אזוריות, רב-אזוריות ודו-אזוריות לעומסי עבודה של AI ו-ML.
- חסכוניות: אתם יכולים ליהנות ממגוון סוגי אחסון שנועדו לבצע אופטימיזציה של העלויות על סמך דפוסי הגישה לנתונים.
Cloud Storage מצטיין במדרגיות ובעלות-תועלת, אבל חשוב לקחת בחשבון את זמן האחזור ואת מאפייני הקלט/פלט שלו. זמן האחזור צפוי להיות עשרות אלפיות שנייה, שהוא גבוה יותר מאפשרויות אחסון אחרות. כדי למקסם את התפוקה, צריך להשתמש במאות או באלפי תהליכים, בקבצים גדולים ובבקשות גדולות של קלט/פלט. Cloud Storage מספק ספריות לקוח בשפות תכנות שונות, וגם את Cloud Storage FUSE ואת Anywhere Cache.
Cloud Storage FUSE הוא מתאם FUSE בקוד פתוח שנתמך על ידי Google. Cloud Storage FUSE מאפשר לטעון קטגוריות של Cloud Storage ככוננים מקומיים. Cloud Storage FUSE לא תואם באופן מלא ל-POSIX. לכן חשוב להבין את המגבלות של Cloud Storage FUSE ואת ההבדלים בינו לבין מערכות קבצים מסורתיות. עם Cloud Storage FUSE, אתם יכולים לגשת לנתוני האימון, למודלים ולנקודות הבדיקה שלכם עם יכולת ההתאמה, המחיר הנוח והביצועים של Cloud Storage.
היתרונות של שמירה במטמון ב-Cloud Storage FUSE:
- ניידות: אפשר לטעון קטגוריות של Cloud Storage ולגשת אליהן באמצעות סמנטיקה סטנדרטית של מערכת קבצים, וכך להפוך את האפליקציות לניידות יותר.
- תאימות: אין צורך לשנות את הארכיטקטורה של האפליקציות כדי להשתמש בממשקי API ספציפיים לענן, וכך חוסכים זמן ומשאבים.
- צמצום זמן ההמתנה: אפשר להפעיל משימות אימון במהירות באמצעות גישה ישירה לנתונים ב-Cloud Storage, וכך לצמצם את זמן ההמתנה של מעבדי ה-GPU וה-TPU.
- תפוקה גבוהה: נהנים מהיכולת המובנית של Cloud Storage להתאמת עומסים ומהביצועים שלו, שעברו אופטימיזציה לעומסי עבודה של למידת מכונה עם הרבה פעולות קריאה באמצעות יחידות GPU או TPU.
- מטמון מקומי של הלקוח מטמון קבצים: האצת האימון באמצעות מטמון מקומי של הלקוח שמזרז קריאות חוזרות של קבצים. אפשר לשפר עוד יותר את ההאצה הזו כשמשתמשים בה עם SSD מקומי בנפח 6TiB שמצורף לסוגי מכונות A3.
Anywhere Cache היא תכונה של Cloud Storage שמספקת עד 1PiB של מטמון קריאה אזורי שמגובה על ידי SSD לקטגוריות של Cloud Storage. Anywhere Cache נועד להאיץ אפליקציות עתירות נתונים על ידי מתן שכבה מקומית לגישה מהירה לנתונים שנקראים לעיתים קרובות באזור מסוים.
היתרונות של Anywhere Cache:
- תפוקה מואצת: הגדלה אוטומטית של קיבולת המטמון ורוחב הפס כדי לספק תפוקה גבוהה, מעבר למכסות רוחב הפס האזוריות, עם השהיות עקביות וצפויות.
- הפחתת עלויות: אפשר להימנע מעמלות על העברת נתונים יוצאת (egress) או מעמלות על אחזור נתונים מסוג אחסון (storage class) עבור נתונים שנשמרו במטמון. התכונה Anywhere Cache קובעת באופן אוטומטי את גודל המטמון ואת רוחב הפס הזמין בהתאם לצרכים של עומס העבודה.
פתרונות אחסון לשותפים
אם דרישות העומס לא מתאימות לשירותי האחסון שצוינו למעלה, אפשר להשתמש בפתרונות השותפים הבאים, שזמינים ב-Cloud Marketplace:
פתרונות השותפים האלה לא מנוהלים על ידי Google. אתם צריכים לנהל את משימות הפריסה והתפעול כדי להבטיח שילוב וביצועים אופטימליים בתשתית שלכם.
ניתוח השוואתי
בטבלה הבאה מפורטות היכולות העיקריות של Managed Lustre ו-Cloud Storage.
| Managed Lustre | Cloud Storage | |
|---|---|---|
| קיבולת | 18 TiB עד 8 PiB | אין גבול תחתון או עליון. |
| התאמה להיקף | ניתן להתאמה | ההיקף גדל אוטומטית בהתאם לשימוש. |
| שיתוף | אפשר לטעון אותו בכמה מכונות וירטואליות של Compute Engine ובאשכולות GKE. |
|
| אפשרות למפתח הצפנה | Google-owned and Google-managed encryption keys |
|
| התמדה | משך החיים של מכונת Managed Lustre. | כל משך החיים של הקטגוריה |
| זמינות | אזורי |
|
| ביצועים | שינוי קנה מידה ליניארי עם קיבולת שהוקצתה ומספר אפשרויות של רמות ביצועים | התאמה אוטומטית של קצב הקריאה והכתיבה, וחלוקה מחדש דינמית של העומס |
| ניהול | מנוהל באופן מלא, תואם ל-POSIX | מנוהל באופן מלא |
כלים להעברת נתונים
בקטע הזה מפורטות האפשרויות להעברת נתונים בין שירותי אחסון ב-Google Cloud. כשמבצעים משימות של AI ו-ML, יכול להיות שיהיה צורך להעביר את הנתונים ממיקום אחד למיקום אחר. לדוגמה, אם הנתונים שלכם נמצאים ב-Cloud Storage, אתם יכולים להעביר אותם למקום אחר כדי לאמן את המודל, ואז להעתיק את תמונות המצב של נקודות הבדיקה או את המודל המאומן בחזרה ל-Cloud Storage.
אפשר להשתמש בשיטות הבאות כדי להעביר נתונים אל Google Cloud:
- העברת נתונים אונליין באמצעות Storage Transfer Service: אפשר להשתמש בשירות כדי להעביר באופן אוטומטי כמויות גדולות של נתונים בין מערכות לאחסון אובייקטים וקבצים, כולל Cloud Storage, Amazon S3, שירותי אחסון של Azure ומקורות נתונים מקומיים. Storage Transfer Service מאפשר לכם להעתיק את הנתונים בצורה מאובטחת ממיקום המקור למיקום יעד גיאוגרפי, ולבצע העברות תקופתיות של נתונים שהשתנו. היא גם מספקת אימות של שלמות הנתונים, ניסיונות חוזרים אוטומטיים ואיזון עומסים.
- העלאת נתונים ל-Cloud Storage: העלאת נתונים אונליין לקטגוריות של Cloud Storage באמצעות מסוף Google Cloud , gcloud CLI, ממשקי Cloud Storage API או ספריות לקוח.
כשבוחרים שיטה להעברת נתונים, חשוב לקחת בחשבון גורמים כמו גודל הנתונים, מגבלות זמן, זמינות רוחב הפס, יעדי עלות ודרישות אבטחה ותאימות. מידע על תכנון והטמעה של העברות נתונים אל Google Cloudזמין במאמר מעבר אל Google Cloud: העברת מערכי נתונים גדולים.
בחירת אחסון מתאים
עומסי עבודה של AI ו-ML כוללים בדרך כלל ארבעה שלבים עיקריים: הכנה, אימון, הצגה באפליקציה וארכיון. לכל אחד מהשלבים האלה יש דרישות אחסון ייחודיות, ובחירה של הפתרון הנכון יכולה להשפיע באופן משמעותי על הביצועים, העלות והיעילות התפעולית. גישה היברידית או אופטימיזציה מקומית מאפשרת לכם להתאים את אפשרויות האחסון לדרישות הספציפיות של כל שלב בעומס העבודה של ה-AI וה-ML. עם זאת, אם העדיפויות שלכם הן ניהול מאוחד וקלות הפעלה, גישה פשוטה גלובלית שמשתמשת בפתרון עקבי בכל השלבים יכולה להיות מועילה לעומסי עבודה בכל קנה מידה. היעילות של בחירת האחסון תלויה במאפייני מערך הנתונים, בהיקף של משאבי החישוב והאחסון הנדרשים, בחביון ובדרישות העומס שהגדרתם קודם לכן.
בקטעים הבאים מפורטים השלבים העיקריים של עומסי עבודה של AI ו-ML, והגורמים שעשויים להשפיע על בחירת האחסון.
הכנה
שלב ההכנה מניח את הבסיס לאפליקציית ה-AI וה-ML שלכם. התהליך כולל העלאה של נתונים גולמיים ממקורות שונים לסביבת הענן שלכם והמרה של הנתונים לפורמט שניתן לשימוש לאימון מודל ה-AI וה-ML. התהליך הזה כולל משימות כמו ניקוי, עיבוד והמרה של סוגי נתונים כדי לוודא שהם תואמים למסגרת הבינה המלאכותית והלמידה מחישובים שבחרתם.
Cloud Storage מתאים מאוד לשלב ההכנה בגלל המדרגיות, העמידות והחסכוניות שלו, במיוחד כשמדובר במערכי נתונים גדולים שמאפיינים את תחום ה-AI. Cloud Storage מציע שילוב חלק עם שירותים אחרים שלGoogle Cloud , כך שתוכלו ליהנות מיתרונות של אופטימיזציות פוטנציאליות לאימון שדורש כמות גדולה של נתונים.
במהלך שלב הכנת הנתונים, אתם יכולים לארגן מחדש את הנתונים שלכם לחלקים גדולים כדי לשפר את יעילות הגישה ולמנוע בקשות קריאה אקראיות. כדי להפחית עוד יותר את דרישות הביצועים של קלט/פלט במערכת האחסון, אפשר להגדיל את מספר השרשורים של קלט/פלט באמצעות צינורות, אופטימיזציה של אימון או שניהם.
רכבת
שלב האימון הוא הליבה של פיתוח המודל, שבו מודל ה-AI וה-ML לומד מהנתונים שסופקו. השלב הזה כולל שני היבטים מרכזיים עם דרישות שונות: טעינת נתונים יעילה לגישה לנתוני האימון, ויצירת נקודות עצירה אמינות לשמירת התקדמות המודל. בקטעים הבאים מפורטות המלצות וגורמים שכדאי לקחת בחשבון כדי לבחור אפשרויות אחסון מתאימות לטעינת נתונים ולשמירת נקודות ביקורת.
טעינת נתונים
במהלך טעינת הנתונים, יחידות GPU או TPU מייבאות שוב ושוב קבוצות של נתונים כדי לאמן את המודל. בשלב הזה, אפשר להשתמש במטמון כדי לבצע אופטימיזציה של משימות טעינת נתונים, בהתאם לגודל של אצוות הנתונים ולסדר שבו אתם שולחים את הבקשות. המטרה שלכם במהלך טעינת הנתונים היא לאמן את המודל ביעילות מקסימלית, אבל בעלות הנמוכה ביותר.
אם גודל נתוני האימון מגיע לפטה-בייט, יכול להיות שיהיה צורך לקרוא את הנתונים כמה פעמים. כדי להגיע להיקף כזה, נדרש עיבוד אינטנסיבי באמצעות מאיץ GPU או TPU. עם זאת, צריך לוודא שהמעבדים הגרפיים וה-TPU לא נמצאים במצב המתנה, ושהם מעבדים את הנתונים באופן פעיל. אחרת, תשלמו על מאיץ יקר שמופעל במצב סרק בזמן שאתם מעתיקים את הנתונים ממיקום אחד למיקום אחר.
כדי לשפר את הביצועים ולהוזיל את העלויות של טעינת הנתונים, כדאי לקחת בחשבון את הגורמים הבאים:
- גודל מערך הנתונים: הגודל של קורפוס נתוני האימון הכולל, והגודל של כל מערך נתונים לאימון.
- דפוסי גישה: איזו מהאפשרויות הבאות מתאימה ביותר לסיווג דפוס הגישה לקלט/פלט של עומס העבודה של האימון:
- גישה מקבילה וסדרתית: קובץ מוקצה לצומת יחיד ונקרא באופן סדרתי.
- גישה מקבילה ואקראית: קובץ מוקצה לצומת יחיד ונקרא באופן אקראי כדי ליצור קבוצה של דוגמאות.
- גישה אקראית מלאה: צומת יכול לקרוא כל טווח מכל קובץ כדי ליצור אצווה.
- גודל הקובץ: הגדלים האופייניים של בקשות קריאה.
Managed Lustre לטעינת נתונים
באופן כללי, מומלץ להשתמש ב-Managed Lustre לאימון ולנקודות ביקורת. בנוסף, כדאי להשתמש ב-Managed Lustre אם אחד מהתנאים הבאים מתקיים:
- נתוני האימון מורכבים מקבצים קטנים שגודלם פחות מ-50MB, כדי לנצל את היכולות של השהיה נמוכה.
- יש לכם דרישה לזמן אחזור של פחות ממילי שנייה כדי לעמוד בדרישות האחסון של קלט/פלט אקראי וגישה למטא-נתונים.
- אתם צריכים חוויה שדומה לשימוש במחשב עם תמיכה מלאה ב-POSIX כדי להציג ולנהל את הנתונים של המשתמשים.
אתם יכולים להשתמש ב-Managed Lustre כמטמון עם ביצועים גבוהים מעל Cloud Storage כדי להאיץ עומסי עבודה של AI ו-ML שדורשים תפוקה גבוהה במיוחד ופעולות קלט/פלט עם השהיה נמוכה, עם מערכת קבצים מקבילית מנוהלת באופן מלא. כדי לצמצם את זמן האחזור במהלך האימון, אפשר לייבא ולייצא נתונים אל Managed Lustre וממנו וגם אל Cloud Storage וממנו. אם אתם משתמשים ב-GKE כפלטפורמת מחשוב, אתם יכולים להשתמש
אפשר להשתמש במנהל התקן ה-CSI של Managed Lustre ב-GKE כדי לאכלס מראש את PersistentVolumesClaims בנתונים מ-Cloud Storage. אחרי שהאימון מסתיים, אפשר לייצא את הנתונים לסוג אחסון ב-Cloud Storage בעלות נמוכה יותר כדי לצמצם את הוצאות האחסון לטווח ארוך.
Cloud Storage לטעינת נתונים
אם אחד מהתנאים הבאים מתקיים, מומלץ לבחור ב-Cloud Storage עם Cloud Storage FUSE ו-Anywhere Cache כדי לטעון את הנתונים:
- נתוני האימון שלכם מורכבים מקבצים גדולים בגודל של 50 MB ומעלה.
- אתם יכולים לסבול חביון גבוה יותר באחסון, בסדר גודל של עשרות אלפיות השנייה.
- אתם מעדיפים עמידות נתונים וזמינות גבוהה על פני ביצועי אחסון.
Cloud Storage מציע פתרון ניתן להרחבה לאחסון מערכי נתונים גדולים, ו-Cloud Storage FUSE מאפשר לכם לגשת לנתונים בתור מערכת קבצים מקומית. Cloud Storage FUSE מאיץ את הגישה לנתונים במהלך האימון על ידי שמירת נתוני האימון קרוב למאיצי המכונה, וכך מגדיל את קצב העברת הנתונים.
עבור עומסי עבודה שדורשים תפוקה של יותר מ-1 TB/s, Anywhere Cache מאיץ את מהירויות הקריאה על ידי שמירת נתונים במטמון והרחבה מעבר למכסות רוחב הפס האזורי. Anywhere Cache מספק זמן אחזור נמוך למציאות במטמון (cache hit), ולכן אין צורך לקרוא נתונים מהקטגוריה של Cloud Storage. כדי לבדוק אם Anywhere Cache מתאים לעומס העבודה שלכם, אתם יכולים להשתמש בשירות המלצות של Anywhere Cache כדי לנתח את השימוש בנתונים ובאחסון.
כדי לשפר את הגישה לנתונים ואת הארגון שלהם, מומלץ ליצור קטגוריות של Cloud Storage עם מרחבי שמות היררכיים. מרחבי שמות היררכיים מאפשרים לארגן נתונים במבנה של מערכת קבצים, וכך לשפר את הביצועים, להבטיח עקביות ולפשט את הניהול של עומסי עבודה של AI ו-ML. מרחבי שמות היררכיים מאפשרים שאילתות לשנייה (QPS) גבוהות יותר בהתחלה ושינוי מהיר של שמות ספריות אטומיות
נקודות ביקורת ושחזור
כדי לשמור את מצב האימון ולשחזר אותו, צריך שמשימות האימון ישמרו את המצב שלהן מעת לעת, כדי שיוכלו להתאושש במהירות מכשלים במופע. במקרה של כשל, המשימות צריכות להתחיל מחדש, לקלוט את נקודת הבדיקה האחרונה ואז להמשיך את האימון. המנגנון המדויק שמשמש ליצירה ולהטמעה של נקודות ביקורת הוא בדרך כלל ספציפי למסגרת. מידע על נקודות ביקורת וטכניקות אופטימיזציה ל-TensorFlow Core זמין במאמר Training checkpoints. מידע על נקודות ביקורת וטכניקות אופטימיזציה ל-PyTorch זמין במאמר בנושא שמירה וטעינה של מודלים.
בכל שלב, צריך לשמור רק כמה נקודות ציון. עומסי עבודה של נקודות ביקורת כוללים בדרך כלל בעיקר פעולות כתיבה, כמה פעולות מחיקה, ובאופן אידיאלי, פעולות קריאה לא תכופות כשמתרחשות שגיאות.
כדי לבצע אופטימיזציה של יצירת נקודות ביקורת ולשפר את הביצועים של השחזור, כדאי לקחת בחשבון את הגורמים הבאים:
- גודל המודל: מספר הפרמטרים במודל ה-AI וה-ML. גודל המודל משפיע ישירות על גודל קובצי נקודות הבדיקה שלו, שיכול לנוע בין GiB ל-TiB.
- תדירות נקודות הביקורת: באיזו תדירות המודל שומר נקודות ביקורת. שמירה בתדירות גבוהה משפרת את עמידות המערכת בפני תקלות, אבל מגדילה את עלויות האחסון ויכולה להשפיע על מהירות האימון.
- זמן שחזור נקודת ביקורת: זמן השחזור שרוצים להגדיר לטעינת נקודות ביקורת ולהמשך האימון. אם אתם צריכים לשחזר נקודת ביקורת, חשוב לזכור שאימון המודל מושהה עד להשלמת השחזור. כדי לצמצם את זמן השחזור, כדאי להביא בחשבון גורמים כמו גודל נקודת הבדיקה, ביצועי האחסון ורוחב הפס ברשת.
- זמן סרק של המאיץ: הזמן שבו המאיצים לא מעבדים נתונים כי הם ממתינים להשלמת פעולת כתיבה או שחזור של נקודת ביקורת. כדי לצמצם את זמן ההמתנה הזה, כדאי לבחור פתרון אחסון שמציע תפוקה גבוהה וזמן אחזור נמוך.
Managed Lustre לנקודות ביקורת
כדאי לבחור באפשרות Managed Lustre ליצירת נקודות ביקורת אם אחד מהתנאים הבאים מתקיים:
- עומס העבודה של האימון כבר משתמש ב-Managed Lustre לטעינת נתונים.
- אתם מבצעים לעיתים קרובות שמירת נקודות ביקורת עם ביצועים גבוהים.
כדי למקסם את ניצול המשאבים ולמזער את זמן ההמתנה של המאיץ, כדאי להשתמש ב-Managed Lustre לאימון ולשמירת נקודות ביקורת. Managed Lustre יכולה להשיג כתיבות מהירות של נקודות ביקורת, וכך להשיג תפוקה גבוהה לכל VM. אפשר לשמור את נקודות הבדיקה במופע Managed Lustre מתמשך, או לבצע אופטימיזציה של העלויות על ידי ייצוא תקופתי של נקודות הבדיקה אל Cloud Storage. אפשר להשתמש ב-Managed Lustre לצד Cloud Storage FUSE במהלך האימון. אתם יכולים להשתמש ב-Cloud Storage FUSE לטעינת נתונים ולאימון, וב-Managed Lustre לשיפור הביצועים במהלך יצירת נקודות ביקורת.
Cloud Storage לנקודות ביקורת
כדאי לבחור ב-Cloud Storage לנקודות ביקורת אם מתקיים אחד מהתנאים הבאים:
- עומס העבודה של האימון משתמש ב-Cloud Storage FUSE.
- אתם מעדיפים עמידות נתונים וזמינות גבוהה על פני ביצועי אחסון.
כדי לשפר את הביצועים של יצירת נקודות ביקורת, כדאי להשתמש ב-Cloud Storage FUSE עם מרחבי שמות היררכיים מופעלים כדי לנצל את הפעולה המהירה של שינוי שם אטומי ולשמור נקודות ביקורת באופן אסינכרוני. כדי למנוע חשיפה מקרית של מידע רגיש ממערך הנתונים לאימון במהלך ההצגה, צריך לאחסן את נקודות הבדיקה בקטגוריה נפרדת ב-Cloud Storage. כדי לצמצם את זמן האחזור של פעולות כתיבה בסוף העלאות שנתקעו, Cloud Storage FUSE מנסה לבצע העלאה חוזרת אחרי 10 שניות.
הצגה
כשמפעילים את המודל, תהליך שנקרא גם הסקת מסקנות, דפוס הקלט/פלט הראשי הוא לקריאה בלבד, כדי לטעון את המודל לזיכרון של ה-GPU או ה-TPU. המטרה שלכם בשלב ההגשה היא להפעיל את המודל בסביבת ייצור. המודל קטן בהרבה מנתוני האימון, מה שאומר שאפשר לשכפל את המודל ולהרחיב אותו בכמה מקרים. כשמציגים נתונים, חשוב להבטיח זמינות גבוהה והגנה מפני כשלים אזוריים ואזוריים. לכן, עליכם לוודא שהמודל שלכם זמין למגוון תרחישי כשל.
במקרים רבים של שימוש ב-AI גנרטיבי וב-ML, נתוני הקלט של המודל עשויים להיות קטנים מאוד, ולא תמיד יש צורך לשמור את הנתונים באופן קבוע. במקרים אחרים, יכול להיות שתצטרכו להריץ נפחים גדולים של נתונים על המודל (לדוגמה, מערכי נתונים מדעיים). כדי להריץ כמויות גדולות של נתונים, כדאי לבחור באפשרות אחסון שיכולה למזער את זמן ההמתנה של GPU או TPU במהלך הניתוח של מערך הנתונים, ולהשתמש במיקום קבוע לאחסון תוצאות ההסקה.
זמני הטעינה של המודל משפיעים ישירות על זמן ההמתנה של המאיץ, שגורר עלויות משמעותיות. עלייה בזמן הטעינה של המודל לכל צומת יכולה להיות משמעותית כשמדובר בהרבה צמתים, מה שעלול להוביל לעלייה משמעותית בעלויות. לכן, כדי להשיג יעילות בעלויות של תשתית להצגת מודלים, חשוב לבצע אופטימיזציה לטעינה מהירה של מודלים.
כדי לשפר את הביצועים של הצגת המודעות ולצמצם את העלויות, כדאי לקחת בחשבון את הגורמים הבאים:
- גודל המודל: הגודל של המודל ב-GiB או ב-TiB. מודלים גדולים יותר דורשים יותר משאבי מחשוב וזיכרון, מה שיכול להגדיל את זמן האחזור.
- תדירות טעינת המודל: באיזו תדירות אתם מתכננים לעדכן את המודל. טעינה ופריקה תכופות צורכות משאבי מחשוב ומגדילות את זמן האחזור.
- מספר הצמתים להצגת מודל: כמה צמתים ישמשו להצגת המודל. בדרך כלל, ככל שיש יותר צמתים, זמן האחזור קצר יותר והתפוקה גבוהה יותר, אבל גם עלויות התשתית עולות.
Cloud Storage להצגת תוכן
מומלץ לבחור ב-Cloud Storage עם Cloud Storage FUSE ו-Anywhere Cache כדי להפעיל את המודל אם מתקיים אחד מהתנאים הבאים:
- אתם צריכים סביבה דינמית שבה מספר צמתי ההסקה יכול להשתנות.
- אתם מבצעים עדכונים לא תכופים במודל.
- אתם מפעילים מודלים מכמה אזורים ומכמה תחומים בתוך יבשת.
- אתם נותנים עדיפות לזמינות גבוהה ולעמידות של המודלים, גם במקרה של שיבושים אזוריים.
עם ארכיטקטורה של מספר אזורים או של שני אזורים, Cloud Storage מספק זמינות גבוהה ומגן על עומס העבודה מפני כשלים אזוריים ואזוריים. כדי להאיץ את טעינת המודל, אפשר להשתמש ב-Cloud Storage FUSE עם הורדות מקבילות מופעלות, כך שחלקים מהמודל יאוחזרו במקביל.
כדי להשיג פרסום המודל עם תפוקה של יותר מ-1TB/s, או לפריסות של יותר ממאה צמתים להגשה, צריך להשתמש ב-Anywhere Cache עם קטגוריה במספר אזורים. השילוב הזה מספק אחסון בעל ביצועים גבוהים, יתירות באזורים שונים וגמישות. בנוסף, Anywhere Cache מבטל את תעבורת הנתונים היוצאת (egress) ואת עמלות האחזור של סוג האחסון (storage class) על נתונים שנשמרו במטמון.
Managed Lustre להצגת מודעות
כדאי לבחור ב-Managed Lustre להצגת המודל אם אחד מהתנאים הבאים מתקיים:
- עומס העבודה של האימון וה-checkpointing משתמש ב-Managed Lustre.
- הפעלתם מודלים מתחום אחד.
- יש לכם דרישה לרוחב פס גבוה ואמין ולזמן טעינה נמוך ועקבי של קלט/פלט, עבור מודלים שרגישים לביצועים.
- אתם מבצעים עדכונים בתדירות גבוהה במודל.
אם אתם כבר משתמשים ב-Managed Lustre לאימון ולשמירת נקודות ביקורת, זו יכולה להיות אפשרות משתלמת עם ביצועים גבוהים להצגת המודלים שלכם. Managed Lustre מציע תפוקה גבוהה לכל מכונה וירטואלית ותפוקה כוללת של אשכול, מה שעוזר לקצר את זמן טעינת המודל. אתם יכולים להשתמש ב-Managed Lustre בכל מספר של מכונות וירטואליות להצגת מודעות.
העברה לארכיון
בשלב הארכיון יש דפוס קלט/פלט של 'כתיבה פעם אחת, קריאה לעיתים רחוקות'. המטרה שלכם היא לאחסן את קבוצות הנתונים השונות של האימון ואת הגרסאות השונות של המודלים שיצרתם. אפשר להשתמש בגרסאות המצטברות של הנתונים והמודלים לצורך גיבוי והתאוששות מאסון. בנוסף, צריך לאחסן את הפריטים האלה במקום בטוח לאורך זמן. יכול להיות שלא תצטרכו לגשת לנתונים ולמודלים לעיתים קרובות, אבל אתם רוצים שהפריטים יהיו זמינים כשאתם צריכים אותם.
בגלל העמידות הגבוהה, המדרגיות הרחבה והעלות הנמוכה שלו, האפשרות הכי טובה לאחסון נתוני אובייקטים לאורך זמן היאGoogle Cloud Cloud Storage. בהתאם לתדירות שבה אתם ניגשים למערך הנתונים, למודל ולקובצי הגיבוי, Cloud Storage מציע לכם אפשרויות שונות לסוגי אחסון שיעזרו לכם לצמצם את העלויות. אתם יכולים לבחור סוג אחסון בהתאם לתדירות שבה אתם צפויים לגשת לנתונים בארכיון:
- גישה תכופה לנתונים: Standard storage
- גישה לנתונים מדי חודש: Nearline Storage
- גישה לנתונים אחת לרבעון: Coldline Storage
- גישה שנתית לנתונים: Archive Storage
באמצעות ניהול מחזור חיים של אובייקטים, אתם יכולים ליצור מדיניות להעברה אוטומטית של נתונים לסוגי אחסון (storage class) לטווח ארוך יותר, או למחיקה של נתונים על סמך קריטריונים ספציפיים. אם אתם לא בטוחים באיזו תדירות תהיה לכם גישה לנתונים, אתם יכולים להשתמש בתכונה Autoclass כדי להעביר נתונים בין סוגי אחסון באופן אוטומטי על סמך דפוסי הגישה שלכם.
המאמרים הבאים
מידע נוסף על אפשרויות אחסון ועומסי עבודה של AI ו-ML זמין במקורות המידע הבאים:
- כך מבצעים אופטימיזציה של עומסי עבודה של AI ו-ML באמצעות Managed Lustre.
- מידע נוסף על אופטימיזציה של עומסי עבודה של AI ו-ML באמצעות Cloud Storage FUSE
- מידע נוסף על ההיבטים של AI ו-ML ב- Google Cloud Well-Architected Framework.
- לדוגמאות נוספות של ארכיטקטורות, תרשימים ושיטות מומלצות, עיינו במאמר Cloud Architecture Center.
שותפים ביצירת התוכן
מחבר: סמנתה הי | כותבת טכנית
תורמי תוכן אחרים:
- דייוויד סטיבר | מנהל קבוצת מוצרים
- דין הילדברנד | מנהל טכני, משרד ה-CTO
- קומאר דהנגופאל | מפתח פתרונות חוצי-מוצרים
- שון דרינגטון | מנהל קבוצת מוצרים, אחסון