בחר כלי ויזואלי להכנת נתונים.
→ממוקד למידת מכונה, משתלב עם SageMaker Studio + זרימה ← משימת עיבוד ← Pipeline ← ייצוא Notebook ← SageMaker Data Wrangler. ניקוי נתונים כללי עם מתכונים לשימוש חוזר, פרופיילינג, ללא תלות ב-SageMaker ← AWS Glue DataBrew. 50 TB+ Spark עם קוד מותאם אישית ← Amazon EMR.
למה: Data Wrangler היא האפשרות המובנית ב-SageMaker (300+ טרנספורמציות, חילוץ תאריך/שעה, ייצוא ל-Pipeline/Processing). DataBrew מבוססת מתכונים ובלתי תלויה במקור. EMR מטפל בקנה מידה וב-Spark שרירותי.
מקור↗
קטלג נתונים על פני S3, RDS, DynamoDB כדי שאנליסטים ו-SageMaker יוכלו לגלות מערכי נתונים.
→AWS Glue Crawlers מאכלסים את ה-AWS Glue Data Catalog עם סכמות + מטא-דאטה. Athena, Redshift Spectrum ו-SageMaker כולם צורכים אותו.
מקור↗
דרושה בקרת גישה ברמת עמודה ושורה על אגם הנתונים עם רישום ביקורת.
→AWS Lake Formation. מדיניות IAM ו-S3 bucket אינן מספקות פירוט ברמת עמודה על נתונים מובנים.
למה: Lake Formation מרכזת את הממשל עבור Glue Data Catalog ומשתלבת עם CloudTrail לביקורת.
מקור↗
הרץ SQL אד-הוק על נתוני S3 מבלי להקצות דבר.
→Amazon Athena. ללא שרת, תשלום לפי TB שנסרק. חלק נתונים והשתמש ב-Parquet כדי לקצץ עלויות וזמן.
מקור↗
50 TB של הנדסת תכונות עם קוד PySpark קיים, חייב להסתיים תוך 4 שעות.
→Amazon EMR עם Spark. גודל אשכול ניתן לכוונון, תמיכת Spot, מריץ את הקוד הקיים ללא שינוי.
למה: Glue ETL מריץ גם Spark אבל EMR נותן יותר שליטה על צורת האשכול; SageMaker Processing מיועד למשימות קטנות יותר של מיכל בודד.
מקור↗
הרץ סקריפט עיבוד מקדים מותאם אישית של scikit-learn / pandas לפני אימון. מחשוב ארעי, ללא עלות סרק.
→משימת SageMaker Processing עם מיכל SKLearn (או PySpark). מקצה, מריצה, מסיימת.
למה: טוב יותר מריצה על מחברת (נשאר פעיל, עולה כסף) או Lambda (מגבלת 15 דקות, מגבלות זיכרון).
מקור↗
תייג 100,000 תמונות ביעילות-עלות — רוצה תיוג אנושי + אוטומטי.
→Amazon SageMaker Ground Truth עם תיוג נתונים אוטומטי מופעל. לאחר תת-קבוצה ראשונית שתויגה על ידי אדם, Ground Truth מאמנת מודל ומבצעת תיוג אוטומטי לדוגמאות בעלות ביטחון גבוה.
למה: למידה אקטיבית בדרך כלל מקצצת את עלות התיוג עד 70%. A2I מיועד לבדיקה אנושית של תחזיות מודל, לא לתיוג בכמויות גדולות.
מקור↗
מספר מבצעי תיוג אינם מסכימים; דרוש בודק בכיר כדי לוודא מדגם של תוויות.
→זרימת עבודה של אימות תוויות (ביקורת) של Ground Truth. תת-קבוצה של תוויות מנותבת לכוח עבודה של בודקים שמאשר, דוחה או מתאים. שלב עם איחוד הערות להצבעת רוב של מספר עובדים.
מקור↗
אותן תכונות מהונדסות נחוצות באימון (אצווה) וב-inference (פחות מ-10 אלפיות השנייה).
→Amazon SageMaker Feature Store עם חנויות מקוונות + לא מקוונות מופעלות בקבוצת התכונות. החנות המקוונת תומכת ב-GetRecord בזמן אמת; החנות הלא מקוונת (Parquet ב-S3) תומכת באימון.
למה: מבטל הטיה בין אימון/הגשה ללא סנכרון DynamoDB ↔ S3 מותאם אישית.
מקור↗
הגדרת קבוצת תכונות — מה חובה.
→שם מזהה רשומה (מפתח ייחודי לכל רשומה) ושם תכונת זמן אירוע (חותמת זמן לשאילתות נקודתיות).
מקור↗
חבר שתי קבוצות תכונות לאימון מבלי לדלוף ערכי תכונות עתידיים.
→חיבור נקודתי בזמן מול החנות הלא מקוונת באמצעות עמודת זמן האירוע. כל שורת אימון רואה רק ערכי תכונות שהיו קיימים בחותמת הזמן של האירוע שלה.
למה: JOIN רגיל על הערכים האחרונים גורם לדליפת נתונים על ידי חשיפת סחף תכונות לאחר אירוע למודל.
מקור↗
בחר מצב קלט נתוני אימון של SageMaker עבור מערך נתונים של 500 GB.
→מצב קובץ ← כל מערך הנתונים יורד ראשית (התחלה איטית, עלות EBS). מצב Pipe ← זורם מ-S3, אתחול נמוך, אחסון נמוך. מצב FastFile ← סטרימינג עצל ברמת קובץ. השתמש ב-Pipe (או FastFile) עבור מערכי נתונים גדולים כדי להימנע מהורדה.
מקור↗
מיליוני קבצים קטנים (כל אחד ~50 KB) — תפוקת מצב Pipe ירודה.
→ארוז ל-Amazon RecordIO (protobuf) וזרם דרך מצב Pipe. רשומות רצופות מבטלות את התקורה של S3 GET לכל קובץ.
מקור↗
בחר פורמט אחסון ופריסה עבור אגם נתונים של למידת מכונה ב-S3 עם קריאות תת-קבוצת עמודות תכופות + מסנני מחיצות.
→Parquet (עמודתי, דחוס) מחולק למחיצות לפי העמודה המסוננת ביותר (לדוגמה תאריך או אזור). מניע גיזום עמודות + גיזום מחיצות ב-Athena וב-SageMaker.
מקור↗
Glue ETL מעבד מחדש קבצים שכבר טופלו בכל הרצה.
→הפעל סימניות עבודה של Glue. השתמש באפשרות PAUSE כך שריצה שנכשלה לא תקדם את הסימניה; אפס רק בעת הצורך.
מקור↗
אמת סכמה, סוגים, טווחי ערכים ואילוצי null בתוך צינור ה-Glue ETL.
→AWS Glue Data Quality עם כללי DQDL. עוצר את הצינור כאשר הבדיקות נכשלות.
מקור↗
קודד תכונות קטגוריאליות. חלקן מסודרות (בסיסי/סטנדרטי/פרימיום), חלקן לא (מדינות בארה"ב).
→מסודר ← קידוד אורדינלי (שומר על דרגה). לא מסודר ← קידוד one-hot (מונע סדר מדומיין). הימנע מקידוד תוויות על תכונות לא מסודרות. קידוד יעד דורש CV זהיר כדי למנוע דליפה.
לעמודה מספרית יש ערכים חסרים המקבילים לתכונה אחרת (לדוגמה, הכנסה חסרה תלויה בסוג העסקה).
→השלמה מבוססת קבוצות באמצעות חציון (חציון לכל סוג העסקה). שומר על היחס; ממוצע רגיש לחריגים; השמטה מאבדת נתונים; אפס מוסיף הטיה.
סיווג בינארי עם 0.3% מחלקה חיובית.
→דגימת יתר של SMOTE על קיפול האימון בלבד (לאחר הפיצול). שלב עם הערכת PR-curve / F1, לא דיוק.
למה: החל דגימת יתר אחרי הפיצול כדי למנוע דליפה. דיוק מטעה על נתונים לא מאוזנים.
תכונה נומרית מוטה ימינה (לדוגמה הכנסה) פוגעת בביצועי המודל הליניארי.
→טרנספורמציה לוגריתמית. מכווצת את הזנב הימני ומייצרת התפלגות סימטרית יותר. סטנדרטיזציה/min-max משנים קנה מידה, לא צורה.
50 תכונות מתואמות מאוד; רוצה ממדיות נמוכה יותר השומרת על שונות.
→PCA. הופך תכונות מתואמות לרכיבים ראשיים לא מתואמים המדורגים לפי שונות.
בחר פיצול אימון/אימות/בדיקה.
→סיווג לא מאוזן ← פיצול שכבות (שומר על יחס מחלקה). סדרות זמן ← פיצול כרונולוגי (אימון על תקופה מוקדמת, בדיקה על האחרונה); לעולם לא ערבוב אקראי. טבלאי IID ← אקראי.