בחר את מקור הנתונים הטוב ביותר עבור עבודת ההכשרה שלך באמזון SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

בחר את מקור הנתונים הטוב ביותר עבור עבודת ההדרכה שלך ב-Amazon SageMaker

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

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

מקורות נתונים ומצבי קלט מקוריים של SageMaker

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

מנגנון קליטת האימון של SageMaker משתלב באופן טבעי עם שלושה שירותי אחסון מנוהלים של AWS:

  • שירות אחסון פשוט של אמזון (Amazon S3) הוא שירות אחסון אובייקטים המציע מדרגיות מובילה בתעשייה, זמינות נתונים, אבטחה וביצועים.
  • אמזון FSx עבור ברק הוא אחסון משותף מנוהל במלואו עם המדרגיות והביצועים של מערכת הקבצים הפופולרית Luster. זה בדרך כלל מקושר לדלי S3 קיים.
  • מערכת הקבצים של אמזון אלסטית (Amazon EFS) היא מערכת קבצים משותפת בעלת מטרה כללית, ניתנת להרחבה וזמינה ביותר, עם רמות מחיר מרובות. Amazon EFS הוא חסר שרת וגדל ומתכווץ באופן אוטומטי ככל שאתה מוסיף ומסיר קבצים.

אימון SageMaker מאפשר לסקריפט האימון שלך לגשת למערכי נתונים המאוחסנים ב- Amazon S3, FSx for Lustre או Amazon EFS, כאילו הוא זמין במערכת קבצים מקומית (באמצעות ממשק מערכת קבצים תואמת POSIX).

עם Amazon S3 כמקור נתונים, אתה יכול לבחור בין מצב קובץ, מצב FastFile ומצב Pipe:

  • מצב קובץ – SageMaker מעתיק מערך נתונים מאמזון S3 לאחסון המופעים של ML, שהוא קובץ מצורף חנות בלוקים אלסטית של אמזון נפח (Amazon EBS) או נפח NVMe SSD, לפני תחילת סקריפט האימון שלך.
  • מצב FastFile – SageMaker חושף מערך נתונים השוכן באמזון S3 כמערכת קבצים POSIX במופע האימון. קבצי ערכות נתונים מוזרמים מאמזון S3 לפי דרישה כאשר סקריפט האימון שלך קורא אותם.
  • מצב צינור – SageMaker מזרימה מערך נתונים השוכן באמזון S3 למופע האימון של ML כ-Unix, אשר זורם מאמזון S3 לפי דרישה כאשר סקריפט האימון שלך קורא את הנתונים מה-pipe.

עם FSx for Luster או Amazon EFS כמקור נתונים, SageMaker מעלה את מערכת הקבצים לפני תחילת סקריפט האימון שלך.

אימון ערוצי קלט

בעת השקת עבודת הדרכה של SageMaker, אתה יכול לציין עד 20 מנוהלים אימון ערוצי קלט. אתה יכול לחשוב על ערוצים כעל יחידת הפשטה כדי לספר לעבודת ההדרכה איך והיכן להשיג את הנתונים שזמינים לקוד האלגוריתם לקריאה מנתיב מערכת קבצים (לדוגמה, /opt/ml/input/data/input-channel-name) במופע ML. ערוצי ההכשרה הנבחרים נלכדים כחלק ממטא נתונים של עבודת ההדרכה על מנת לאפשר מעקב אחר שושלת מודל מלא עבור מקרי שימוש כגון שחזור של עבודות הכשרה או מטרות ניהול מודל.

כדי להשתמש באמזון S3 כמקור הנתונים שלך, אתה מגדיר א קלט הדרכה כדי לציין את הדברים הבאים:

  • מצב הקלט שלך (מצב File, FastFile או Pipe)
  • הפצה ו דשדוש תצורה
  • An S3DataType כאחת משלוש שיטות לציון אובייקטים באמזון S3 המרכיבים את מערך הנתונים שלך:

לחלופין, עבור FSx עבור Luster או Amazon EFS, אתה מגדיר א קלט מערכת קבצים.

התרשים הבא מציג חמש עבודות הדרכה, שכל אחת מהן מוגדרת עם מקור נתונים ושילוב מצב קלט שונה:

