מכיוון שיותר ויותר לקוחות מחפשים להכניס עומסי עבודה של למידת מכונה (ML) לייצור, ישנה דחיפה גדולה בארגונים לקצר את מחזור חיי הפיתוח של קוד ML. ארגונים רבים מעדיפים לכתוב את קוד ה-ML שלהם בסגנון מוכן לייצור בצורה של שיטות ומחלקות Python בניגוד לסגנון חקרני (כתיבת קוד ללא שימוש בשיטות או מחלקות) מכיוון שזה עוזר להם לשלוח קוד מוכן לייצור מהר יותר.
עם אמזון SageMaker, אתה יכול להשתמש @מעצב מרחוק להפעיל עבודת אימון של SageMaker פשוט על ידי הערת קוד Python שלך עם @remote decorator. ה SageMaker Python SDK תתרגם אוטומטית את סביבת העבודה הקיימת שלך וכל קוד עיבוד נתונים ומערך נתונים משויכים לעבודת הדרכה של SageMaker שפועלת על פלטפורמת ההדרכה של SageMaker.
הפעלת פונקציית Python באופן מקומי דורשת לעתים קרובות מספר תלות, אשר עשויות לא להגיע עם סביבת זמן הריצה המקומית של Python. אתה יכול להתקין אותם באמצעות כלי ניהול חבילות ותלות כמו פְּעִים or קונדה.
עם זאת, ארגונים הפועלים בתעשיות מוסדרות כמו בנקאות, ביטוח ושירותי בריאות פועלים בסביבות שיש בהן בקרות קפדניות של פרטיות נתונים ורשתות. פקדים אלה מחייבים לעתים קרובות שאין גישה לאינטרנט זמינה לאף אחת מהסביבות שלהם. הסיבה להגבלה כזו היא שליטה מלאה על תעבורת יציאה וכניסה כדי שיוכלו להפחית את הסיכוי ששחקנים חסרי מצפון ישלחו או יקבלו מידע לא מאומת דרך הרשת שלהם. לעתים קרובות יש גם חובה לקיים בידוד רשת כזה כחלק מכללי הציות השמיעתיים והתעשייתיים. כשזה מגיע ל-ML, זה מגביל מדעני נתונים מלהוריד כל חבילה ממאגרים ציבוריים כמו PyPI, האנקונדה, או קונדה-פורג'.
כדי לספק למדעני נתונים גישה לכלים לפי בחירתם תוך כיבוד מגבלות הסביבה, ארגונים מקימים לעתים קרובות מאגר חבילות פרטי משלהם המתארח בסביבה שלהם. אתה יכול להגדיר מאגרי חבילות פרטיים ב-AWS במספר דרכים:
בפוסט זה, אנו מתמקדים באפשרות הראשונה: שימוש ב- CodeArtifact.
סקירת פתרונות
תרשים הארכיטקטורה הבא מציג את ארכיטקטורת הפתרון.
השלבים ברמה הגבוהה ליישום הפתרון הם כדלקמן
- הגדר ענן פרטי וירטואלי (VPC) ללא גישה לאינטרנט באמצעות AWS CloudFormation תבנית.
- השתמש בתבנית CloudFormation שנייה כדי להגדיר את CodeArtifact כמאגר PyPI פרטי ולספק קישוריות ל-VPC, ולהגדיר סטודיו SageMaker של אמזון סביבה להשתמש במאגר PyPI הפרטי.
- אימון מודל סיווג המבוסס על MNIST מערך נתונים המשתמש ב-@remote decorator מ-SageMaker Python SDK בקוד פתוח. כל התלות יורדו ממאגר PyPI הפרטי.
שימו לב שהשימוש ב- SageMaker Studio בפוסט זה הוא אופציונלי. אתה יכול לבחור לעבוד בכל סביבת פיתוח משולבת (IDE) לבחירתך. אתה רק צריך להגדיר את שלך ממשק שורת הפקודה של AWS (AWS CLI) אישורים כהלכה. למידע נוסף, עיין ב הגדר את AWS CLI.
תנאים מוקדמים
אתה צריך חשבון AWS עם א AWS זהות וניהול גישה (אני) תפקיד עם הרשאות לניהול משאבים שנוצרו כחלק מהפתרון. לפרטים, עיין ב יצירת חשבון AWS.
הגדר VPC ללא חיבור לאינטרנט
צור מחסנית CloudFormation חדשה באמצעות vpc.yaml תבנית. תבנית זו יוצרת את המשאבים הבאים:
- VPC עם שתי רשתות משנה פרטיות בשני אזורי זמינות ללא קישוריות לאינטרנט
- נקודת קצה Gateway VPC לגישה לאמזון S3
- ממשק נקודות קצה VPC עבור SageMaker, CodeArtifact ועוד כמה שירותים כדי לאפשר למשאבים ב-VPC להתחבר לשירותי AWS באמצעות AWS PrivateLink
ספק שם מחסנית, כגון No-Internet
, והשלם את תהליך יצירת הערימה.
המתן עד שתהליך יצירת הערימה יסתיים.
הגדר מאגר פרטי ו-SageMaker Studio באמצעות ה-VPC
השלב הבא הוא לפרוס מחסנית CloudFormation נוספת באמצעות ה sagemaker_studio_codeartifact.yaml תבנית. תבנית זו יוצרת את המשאבים הבאים:
ספק שם מחסנית ושמור את ערכי ברירת המחדל או התאם את הפרמטרים עבור שם דומיין CodeArtifact, שם המאגר הפרטי, שם פרופיל משתמש עבור SageMaker Studio, ו שם עבור מאגר PyPI הציבורי במעלה הזרם. אתה גם אנחנו צריכים לספק את שם מחסנית VPC נוצר בשלב הקודם.
כאשר יצירת הערימה הושלמה, תחום SageMaker אמור להיות גלוי בקונסולת SageMaker.
כדי לוודא שאין חיבור לאינטרנט זמין ב-SageMaker Studio, להשיק את SageMaker Studio. בחר File
, New
, ו Terminal
להפעיל מסוף ולנסות תלתל כל משאב אינטרנט. זה אמור להיכשל בחיבור, כפי שמוצג בצילום המסך הבא.
אמן סיווג תמונות באמצעות @remote decorator עם מאגר PyPI הפרטי
בסעיף זה, אנו משתמשים ב-@remote decorator כדי להפעיל א PyTorch עבודת הדרכה המייצרת מודל סיווג תמונה של MNIST. כדי להשיג זאת, אנו מגדירים קובץ תצורה, מפתחים את סקריפט ההדרכה ומפעילים את קוד ההדרכה.
הגדר קובץ תצורה
הקמנו א config.yaml
קובץ וספק את התצורות הדרושות לביצוע הפעולות הבאות:
- הפעל a עבודת הדרכה של SageMaker ב-VPC ללא אינטרנט שנוצר קודם לכן
- הורד את החבילות הנדרשות על ידי חיבור למאגר PyPI הפרטי שנוצר קודם לכן
הקובץ נראה כמו הקוד הבא:
השמיים Dependencies
השדה מכיל את הנתיב אל requirements.txt
, שמכיל את כל התלות הדרושות. שימו לב שכל התלות יורדו מהמאגר הפרטי. ה requirements.txt
הקובץ מכיל את הקוד הבא:
השמיים PreExecutionCommands
החלק מכיל את הפקודה להתחבר למאגר PyPI הפרטי. כדי לקבל את כתובת ה-URL של נקודת הקצה CodeArtifact VPC, השתמש בקוד הבא:
באופן כללי, אנו מקבלים שתי נקודות קצה VPC עבור CodeArtifact, ואנחנו יכולים להשתמש בכל אחת מהן בפקודות החיבור. לפרטים נוספים, עיין ב השתמש ב-CodeArtifact מ-VPC.
בנוסף, תצורות כמו execution role
, output location
, ו VPC configurations
מסופקים בקובץ התצורה. תצורות אלו נחוצות כדי להפעיל את עבודת ההדרכה של SageMaker. למידע נוסף על כל התצורות הנתמכות, עיין ב קובץ תצורה.
זה לא חובה להשתמש ב config.yaml
קובץ כדי לעבוד עם @remote decorator. זוהי רק דרך נקייה יותר לספק את כל התצורות ל-@remote decorator. ניתן לספק את כל ההגדרות גם ישירות בארגומנטים של הדקורטור, אבל זה מפחית את הקריאה ואת יכולת התחזוקה של שינויים בטווח הארוך. כמו כן, ניתן ליצור את קובץ התצורה על ידי מנהל ולשתף אותו עם כל המשתמשים בסביבה.
פתח את תסריט ההדרכה
לאחר מכן, אנו מכינים את קוד האימון בקבצי Python פשוטים. חילקנו את הקוד לשלושה קבצים:
- load_data.py - מכיל את הקוד להורדת מערך הנתונים של MNIST
- model.py – מכיל את הקוד לארכיטקטורת הרשת העצבית עבור המודל
- train.py – מכיל את הקוד לאימון המודל באמצעות load_data.py ו-model.py
In train.py
, עלינו לקשט את פונקציית האימון העיקרית באופן הבא:
עכשיו אנחנו מוכנים להפעיל את קוד ההדרכה.
הפעל את קוד ההדרכה עם @remote decorator
אנחנו יכולים להריץ את הקוד ממסוף או מכל הנחיה להפעלה. בפוסט זה, אנו משתמשים בתא מחברת SageMaker Studio כדי להדגים זאת:
הפעלת הפקודה הקודמת מפעילה את עבודת ההדרכה. ביומנים, אנו יכולים לראות שזה מוריד את החבילות ממאגר PyPI הפרטי.
זה מסיים את היישום של @remote decorator שעובד עם מאגר פרטי בסביבה ללא גישה לאינטרנט.
לנקות את
כדי לנקות את המשאבים, עקוב אחר ההוראות ב- CLEANUP.md.
סיכום
בפוסט זה, למדנו כיצד להשתמש ביעילות ביכולות של @remote decorator תוך כדי עבודה בסביבות מגבילות ללא כל גישה לאינטרנט. למדנו גם כיצד נוכל לשלב יכולות מאגר פרטי CodeArtifact בעזרת תמיכה בקבצי תצורה ב- SageMaker. פתרון זה הופך את הפיתוח האיטרטיבי להרבה יותר פשוט ומהיר. יתרון נוסף הוא שאתה עדיין יכול להמשיך לכתוב את קוד ההדרכה בצורה טבעית יותר, מונחה עצמים ועדיין להשתמש ביכולות של SageMaker כדי להפעיל עבודות אימון על אשכול מרוחק עם שינויים מינימליים בקוד שלך. כל הקוד המוצג כחלק מהפוסט הזה זמין ב- מאגר GitHub.
כשלב הבא, אנו ממליצים לך לבדוק את @ פונקציונליות של עיצוב מרחוק ו Python SDK API והשתמש בו בסביבה וב-IDE שתבחר. דוגמאות נוספות זמינות ב- אמזון-מרווה-דוגמאות מאגר כדי להתחיל במהירות. אתה יכול גם לבדוק את הפוסט הפעל את קוד למידת המכונה המקומי שלך כעבודות אמזון SageMaker Training עם שינויים מינימליים בקוד לקבלת פרטים נוספים.
על הסופר
ויקש פנדי הוא ארכיטקט פתרונות מומחה למידת מכונה ב-AWS, שעוזר ללקוחות מתעשיות פיננסיות לתכנן ולבנות פתרונות על AI ו-ML גנרטיביים. מחוץ לעבודה, ויקש נהנה לנסות מאכלים שונים ולשחק בספורט בחוץ.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. רכב / רכבים חשמליים, פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- BlockOffsets. מודרניזציה של בעלות על קיזוז סביבתי. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/access-private-repos-using-the-remote-decorator-for-amazon-sagemaker-training-workloads/
- :הוא
- :לֹא
- $ למעלה
- 1
- 10
- 100
- 12
- 23
- 7
- 8
- a
- אודות
- גישה
- גישה
- חֶשְׁבּוֹן
- להשיג
- לרוחב
- שחקנים
- הוסיף
- נוסף
- מנהל
- יתרון
- AI
- תעשיות
- להתיר
- גם
- אמזון בעברית
- אמזון SageMaker
- אמזון שירותי אינטרנט
- an
- ו
- אחר
- כל
- API
- ארכיטקטורה
- ARE
- טיעונים
- AS
- המשויך
- At
- באופן אוטומטי
- זמינות
- זמין
- AWS
- בנקאות
- מבוסס
- BE
- כי
- לִבנוֹת
- אבל
- by
- CAN
- יכולות
- סיכויים
- שינויים
- לבדוק
- בחירה
- בחרו
- כיתות
- מיון
- ענן
- אשכול
- קוד
- COM
- איך
- מגיע
- להשלים
- הענות
- תְצוּרָה
- לְחַבֵּר
- מקשר
- הקשר
- קישוריות
- קונסול
- מכיל
- להמשיך
- לִשְׁלוֹט
- בקרות
- יכול
- נוצר
- יוצר
- יצירה
- אישורים
- לקוחות
- נתונים
- פרטיות מידע
- עיבוד נתונים
- מערכי נתונים
- בְּרִירַת מֶחדָל
- להפגין
- תלות
- לפרוס
- עיצוב
- פרטים
- לפתח
- צעצועי התפתחות
- אחר
- ישירות
- מחולק
- do
- תחום
- להורדה
- יעילות
- לעודד
- נקודת קצה
- סביבה
- סביבות
- תקופות
- דוגמאות
- הוצאת להורג
- קיימים
- FAIL
- שקר
- מהר יותר
- מעטים
- שדה
- שלח
- קבצים
- כספי
- תעשיות פיננסיות
- ראשון
- לָצוּף
- להתמקד
- לעקוב
- הבא
- כדלקמן
- בעד
- טופס
- החל מ-
- מלא
- פונקציה
- שער כניסה
- גנרטטיבית
- AI Generative
- לקבל
- קְבוּצָה
- יש
- יש
- בריאות
- לעזור
- עזרה
- עוזר
- ברמה גבוהה
- אירח
- איך
- איך
- HTML
- http
- HTTPS
- ID
- זהות
- תמונה
- סיווג תמונות
- ליישם
- הפעלה
- in
- התעשייה
- תעשיות
- מידע
- להתקין
- הוראות
- ביטוח
- לשלב
- משולב
- אינטרנט
- גישה לאינטרנט
- חיבור לאינטרנט
- אל תוך
- בדידות
- IT
- עבודה
- מקומות תעסוקה
- jpg
- רק
- שמור
- לדעת
- גָדוֹל
- לשגר
- למד
- למידה
- מעגל החיים
- כמו
- קו
- מקומי
- באופן מקומי
- התחבר
- ארוך
- הסתכלות
- נראה
- מכונה
- למידת מכונה
- ראשי
- עושה
- לנהל
- ניהול
- כלי ניהול
- מנדט
- מנדטורי
- רב
- מאי..
- שיטות
- מינימלי
- ML
- מודל
- מודולים
- יותר
- הרבה
- מספר
- שם
- יליד
- טבעי
- צורך
- נחוץ
- רשת
- רשתות
- רשת עצבית
- חדש
- הבא
- לא
- מחברה
- of
- לעתים קרובות
- on
- קוד פתוח
- להפעיל
- פועל
- מִתנַגֵד
- אפשרות
- or
- להזמין
- ארגונים
- אחר
- הַחוּצָה
- בחוץ
- יותר
- שֶׁלוֹ
- חבילה
- חבילות
- פרמטרים
- חלק
- נתיב
- הרשאות
- מקום
- פלטפורמה
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- משחק
- הודעה
- לְהַעֲדִיף
- להכין
- קודם
- פְּרָטִיוּת
- פְּרָטִי
- תהליך
- תהליך
- ייצור
- הפקה
- פּרוֹפִיל
- לספק
- ובלבד
- ציבורי
- דחוף
- גם
- פיתון
- פיטורך
- מהירות
- מוכן
- טעם
- קבלה
- להפחית
- מפחית
- מוסדר
- תעשיות מוסדרות
- מרחוק
- מאגר
- נדרש
- דורש
- משאב
- משאבים
- כיבוד
- הגבלה
- הגבלות
- מגבילה
- תפקיד
- כללי
- הפעלה
- ריצה
- פועל
- בעל חכמים
- מדענים
- Sdk
- שְׁנִיָה
- סעיף
- אבטחה
- לִרְאוֹת
- זרע
- שליחה
- שירותים
- סט
- כמה
- משותף
- ספינה
- צריך
- הראה
- הופעות
- פָּשׁוּט
- פשוט יותר
- בפשטות
- So
- פִּתָרוֹן
- פתרונות
- מומחה
- ספורט
- לערום
- החל
- שלב
- צעדים
- עוד
- חנות
- קפדן
- סטודיו
- סגנון
- המשנה
- רשתות משנה
- כזה
- שסופק
- לספק
- תמיכה
- נתמך
- תבנית
- מסוף
- זֶה
- השמיים
- שֶׁלָהֶם
- אותם
- שם.
- אלה
- הֵם
- זֶה
- שְׁלוֹשָׁה
- דרך
- ל
- כלים
- חזון לפיד
- תְנוּעָה
- הדרכה
- לתרגם
- נָכוֹן
- לנסות
- שתיים
- חסרי מצפון
- כתובת האתר
- להשתמש
- מְשׁוּמָשׁ
- משתמשים
- באמצעות
- ערכים
- לאמת
- באמצעות
- וירטואלי
- נראה
- דֶרֶך..
- דרכים
- we
- אינטרנט
- שירותי אינטרנט
- מתי
- אשר
- בזמן
- ויקיפדיה
- יצטרך
- עם
- לְלֹא
- תיק עבודות
- עובד
- לכתוב
- כתיבה
- יאמל
- אתה
- זפירנט
- אזורי