אמזון SageMaker הוא שירות למידת מכונה (ML) מנוהל במלואו. עם SageMaker, מדעני נתונים ומפתחים יכולים במהירות ובקלות לבנות ולאמן מודלים של ML, ולאחר מכן לפרוס אותם ישירות לתוך סביבה מתארחת מוכנה לייצור. Sagemaker מספקת מופע מחברת כתיבה משולב של Jupyter לגישה קלה למקורות הנתונים שלך לחקירה וניתוח, כך שלא תצטרך לנהל שרתים. הוא גם מספק אלגוריתמי ML נפוצים המותאמים לפעול ביעילות מול נתונים גדולים במיוחד בסביבה מבוזרת.
SageMaker דורש שנתוני האימון עבור מודל ML יהיו נוכחים בכל אחד מהשניים Amazon Simple Storage Service (Amazon S3), Amazon Elastic File System (Amazon EFS) או Amazon FSx for Luster (למידע נוסף, עיין ב-Access Training Data). על מנת לאמן מודל באמצעות נתונים המאוחסנים מחוץ לשלושת שירותי האחסון הנתמכים, ראשית יש להכניס את הנתונים לאחד מהשירותים הללו (בדרך כלל Amazon S3). זה דורש בניית צינור נתונים (באמצעות כלים כגון רנגלר הנתונים של אמזון SageMaker) כדי להעביר נתונים לתוך Amazon S3. עם זאת, גישה זו עשויה ליצור אתגר ניהול נתונים במונחים של ניהול מחזור החיים של אמצעי אחסון נתונים זה, יצירת בקרות גישה, ביקורת נתונים וכן הלאה, והכל לצורך ביצוע נתוני הדרכה למשך עבודת ההדרכה. במצבים כאלה, ייתכן שרצוי שהנתונים יהיו נגישים ל-SageMaker במדיית האחסון החולפת המצורפת למופעי האימון החולפים ללא אחסון ביניים של נתונים באמזון S3.
פוסט זה מראה דרך לעשות זאת באמצעות פְּתִית שֶׁלֶג כמקור הנתונים ועל ידי הורדת הנתונים ישירות מ- Snowflake לתוך מופע עבודה של SageMaker Training.
סקירת פתרונות
אנו משתמשים מערך נתונים על דיור בקליפורניה בתור מערך הדרכה לפוסט זה והכשיר מודל ML לניבוי ערך הבית החציוני עבור כל מחוז. אנו מוסיפים נתונים אלה ל- Snowflake כטבלה חדשה. אנו יוצרים מיכל הדרכה מותאם אישית שמוריד נתונים ישירות מטבלת Snowflake למופע האימון במקום להוריד תחילה את הנתונים לדלי S3. לאחר הורדת הנתונים למופע האימון, סקריפט האימון המותאם אישית מבצע משימות הכנת נתונים ולאחר מכן מאמן את מודל ה-ML באמצעות XGBoost Estimator. כל הקוד לפוסט זה זמין ב- GitHub ריפו.
האיור הבא מייצג את הארכיטקטורה ברמה הגבוהה של הפתרון המוצע לשימוש ב- Snowflake כמקור נתונים לאימון מודלים של ML עם SageMaker.
שלבי זרימת העבודה הם כדלקמן:
- הגדר מחברת SageMaker ו- AWS זהות וניהול גישה תפקיד (IAM) עם הרשאות מתאימות כדי לאפשר ל-SageMaker גישה מרשם מיכל אלסטי של אמזון (Amazon ECR), מנהל סודות ושירותים אחרים בחשבון AWS שלך.
- אחסן את האישורים של חשבון Snowflake שלך במנהל סודות AWS.
- הכנס את הנתונים בטבלה בחשבון Snowflake שלך.
- צור תמונת מיכל מותאמת אישית לאימון מודל ML ודחף אותה לאמזון ECR.
- השקת עבודת SageMaker Training להכשרת מודל ה-ML. מופע האימון מאחזר את אישורי Snowflake מ- Secrets Manager ולאחר מכן משתמש באישורים אלה כדי להוריד את מערך הנתונים מ- Snowflake ישירות. זהו השלב שמבטל את הצורך בהורדה ראשונה של נתונים לתוך דלי S3.
- דגם ה-ML המיומן מאוחסן בדלי S3.
תנאים מוקדמים
כדי ליישם את הפתרון המופיע בפוסט זה, אתה צריך להיות חשבון AWS, חשבון פתיתי שלג והיכרות עם SageMaker.
הגדר תפקיד SageMaker Notebook ותפקיד IAM
אנו משתמשים ב-AWS CloudFormation כדי ליצור מחברת SageMaker בשם aws-aiml-blogpost-sagemaker-snowflake-example
ותפקיד IAM שנקרא SageMakerSnowFlakeExample
. בחר השקת ערימה עבור האזור שאליו ברצונך לפרוס משאבים.
אחסן אישורי Snowflake ב- Secrets Manager
אחסן את האישורים שלך ל- Snowflake כסוד ב- Secrets Manager. להנחיות כיצד ליצור סוד, עיין ב Create an AWS Secrets Manager secret
.
- תן שם לסוד
snowflake_credentials
. זה נדרש כי הקוד בsnowflake-load-dataset.ipynb
מצפה שהסוד ייקרא כך. - צור את הסוד כזוג מפתח-ערך עם שני מפתחות:
- שם משתמש - שם המשתמש של Snowflake שלך.
- סיסמא - הסיסמה המשויכת לשם המשתמש של Snowflake שלך.
הכנס את הנתונים בטבלה בחשבון Snowflake שלך
כדי להטמיע את הנתונים, בצע את השלבים הבאים:
- במסוף SageMaker בחר מחברה בחלונית הניווט.
- בחר את המחברת aws-aiml-blogpost-sagemaker-snowflake-example ובחר פתח את JupyterLab.
- בחרו
snowflake-load-dataset.ipynb
כדי לפתוח אותו ב-JupyterLab. מחברת זו תבלע את מערך נתונים על דיור בקליפורניה לשולחן פתיתי שלג. - במחברת, ערוך את התוכן של התא הבא כדי להחליף את ערכי מציין המיקום בזה שתואם לחשבון פתית השלג שלך:
- בתפריט הפעלה, בחר הפעל את כל התאים כדי להפעיל את הקוד במחברת זו. פעולה זו תוריד את מערך הנתונים באופן מקומי למחברת ולאחר מכן תטמע אותו בטבלת Snowflake.
קטע הקוד הבא במחברת מכניס את מערך הנתונים לתוך Snowflake. ראה את snowflake-load-dataset.ipynb
מחברת לקוד המלא.
- סגור את המחברת לאחר שכל התאים פועלים ללא כל שגיאה. הנתונים שלך זמינים כעת ב- Snowflake. צילום המסך הבא מציג את
california_housing
שולחן שנוצר ב- Snowflake.
הפעל את sagemaker-snowflake-example.ipynb
מחברה
מחברת זו יוצרת מיכל אימונים מותאם אישית עם חיבור Snowflake, מחלצת נתונים מ-Snowflake לתוך האחסון הארעי של מופע האימון מבלי לשלב אותו ב-Amazon S3, ומבצעת אימון מודל XGBoost Distributed Data Parallel (DDP) על הנתונים. הדרכת DDP אינה נדרשת לאימון מודלים על מערך נתונים כה קטן; הוא כלול כאן להמחשה של עוד תכונה נוספת של SageMaker שפורסמה לאחרונה.
צור מיכל מותאם אישית להדרכה
כעת אנו יוצרים מיכל מותאם אישית עבור עבודת ההדרכה של מודל ML. שים לב שנדרשת גישת שורש ליצירת קונטיינר Docker. מחברת SageMaker זו נפרסה עם גישת שורש מופעלת. אם מדיניות הארגון הארגוני שלך לא מאפשרת גישת שורש למשאבי ענן, ייתכן שתרצה להשתמש בקובץ Docker ובסקריפטים הבאים של Docker כדי לבנות קונטיינר Docker במקום אחר (לדוגמה, המחשב הנייד שלך) ולאחר מכן לדחוף אותו לאמזון ECR. אנו משתמשים במיכל המבוסס על תמונת המיכל של SageMaker XGBoost 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.5-1
עם התוספות הבאות:
- השמיים מחבר Snowflake עבור Python כדי להוריד את הנתונים מטבלת Snowflake למופע האימון.
- סקריפט של Python לחיבור ל- Secrets Manager כדי לאחזר אישורים של Snowflake.
שימוש במחבר Snowflake ובסקריפט של Python מבטיח שמשתמשים שמשתמשים בתמונת מיכל זו עבור אימון מודל ML לא יצטרכו לכתוב קוד זה כחלק מסקריפט ההדרכה שלהם ויכולים להשתמש בפונקציונליות הזו שכבר זמינה עבורם.
להלן ה-Dockerfile עבור מיכל ההדרכה:
תמונת המכולה נבנית ונדחפת לאמזון ECR. תמונה זו משמשת לאימון מודל ה-ML.
אימון מודל ה-ML באמצעות עבודת SageMaker Training
לאחר שניצור בהצלחה את תמונת המיכל ודחוף אותה לאמזון ECR, נוכל להתחיל להשתמש בה להכשרת מודלים.
- אנו יוצרים קבוצה של סקריפטים של Python כדי להוריד את הנתונים מ- Snowflake באמצעות מחבר Snowflake עבור Python, הכן את הנתונים ולאחר מכן השתמש ב-
XGBoost Regressor
להכשיר את מודל ה-ML. זהו השלב של הורדת הנתונים ישירות למופע האימון שמונע את הצורך להשתמש באמזון S3 כאחסון הביניים לנתוני האימון. - אנו מאפשרים אימון מקביל של נתונים מבוזרים על ידי כך שקוד האימון מוריד תת-קבוצה אקראית של הנתונים כך שכל מופע אימון מוריד כמות שווה של נתונים מ- Snowflake. לדוגמה, אם יש שני צמתי אימון, אז כל צומת מוריד מדגם אקראי של 50% מהשורות בטבלת Snowflake. ראה את הקוד הבא:
- לאחר מכן אנו מספקים את תסריט ההדרכה ל-SageMaker SDK
Estimator
יחד עם ספריית המקור כך שניתן יהיה לספק את כל הסקריפטים שאנו יוצרים למיכל ההדרכה כאשר עבודת ההדרכה מופעלת באמצעותEstimator.fit
שיטה:למידע נוסף עיין ב הכן תסריט הדרכה של Scikit-Learn.
- לאחר השלמת הכשרת המודל, המודל המאומן זמין כ
model.tar.gz
קובץ בדלי ברירת המחדל של SageMaker עבור האזור:
כעת אתה יכול לפרוס את המודל המיומן לקבלת מסקנות על נתונים חדשים! להנחיות, עיין ב צור את נקודת הקצה שלך ופרוס את המודל שלך.
לנקות את
כדי להימנע מחיובים עתידיים, מחק את המשאבים. אתה יכול לעשות זאת על ידי מחיקת תבנית CloudFormation המשמשת ליצירת תפקיד IAM ומחברת SageMaker.
יהיה עליך למחוק את משאבי Snowflake באופן ידני ממסוף Snowflake.
סיכום
בפוסט זה, הראינו כיצד להוריד נתונים המאוחסנים בטבלת Snowflake למופע עבודה של SageMaker Training ולאמן מודל XGBoost באמצעות מיכל הדרכה מותאם אישית. גישה זו מאפשרת לנו לשלב ישירות את Snowflake כמקור נתונים עם מחברת SageMaker מבלי שהנתונים יוצגו באמזון S3.
אנו ממליצים לך ללמוד עוד על ידי חקירת ה אמזון SageMaker Python SDK ובניית פתרון תוך שימוש ביישום לדוגמה המופיע בפוסט זה ובמערך נתונים רלוונטי לעסק שלך. אם יש לך שאלות או הצעות, השאר תגובה.
על המחברים
עמית ערורה הוא ארכיטקט מומחה בינה מלאכותית ו-ML בשירותי האינטרנט של אמזון, המסייע ללקוחות ארגוניים להשתמש בשירותי למידת מכונה מבוססי ענן כדי להגדיל במהירות את החידושים שלהם. הוא גם מרצה נלווה בתוכנית MS Data Science and Analytics באוניברסיטת ג'ורג'טאון בוושינגטון די.סי.
דיוויה מוראלידהארן הוא אדריכל פתרונות בשירותי האינטרנט של אמזון. היא נלהבת לעזור ללקוחות ארגוניים לפתור בעיות עסקיות באמצעות טכנולוגיה. יש לה תואר שני במדעי המחשב מהמכון הטכנולוגי של רוצ'סטר. מחוץ למשרד, היא מבלה זמן בבישול, בשירה ובגידול צמחים.
סרגיי ארמולין הוא אדריכל פתרונות AIML ראשי ב-AWS. בעבר, הוא היה ארכיטקט פתרונות תוכנה לטכנולוגיות למידה עמוקה, ניתוחים וטכנולוגיות ביג דאטה באינטל. ותיק בעמק הסיליקון עם תשוקה ללמידת מכונה ואינטליגנציה מלאכותית, סרגיי התעניין ברשתות עצביות מאז הימים שלפני ה-GPU, כשהשתמש בהן כדי לחזות את התנהגות ההזדקנות של גבישי קוורץ ושעוני צזיום אטומיים ב-Hewlett-Packard. לסרגיי יש תעודת MSEE ותעודת CS מסטנפורד ותואר ראשון בפיזיקה והנדסת מכונות מאוניברסיטת קליפורניה סטייט, סקרמנטו. מחוץ לעבודה, סרגיי נהנה מהכנת יין, סקי, רכיבה על אופניים, שיט וצלילה. סרגיי הוא גם טייס מתנדב עבור טיסת אנג'ל.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- Platoblockchain. Web3 Metaverse Intelligence. ידע מוגבר. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/use-snowflake-as-a-data-source-to-train-ml-models-with-amazon-sagemaker/
- :הוא
- $ למעלה
- 1
- 10
- 7
- 8
- a
- אודות
- גישה
- נגיש
- חֶשְׁבּוֹן
- נוסף
- לאחר
- נגד
- הזדקנות
- AI
- AIML
- אלגוריתמים
- תעשיות
- מאפשר
- כְּבָר
- אמזון בעברית
- אמזון FSx
- אמזון SageMaker
- אמזון שירותי אינטרנט
- כמות
- אנליזה
- ניתוח
- ו
- אחר
- גישה
- מתאים
- ארכיטקטורה
- ARE
- מלאכותי
- בינה מלאכותית
- AS
- המשויך
- At
- ביקורת
- מחבר
- זמין
- AWS
- AWS CloudFormation
- בסיס
- מבוסס
- BE
- כי
- גָדוֹל
- נתונים גדולים
- לִבנוֹת
- בִּניָן
- נבנה
- עסקים
- by
- קליפורניה
- נקרא
- CAN
- תאים
- תעודה
- לאתגר
- חיובים
- בחרו
- ניקוי
- שעונים
- ענן
- קוד
- טור
- עמודות
- הערה
- Common
- להשלים
- המחשב
- מדעי מחשב
- לְחַבֵּר
- הקשר
- קונסול
- מכולה
- מכיל
- תוכן
- בקרות
- לִיצוֹר
- נוצר
- יוצר
- יוצרים
- אישורים
- מנהג
- לקוחות
- נתונים
- ניהול נתונים
- הכנת נתונים
- מדע נתונים
- אחסון נתונים
- datetime
- ימים
- DDP
- מחליטים
- עמוק
- למידה עמוקה
- בְּרִירַת מֶחדָל
- תואר
- לפרוס
- פרס
- מפתחים
- ישירות
- מופץ
- מחוז
- סַוָר
- לא
- להורדה
- הורדות
- כל אחד
- בקלות
- יעילות
- או
- מבטל
- במקום אחר
- מופעל
- לעודד
- נקודת קצה
- הנדסה
- מבטיח
- מִפְעָל
- סביבה
- שגיאה
- דוגמה
- לבצע
- קיים
- מצפה
- חקירה
- היכרות
- תמציות
- מאוד
- לְהַקֵל
- הוגן
- בְּקִיאוּת
- מאפיין
- תרשים
- שלח
- סופי
- ראשון
- מתאים
- הבא
- כדלקמן
- בעד
- החל מ-
- מלא
- לגמרי
- פונקציונלי
- עתיד
- לקבל
- מקבל
- GitHub
- הולך
- גדל
- יש
- יש
- עזרה
- כאן
- ברמה גבוהה
- מחזיק
- אירח
- מארחים
- בית
- דיור
- איך
- איך
- אולם
- HTML
- HTTPS
- זהות
- תמונה
- ליישם
- הפעלה
- לייבא
- in
- לכלול
- כלול
- מדד
- מידע
- חידושים
- להתקין
- למשל
- מכון
- הוראות
- לשלב
- משולב
- אינטל
- מוֹדִיעִין
- מעוניין
- IT
- עבודה
- מפתחות
- מחשב נייד
- גָדוֹל
- אחרון
- לִלמוֹד
- למידה
- יציאה
- מעגל החיים
- ln
- באופן מקומי
- מכונה
- למידת מכונה
- לנהל
- הצליח
- ניהול
- מנהל
- ניהול
- באופן ידני
- תואם
- מֵכָנִי
- מדיה
- בינוני
- תפריט
- שיטה
- ML
- מודל
- מודלים
- יותר
- המהלך
- MS
- שם
- ניווט
- צורך
- צרכי
- רשתות
- רשתות עצביות
- חדש
- הבא
- צומת
- צמתים
- מחברה
- מספר
- אובייקט
- of
- Office
- on
- ONE
- לפתוח
- אופטימיזציה
- להזמין
- ארגון
- אחר
- בחוץ
- חבילה
- דובי פנדה
- זגוגית
- מקביל
- חלק
- תשוקה
- לוהט
- סיסמה
- מבצע
- הרשאות
- פיסיקה
- טַיָס
- צינור
- מציין מיקום
- צמחים
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- מדיניות
- מְאוּכלָס
- הודעה
- לחזות
- להכין
- להציג
- קוֹדֶם
- מנהל
- בעיות
- תָכְנִית
- מוּצָע
- לספק
- ובלבד
- מספק
- מטרה
- דחוף
- דחף
- פיתון
- שאלות
- מהירות
- אקראי
- מהר
- במקום
- חומר עיוני
- לאחרונה
- רשום
- מפחית
- באזור
- שוחרר
- רלוונטי
- להחליף
- מייצג
- נדרש
- דורש
- משאבים
- לַחֲזוֹר
- תפקיד
- שורש
- שׁוּרָה
- הפעלה
- סקרמנטו
- בעל חכמים
- שיט
- שמור
- סולם
- מדע
- מדענים
- סקיקיט-לימוד
- סקריפטים
- Sdk
- סוד
- שרתים
- שרות
- שירותים
- סט
- צוּרָה
- פָּגָז
- צריך
- הופעות
- משמעותי
- סיליקון
- עמק הסיליקון
- פָּשׁוּט
- since
- מצבים
- קטן
- So
- תוכנה
- פִּתָרוֹן
- פתרונות
- לפתור
- מָקוֹר
- מקורות
- מֶרחָב
- מומחה
- בימוי
- התחלה
- מדינה
- הצהרה
- שלב
- צעדים
- אחסון
- מאוחסן
- רשתות משנה
- בהצלחה
- כזה
- תמיכה
- נתמך
- מערכת
- שולחן
- משימות
- טכנולוגיות
- טכנולוגיה
- תבנית
- מונחים
- זֶה
- השמיים
- המקור
- שֶׁלָהֶם
- אותם
- אלה
- שְׁלוֹשָׁה
- דרך
- זמן
- ל
- כלים
- סה"כ
- רכבת
- מְאוּמָן
- הדרכה
- רכבות
- בדרך כלל
- אוניברסיטה
- עדכון
- us
- להשתמש
- משתמש
- משתמשים
- עֶמֶק
- ערך
- ערכים
- ותיק
- להתנדב
- וושינגטון
- דֶרֶך..
- אינטרנט
- שירותי אינטרנט
- אשר
- מי
- יצטרך
- עם
- בתוך
- לְלֹא
- תיק עבודות
- לכתוב
- XGBoost
- אתה
- זפירנט