בחר את מקור הנתונים הטוב ביותר עבור עבודת ההכשרה שלך באמזון SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

מקורות נתונים ומצבי קלט

הסעיפים הבאים מספקים צלילה עמוקה להבדלים בין Amazon S3 (מצב קובץ, מצב FastFile ו-Pipe), FSx עבור Lustre ואמזון EFS כמנגנוני הטמעה של SageMaker.

מצב קובץ Amazon S3

מצב קובץ הוא מצב הקלט המוגדר כברירת מחדל (אם לא ציינתם אותו במפורש), והוא פשוט יותר לשימוש. כאשר אתה משתמש באפשרות קלט זו, SageMaker מוריד בשמך את מערך הנתונים מאמזון S3 לאחסון מופעי האימון של ML (Amazon EBS או NVMe מקומי בהתאם לסוג המופע) לפני השקת אימון המודל, כך שסקריפט האימון יוכל לקרוא את מערך הנתונים מ- מערכת הקבצים המקומית. במקרה זה, למופע חייב להיות מספיק שטח אחסון כדי להתאים למערך הנתונים כולו.

אתה מגדיר את מערך הנתונים עבור מצב קובץ על ידי מתן קידומת S3, קובץ מניפסט או קובץ מניפסט מוגדל.

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

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

מצב קובץ תואם ל מצב מקומי של SageMaker (התחלת מיכל אימונים של SageMaker באופן אינטראקטיבי תוך שניות). עבור הכשרה מבוזרת, אתה יכול לפזר את מערך הנתונים על פני מופעים מרובים עם ShardedByS3Key אוֹפְּצִיָה.

