הפעלת עומסי עבודה של למידת מכונה (ML) עם קונטיינרים הופכת לנוהג נפוץ. קונטיינרים יכולים לקלוט במלואו לא רק את קוד ההדרכה שלך, אלא את כל ערימת התלות עד לספריות החומרה ולמנהלי התקנים. מה שאתה מקבל הוא סביבת פיתוח ML שהיא עקבית וניידת. עם מיכלים, קנה המידה על אשכול הופך להרבה יותר קל.
בסוף 2022, AWS הודיעה על זמינות כללית של מופעי Amazon EC2 Trn1 מופעל על ידי AWS Trainium מאיצים, שנבנו ייעודיים לאימון למידה עמוקה בביצועים גבוהים. מופעי Trn1 מספקים חיסכון של עד 50% בעלויות הדרכה בהשוואה אחרים ענן מחשוב אלסטי של אמזון (Amazon EC2) מופעים. וגם ה AWS נוירון SDK שוחרר כדי לשפר את האצה הזו, ונותן למפתחים כלים ליצירת אינטראקציה עם טכנולוגיה זו כגון קומפילציה, זמן ריצה ופרופיל כדי להשיג הדרכות מודלים בעלות ביצועים גבוהים וחסכוניים.
שירות מיכלים אלסטי של אמזון (Amazon ECS) הוא שירות תזמור קונטיינרים מנוהל במלואו המפשט את הפריסה, הניהול והקנה מידה של יישומים עם מיכל. כל שעליך לעשות הוא לתאר את היישום שלך ואת המשאבים הנדרשים, ואמזון ECS תשיק, תנטר ותרחיב את היישום שלך על פני אפשרויות מחשוב גמישות עם אינטגרציות אוטומטיות לשירותי AWS תומכים אחרים שהיישום שלך צריך.
בפוסט זה, אנו מראים לך כיצד להפעיל את עבודות ההדרכה שלך ב-ML במיכל באמצעות Amazon ECS כדי לפרוס, לנהל ולהרחיב את עומס העבודה שלך ב-ML.
סקירת פתרונות
אנו מדריכים אותך בשלבים הבאים ברמה הגבוהה:
- ספק אשכול ECS של מופעי Trn1 עם AWS CloudFormation.
- בנו תמונת מיכל מותאמת אישית עם Neuron SDK ודחוף אותה אל מרשם מיכל אלסטי של אמזון (אמזון ECR).
- צור הגדרת משימה להגדרת עבודת אימון ML שתופעל על ידי Amazon ECS.
- הפעל את משימת ה-ML ב- Amazon ECS.
תנאים מוקדמים
כדי לעקוב אחר כך, משתמעת היכרות עם שירותי ליבה של AWS כגון Amazon EC2 ו- Amazon ECS.
ספק אשכול ECS של מופעי Trn1
כדי להתחיל, הפעל את הגרסה המסופקת תבנית CloudFormation, אשר יספק משאבים נדרשים כגון VPC, Cluster ECS ומופע EC2 Trainium.
אנו משתמשים ב- Neuron SDK כדי להפעיל עומסי עבודה של למידה עמוקה Afer Inferentia ומופעים מבוססי Trainium. זה תומך בך במחזור החיים של פיתוח ML מקצה לקצה כדי ליצור מודלים חדשים, לייעל אותם ואז לפרוס אותם לייצור. כדי לאמן את הדגם שלך עם Trainium, עליך להתקין את Neuron SDK במופעי EC2 שבהם יפעלו משימות ה-ECS כדי למפות את NeuronDevice המשויך לחומרה, כמו גם את תמונת Docker שתידחף לאמזון ECR כדי לגשת לפקודות לאמן את הדגם שלך.
גרסאות סטנדרטיות של Amazon Linux 2 או Ubuntu 20 אינן מגיעות עם מנהלי התקנים של AWS Neuron. לכן, יש לנו שתי אפשרויות שונות.
האפשרות הראשונה היא להשתמש ב-Deep Learning Amazon Machine Image (DLAMI) שבה כבר מותקן Neuron SDK. דוגמה זמינה באתר GitHub ריפו. אתה יכול לבחור DLAMI על בסיס מערכת הפעלה. לאחר מכן הפעל את הפקודה הבאה כדי לקבל את מזהה AMI:
הפלט יהיה כדלקמן:
ami-06c40dd4f80434809
מזהה AMI זה יכול להשתנות עם הזמן, אז הקפד להשתמש בפקודה כדי לקבל את מזהה AMI הנכון.
כעת תוכל לשנות את מזהה AMI זה בסקריפט של CloudFormation ולהשתמש ב- Neuron SDK המוכן לשימוש. כדי לעשות זאת, חפש EcsAmiId
in Parameters
:
האפשרות השנייה היא ליצור מופע הממלא את userdata
שדה במהלך יצירת הערימה. אינך צריך להתקין אותו כי CloudFormation יגדיר זאת. למידע נוסף, עיין ב מדריך התקנה של Neuron.
עבור פוסט זה, אנו משתמשים באפשרות 2, למקרה שתצטרך להשתמש בתמונה מותאמת אישית. השלם את השלבים הבאים:
- הפעל את תבנית CloudFormation שסופקה.
- בעד שם מפתח, הזן שם של זוג המפתחות הרצוי שלך, והוא יטען מראש את הפרמטרים. עבור פוסט זה, אנו משתמשים
trainium-key
. - הזן שם עבור המחסנית שלך.
- אם אתה רץ ב
us-east-1
אזור, אתה יכול לשמור את הערכים עבור שם אלב ו AZIDs כברירת מחדל.
כדי לבדוק באיזה אזור זמינות באזור יש Trn1 זמין, הפעל את הפקודה הבאה:
- לבחור הַבָּא ולסיים ליצור את הערימה.
כאשר הערימה תושלם, תוכל לעבור לשלב הבא.
הכן ודחוף תמונת ECR עם Neuron SDK
Amazon ECR הוא רישום מיכלים מנוהל במלואו המציע אירוח בעל ביצועים גבוהים, כך שתוכל לפרוס באופן מהימן תמונות אפליקציות וחפצים בכל מקום. אנו משתמשים ב-Amazon ECR כדי לאחסן תמונת Docker מותאמת אישית המכילה את הסקריפטים ואת חבילות ה-Neuron שלנו הדרושים כדי להכשיר מודל עם עבודות ECS הפועלות במופעי Trn1. אתה יכול ליצור מאגר ECR באמצעות ה ממשק שורת הפקודה של AWS (AWS CLI) או קונסולת הניהול של AWS. עבור פוסט זה, אנו משתמשים בקונסולה. השלם את השלבים הבאים:
- בקונסולת Amazon ECR, צור מאגר חדש.
- בעד הגדרות נראותבחר פְּרָטִי.
- בעד שם המאגר, הכנס שם.
- לבחור צור מאגר.
עכשיו כשיש לך מאגר, בוא נבנה ונדחוף תמונה, שיכולה להיבנות באופן מקומי (למחשב הנייד שלך) או ב- AWS Cloud9 סביבה. אנו מאמנים מודל פרצפטרון רב שכבתי (MLP). לקוד המקורי, עיין ב מדריך אימון פרספטרונים רב-שכבתי.
זה כבר תואם ל- Neuron, כך שאינך צריך לשנות שום קוד.
- 5. ליצור דוקרפיל שיש לו את הפקודות להתקנת ה- Neuron SDK ותסריטי אימון:
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoAiStream. Web3 Data Intelligence. הידע מוגבר. גישה כאן.
- הטבעת העתיד עם אדריאן אשלי. גישה כאן.
- קנה ומכירה של מניות בחברות PRE-IPO עם PREIPO®. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/scale-your-machine-learning-workloads-on-amazon-ecs-powered-by-aws-trainium-instances/