מהירות הורדת מצב הקובץ תלויה בגודל מערך הנתונים, גודל הקובץ הממוצע ומספר הקבצים. לדוגמה, ככל שמערך הנתונים גדול יותר (או ככל שיש לו יותר קבצים), שלב ההורדה ארוך יותר, שבמהלכו משאב המחשוב של המופע נשאר פעיל למעשה. בעת אימון עם Spot Instances, מערך הנתונים מוריד בכל פעם שהעבודה מתחדשת לאחר הפרעה Spot. בדרך כלל, הורדת הנתונים מתבצעת במהירות של כ-200 מגה-בייט/שנייה עבור קבצים גדולים (לדוגמה, 5 דקות/50 ג'יגה-בייט). האם תקורה זו להפעלה מקובלת תלויה בעיקר במשך הכולל של עבודת ההדרכה שלך, מכיוון ששלב הדרכה ארוך יותר פירושו שלב הורדה קטן יותר באופן יחסי.

מצב אמזון S3 FastFile

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

כדי להקל על כך, SageMaker מפרט את כל המטא-נתונים של האובייקט המאוחסנים תחת הקידומת S3 שצוינה לפני הפעלת סקריפט האימון שלך. מטא נתונים אלה משמשים ליצירת קריאה בלבד FUSE (מערכת קבצים במרחב המשתמש) שזמין לסקריפט האימון שלך באמצעות /opt/ml/data/training-channel-name. רישום אובייקטי S3 פועל במהירות של 5,500 אובייקטים בשניות ללא קשר לגודלם. זה הרבה יותר מהיר מאשר הורדת קבצים מראש, כפי שקורה במצב קובץ. בזמן שסקריפט האימון שלך פועל, הוא יכול לרשום או לקרוא קבצים כאילו היו זמינים באופן מקומי. כל פעולת קריאה מואצלת לשירות FUSE, אשר מעביר בקשות GET לאמזון S3 על מנת לספק את תוכן הקובץ בפועל למתקשר. כמו מערכת קבצים מקומית, FastFile מתייחס לקבצים כבתים, כך שהוא אגנוסטי לפורמטים של קבצים. מצב FastFile יכול להגיע לתפוקה של יותר מ-GB/s אחד בעת קריאת קבצים גדולים ברצף תוך שימוש במספר עובדים. אתה יכול להשתמש ב-FastFile כדי לקרוא קבצים קטנים או לאחזר טווחי בתים אקראיים, אבל אתה צריך לצפות לתפוקה נמוכה יותר עבור דפוסי גישה כאלה. אתה יכול לייעל את דפוס גישת הקריאה שלך על ידי העברת קבצים קטנים רבים לתוך מיכלי קבצים גדולים יותר, ולקרוא אותם ברצף.

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

מצב צינור אמזון S3

מצב Pipe הוא מצב סטרימינג נוסף שמוחלף ברובו במצב FastFile החדש והפשוט יותר לשימוש.

עם מצב Pipe, נתונים מובאים מראש מ-Amazon S3 בתפוקה ותפוקה גבוהים, ומוזרמים לתוך Unix בשם FIFO pipes. ניתן לקרוא כל צינור רק בתהליך בודד. הרחבה ספציפית של SageMaker ל-TensorFlow בצורה נוחה משלב את מצב Pipe במטען הנתונים המקורי של TensorFlow להזרמת טקסט, TFRecords או פורמטים של קבצים RecordIO. מצב Pipe תומך גם בפיצול מנוהלים ובערבוב נתונים.

FSx עבור Luster

FSx for Luster יכול להתרחב למאות GB/s של תפוקה ומיליוני IOPS עם אחזור קבצים עם אחזור נמוך.

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

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

אתה יכול גם טען מראש קבצים למערכת הקבצים לפני תחילת עבודת ההדרכה, מה שמקל על ההתחלה הקרה עקב העמסה עצלה. כמו כן, ניתן להפעיל מספר עבודות הדרכה במקביל, אשר מטופלות על ידי אותה מערכת קבצים FSx for Luster. כדי לגשת ל-FSx for Lustre, עבודת ההדרכה שלך חייבת להתחבר ל-VPC (ראה הגדרות VPCConfig), מה שדורש הגדרה ומעורבות של DevOps. כדי למנוע עלויות העברת נתונים, מערכת הקבצים משתמשת באזור זמינות יחיד, ואתה צריך לציין מזהה אזור זמינות זה בעת הפעלת עבודת ההדרכה. מכיוון שאתה משתמש ב-Amazon S3 כאחסון הנתונים לטווח ארוך שלך, אנו ממליצים לפרוס את ה-FSx for Luster שלך עם אחסון Scratch 2, כבחירת אחסון חסכונית לטווח קצר לתפוקה גבוהה, המספקת קו בסיס של 200 MB/s ופרץ של עד 1300 MB/s ל-TB של אחסון מסודר.

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

אמזון EFS

אנו ממליצים להשתמש ב- Amazon EFS אם נתוני האימון שלך כבר נמצאים ב- Amazon EFS עקב מקרי שימוש מלבד אימון ML. כדי להשתמש ב-Amazon EFS כמקור נתונים, הנתונים חייבים להיות כבר ב-Amazon EFS לפני ההדרכה. SageMaker מעלה את מערכת הקבצים שצוינה Amazon EFS למופע האימון, ואז מתחיל את סקריפט האימון שלך. בעת קביעת התצורה של מערכת הקבצים של Amazon EFS, עליך לבחור בין מצב ברירת המחדל לביצועים למטרות כלליות, אשר מותאם להשהייה (טוב לקבצים קטנים), לבין מצב ביצועי קלט/פלט מרבי, שיכול להתאים לרמות גבוהות יותר של תפוקה מצטברת פעולות בשנייה (עדיף לעבודות הדרכה עם עובדי I/O רבים). למידע נוסף, עיין ב שימוש במצב הביצועים הנכון.

בנוסף, אתה יכול לבחור בין שתי אפשרויות תפוקה מדודה: תפוקה מתפרצת ותפוקה מסודרת. תפוקה מתפרצת עבור מערכת קבצים של 1 TB מספקת קו בסיס של 150 מגה-בייט/שניה, תוך יכולת לפרוץ ל-300 מגה-בייט/שנייה לפרק זמן של 12 שעות ביום. אם אתה צריך תפוקה בסיסית גבוהה יותר, או מוצא את עצמך אוזל בקרדיט התפרצות יותר מדי פעמים, תוכל להגדיל את גודל מערכת הקבצים או לעבור לתפוקה מסודרת. בתפוקה מסודרת, אתה משלם עבור התפוקה הבסיסית הרצויה עד למקסימום של 3072 MB/s קריאה.

עבודת ההדרכה שלך חייבת להתחבר ל-VPC (ראה הגדרות VPCConfig) כדי לגשת לאמזון EFS.

בחירת מקור הנתונים הטוב ביותר

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

תרשים הזרימה הבא מספק כמה קווים מנחים שיעזרו לך להתחיל:
בחר את מקור הנתונים הטוב ביותר עבור עבודת ההכשרה שלך באמזון SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

מתי להשתמש באמזון EFS

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

השתמש במצב קובץ עבור מערכי נתונים קטנים

אם מערך הנתונים מאוחסן ב-Amazon S3 והנפח הכולל שלו קטן יחסית (לדוגמה, פחות מ-50-100 GB), נסה להשתמש במצב קובץ. התקורה של הורדת מערך נתונים של 50 ג'יגה-בייט עשויה להשתנות בהתאם למספר הכולל של קבצים (לדוגמה, כ-5 דקות אם הם מחולקים לרסיסים של 100 מגה-בייט). האם תקורה זו להפעלה מקובלת תלויה בעיקר במשך הכולל של עבודת ההדרכה שלך, מכיוון ששלב הדרכה ארוך יותר פירושו שלב הורדה קטן יותר באופן יחסי.

העברת קבצים קטנים רבים יחד

אם גודל מערך הנתונים שלך קטן (פחות מ-50-100 GB), אך מורכב מקבצים קטנים רבים (פחות מ-50 מגה-בייט), תקורה של הורדת מצב הקובץ גדלה, מכיוון שיש להוריד כל קובץ בנפרד מאמזון S3 ל- נפח מופעי אימון. כדי לצמצם את התקורה הזו, וכדי להאיץ את העברת הנתונים באופן כללי, שקול לבצע סדרה של קבוצות של קבצים קטנים יותר לתוך פחות מיכלי קבצים גדולים יותר (כגון 150 MB לקובץ) על ידי שימוש בפורמטים של קבצים כגון TFRecord עבור TensorFlow, WebDataset עבור PyTorch, או RecordIO עבור MXNet. פורמטים אלה מחייבים את מטעין הנתונים שלך לחזור על דוגמאות ברצף. אתה עדיין יכול לערבב את הנתונים שלך על ידי סידור מחדש אקראי של רשימת קבצי TFRecord לאחר כל תקופה, ועל ידי דגימה אקראית של נתונים ממאגר עירוב מקומי (ראה את הבא דוגמה של TensorFlow).

מתי להשתמש במצב FastFile

עבור מערכי נתונים גדולים יותר עם קבצים גדולים יותר (יותר מ-50 מגה-בייט), האפשרות הראשונה היא לנסות את מצב FastFile, שהוא פשוט יותר לשימוש מאשר FSx עבור Luster מכיוון שהוא אינו דורש יצירת מערכת קבצים, או חיבור ל-VPC. מצב FastFile אידיאלי עבור מיכלי קבצים גדולים (יותר מ-150 מגה-בייט), ועשוי להסתדר גם עם קבצים של יותר מ-50 מגה-בייט. מכיוון שמצב FastFile מספק ממשק POSIX, הוא תומך בקריאה אקראית (קריאת טווחי בתים לא רציפים). עם זאת, זה לא מקרה השימוש האידיאלי, והתפוקה שלך כנראה תהיה נמוכה יותר מאשר בקריאה ברצף. עם זאת, אם יש לך מודל ML גדול יחסית ואינטנסיבי מבחינה חישובית, ייתכן שמצב FastFile עדיין יוכל להרוות את רוחב הפס האפקטיבי של צינור האימון ולא לגרום לצוואר בקבוק קלט/פלט. תצטרך להתנסות ולראות. למרבה המזל, המעבר ממצב קובץ ל-FastFile (וחזרה) קל כמו הוספה (או הסרה) של input_mode='FastFile' פרמטר בזמן הגדרת ערוץ הקלט שלך באמצעות SageMaker Python SDK:

sagemaker.inputs.TrainingInput(S3_INPUT_FOLDER, input_mode='FastFile') 

אין צורך לשנות קוד או תצורה אחרים.

מתי להשתמש ב-FSx עבור Luster

אם מערך הנתונים שלך גדול מדי עבור מצב קובץ, או שיש לו קבצים קטנים רבים (שאינך יכול לעשות סדרה בקלות), או שיש לך דפוס גישה אקראית לקריאה, FSx for Luster היא אפשרות טובה לשקול. מערכת הקבצים שלה מתקדמת למאות GB/s של תפוקה ומיליוני IOPS, וזה אידיאלי כשיש לך הרבה קבצים קטנים. עם זאת, כפי שכבר נדון קודם לכן, שימו לב לבעיות ההתחלה הקרה עקב טעינה עצלנית, והתקורה של הגדרה ואתחול של מערכת הקבצים FSx for Luster.

שיקולי עלות

עבור רוב משרות ההדרכה של ML, במיוחד עבודות המשתמשות במעבדי GPU או שבבי ML ייעודיים, רוב העלות לאימון היא שניות הניתנות לחיוב של מופע ההדרכה של ML. GB אחסון לחודש, בקשות API ותפוקה מסודרת הם עלויות נוספות המשויכות ישירות למקורות הנתונים שבהם אתה משתמש.

GB אחסון לחודש

אחסון GB לחודש יכול להיות משמעותי עבור מערכי נתונים גדולים יותר, כגון סרטונים, נתוני חיישן LiDAR ויומני הצעות מחיר בזמן אמת של AdTech. לדוגמה, אחסון של 1 TB ב- Amazon S3 Intelligent-Tiering שכבת גישה תכופה עולה $23 לחודש. הוספת מערכת הקבצים FSx for Luster על גבי Amazon S3 גורמת לעלויות נוספות. לדוגמה, יצירת מערכת קבצים של 1.2 TB מסוג Scratch 2 מגובת SSD עם דחיסת נתונים מושבתת עולה 168 דולר נוספים לחודש ($140/TB/חודש).

עם Amazon S3 ו-Amazon EFS, אתה משלם רק עבור מה שאתה משתמש, כלומר אתה מחויב לפי גודל הנתונים בפועל. עם FSx for Lustre, אתה מחויב לפי גודל מערכת הקבצים המסופקת (1.2 TB לכל הפחות). בעת הפעלת מופעי ML עם אמצעי אחסון של EBS, Amazon EBS מחויב ללא תלות במופע ML. לרוב מדובר בעלות נמוכה בהרבה בהשוואה לעלות הפעלת המופע. לדוגמה, הפעלת מופע ml.p3.2xlarge עם נפח EBS של 100 GB למשך שעה עולה $1 עבור המופע ו-$3.825 עבור נפח EBS.

בקשות API ועלות תפוקה מסודרת

בזמן שעבודת ההכשרה שלך עוברת דרך מערך הנתונים, היא מפרטת ומביאה קבצים על ידי שליחת בקשות API של Amazon S3. לדוגמה, כל מיליון בקשות GET מתומחרות ב-$0.4 (עם מחלקת Intelligent-Tiering). אתה לא אמור לצפות לעלות העברת נתונים עבור רוחב פס באמזון S3 ומחוצה לו, מכיוון שההדרכה מתבצעת באזור זמינות יחיד.

בעת שימוש ב-FSx for Luster המקושר לדלי S3, אתה כרוך בעלויות בקשות של Amazon S3 API עבור קריאת נתונים שעדיין לא נשמרו במטמון במערכת הקבצים, מכיוון ש-FSx For Luster מעביר את הבקשה ל-Amazon S3 (ומאגר את התוצאה במטמון ). אין עלויות בקשה ישירות עבור FSx עבור Luster עצמה. כאשר אתה משתמש במערכת קבצים FSx for Luster, הימנע מעלויות עבור העברת נתונים בין אזורי זמינות על-ידי הפעלת עבודת ההדרכה שלך מחוברת לאותו אזור זמינות שבו הקבעת את מערכת הקבצים. Amazon EFS עם תפוקה מסודרת מוסיפה עלות נוספת ל-consdier מעבר. GB לחודש.

תיאור מקרה של ביצועים

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

  • מצבי קלט - FSx עבור Lustre, מצב קובץ, מצב FastFile
  • גודל מערך הנתונים - מערך נתונים קטן יותר (1 GB), מערך נתונים גדול יותר (54 GB)
  • גודל הקובץ - קבצים קטנים יותר (JPG, כ-39 KB), קבצים גדולים יותר (TFRecord, כ-110 MB)

עבור מקרה מבחן זה, בחרנו את מצבי הקלט הנפוצים ביותר, ולכן השמטנו את Amazon EFS ואת מצב Pipe.

אמות המידה של מחקר המקרה תוכננו כמשרות אימון מקצה לקצה של SageMaker TensorFlow על מופע של ml.p3.2xlarge יחיד של GPU. בחרנו ב-ResNet-50 הנודע כמודל עמוד השדרה שלנו למשימת הסיווג וב-Caltech-256 כמערך ההדרכה הקטן יותר (ששכפלנו 50 פעמים כדי ליצור את גרסת הנתונים הגדולה יותר שלו). ביצענו את האימון לתקופה אחת, המוגדרת כדוגמת האימון יחידה מלאה.

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

בחר את מקור הנתונים הטוב ביותר עבור עבודת ההכשרה שלך באמזון SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

תרחיש א (קבצים קטנים יותר, מערך נתונים קטן יותר) מגלה שלעבודת ההדרכה עם מערכת הקבצים FSx for Luster יש את הזמן הניתן לחיוב הקטן ביותר. יש לו את שלב ההורדה הקצר ביותר, ושלב האימון שלו מהיר כמו מצב קובץ, אבל מהיר יותר מ-FastFile. FSx for Luster הוא המנצח במבחן עידן יחיד זה. לאחר שאמרנו זאת, שקול עומס עבודה דומה אך עם תקופות מרובות - התקורה היחסית של מצב קובץ עקב שלב ההורדה פוחתת ככל שנוספים עוד עידנים. במקרה זה, אנו מעדיפים את מצב קובץ בגלל נוחות השימוש בו. בנוסף, אתה עשוי לגלות ששימוש במצב File ותשלום עבור 100 שניות נוספות שניתן לחיוב הן בחירה טובה יותר מאשר לשלם עבור מערכת קבצים FSx עבור Luster ולהקצות אותה.

תרחיש ג (קבצים קטנים יותר, מערך נתונים גדול יותר) מציג את FSx עבור Luster כמצב המהיר ביותר, עם זמן חיוב כולל של 5,000 שניות בלבד. יש לו גם את שלב ההורדה הקצר ביותר, מכיוון שהרכבת מערכת הקבצים FSx for Luster אינה תלויה במספר הקבצים במערכת הקבצים (1.5 מיליון קבצים במקרה זה). גם תקורה ההורדה של FastFile קטנה; הוא מביא רק מטא נתונים של הקבצים שנמצאים תחת הקידומת S3 bucket שצוינה, בעוד שתוכן הקבצים נקרא במהלך שלב ההדרכה. מצב קובץ הוא המצב האיטי ביותר, שמקדיש 10,000 שניות כדי להוריד את כל מערך הנתונים מראש לפני תחילת האימון. כאשר אנו מסתכלים על שלב האימון, FSx עבור Luster ומצב File מדגימים ביצועים מצוינים דומים. לגבי מצב FastFile, בעת הזרמת קבצים קטנים יותר ישירות מאמזון S3, התקורה לשליחת בקשת GET חדשה עבור כל קובץ הופכת להיות משמעותית ביחס לכל משך הזמן הכולל של העברת הקבצים (למרות השימוש במטען נתונים מקביל מאוד עם חיץ מראש). זה מביא לתפוקה נמוכה יותר עבור מצב FastFile, מה שיוצר צוואר בקבוק קלט/פלט עבור עבודת ההדרכה. FSx for Luster הוא המנצח הברור בתרחיש זה.

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

תרחיש ב (קבצים גדולים יותר, מערך נתונים קטן יותר) מראה זמן שלב אימון דומה עבור כל המצבים (מעיד שהאימון אינו קשור ל-I/O). בתרחיש זה, אנו מעדיפים את מצב FastFile על פני מצב File עקב שלב ההורדה קצר יותר, ומעדיפים את מצב FastFile על פני FSx עבור Luster בשל קלות השימוש של הראשון.

תרחיש ד (קבצים גדולים יותר, מערך נתונים גדול יותר) מציג זמני חיוב הכוללים דומים יחסית עבור כל שלושת המצבים. שלב ההורדה של מצב קובץ ארוך יותר מזה של FSx עבור Luster ו-FastFile. מצב קובץ מוריד את כל מערך הנתונים (54 GB) מאמזון S3 למופע האימון לפני תחילת שלב האימון. כל שלושת המצבים מבלים זמן דומה בשלב האימון, מכיוון שכל המצבים יכולים להביא נתונים מהר מספיק והם קשורים ל-GPU. אם אנו משתמשים במופעי ML עם משאבי CPU או GPU נוספים, כגון ml.p4d.24xlarge, תפוקת ה-I/O של הנתונים הנדרשת כדי להרוות את משאבי המחשוב גדלה. במקרים אלה, אנו יכולים לצפות מ-FastFile ו-FSx עבור Luster להרחיב בהצלחה את התפוקה שלהם (עם זאת, תפוקת FSx עבור Luster תלויה בגודל מערכת הקבצים המסופקת). היכולת של מצב קובץ להתאים את התפוקה שלו תלויה בתפוקה של נפח הדיסק המחובר למופע. לדוגמה, מופעים מגובי EBS של אמזון (כמו ml.p3.2xlarge, ml.p3.8xlarge ו-ml.p3.16xlarge) מוגבלים לתפוקה מקסימלית של 250MB/s, בעוד שמופעים מקומיים מגובי NVMe (כמו ml. g5.* או ml.p4d.24xlarge) יכולים להכיל תפוקה גדולה בהרבה.

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

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

הביאו את קליטת הנתונים שלכם

מקור הנתונים המקורי של SageMaker מתאים לרוב אך לא לכל תרחישי אימון ה-ML האפשריים. המצבים שבהם תצטרך לחפש אפשרויות אחרות להטמעת נתונים יכולים לכלול קריאת נתונים ישירות ממוצר אחסון של צד שלישי (בהנחה שייצוא קל ובזמן לא אפשרי לאמזון S3), או דרישה חזקה לאותה הכשרה סקריפט שיפעל ללא שינוי גם ב- SageMaker וגם ענן מחשוב אלסטי של אמזון (אמזון EC2) או שירות קוברנט של אמזון (אמזון EKS). אתה יכול לטפל במקרים אלה על ידי הטמעת מנגנון קליטת הנתונים שלך בסקריפט ההדרכה. מנגנון זה אחראי לקריאת מערכי נתונים ממקורות נתונים חיצוניים לתוך מופע ההדרכה. לדוגמה, ה TFRecordDataset של TensorFlow tf.data הספרייה יכולה לקרוא ישירות מאחסון Amazon S3.

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

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

סיכום

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


על הכותבים

בחר את מקור הנתונים הטוב ביותר עבור עבודת ההכשרה שלך באמזון SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.גילי נחום הוא ארכיטקט פתרונות מומחה בינה מלאכותית/ML בכיר שעובד כחלק מצוות למידת מכונה של אמזון EMEA. גילי נלהב מהאתגרים של הכשרת מודלים של למידה עמוקה, וכיצד למידת מכונה משנה את העולם כפי שאנו מכירים אותו. בזמנו הפנוי גילי נהנה לשחק טניס שולחן.

בחר את מקור הנתונים הטוב ביותר עבור עבודת ההכשרה שלך באמזון SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ד"ר אלכסנדר ארז'נוב הוא אדריכל פתרונות מומחה בינה מלאכותית/ML שבסיסה בפרנקפורט, גרמניה. הוא עוזר ללקוחות AWS לתכנן ולפרוס את פתרונות ה-ML שלהם ברחבי אזור EMEA. לפני שהצטרף ל-AWS, אלכסנדר חקר את מקורותיהם של יסודות כבדים ביקום שלנו והתלהב מ-ML לאחר שהשתמש בו בחישוביו המדעיים בקנה מידה גדול.

בול זמן:

עוד מ למידת מכונות AWS