אם חיפשת פריט לקנייה ב-amazon.com, השתמשת בשירותי חיפוש של אמזון. ב-Amazon Search, אנחנו אחראים לחוויית החיפוש והגילוי עבור הלקוחות שלנו ברחבי העולם. ברקע, אנו מכניסים לאינדקס את קטלוג המוצרים העולמי שלנו, פורסים ציי AWS ניתנים להרחבה ומשתמשים בלמידת מכונה מתקדמת (ML) כדי להתאים מוצרים רלוונטיים ומעניינים לכל שאילתה של לקוח.
המדענים שלנו מאמנים באופן קבוע אלפי מודלים של ML כדי לשפר את איכות תוצאות החיפוש. תמיכה בניסויים בקנה מידה גדול מציג אתגרים משלו, במיוחד בכל הנוגע לשיפור הפרודוקטיביות של המדענים המאמנים מודלים אלה של ML.
בפוסט זה, אנו משתפים כיצד בנינו מערכת ניהול מסביב אמזון SageMaker משרות הדרכה, המאפשרות למדענים שלנו לירות ולשכוח אלפי ניסויים ולקבל הודעה בעת הצורך. כעת הם יכולים להתמקד במשימות בעלות ערך גבוה ובפתרון שגיאות אלגוריתמיות, ולחסוך 60% מזמנם.
האתגר
ב-Amazon Search, המדענים שלנו פותרים בעיות של אחזור מידע על ידי ניסוי והפעלת מספר רב של עבודות הדרכה במודל ML ב- SageMaker. כדי לעמוד בקצב החדשנות של הצוות שלנו, המורכבות של המודלים שלנו ומספר משרות ההדרכה גדלו עם הזמן. משרות הדרכה של SageMaker מאפשרות לנו להפחית את הזמן והעלות להכשיר ולכוונן את הדגמים הללו בקנה מידה, ללא צורך בניהול תשתית.
כמו כל דבר בפרויקטים כה גדולים של ML, עבודות הכשרה עלולות להיכשל בשל מגוון גורמים. פוסט זה מתמקד במחסור בקיבולת ובכשלים עקב שגיאות אלגוריתמים.
תכננו ארכיטקטורה עם מערכת ניהול עבודה כדי לסבול ולהקטין את ההסתברות של עבודה להיכשל עקב חוסר זמינות קיבולת או שגיאות אלגוריתמים. זה מאפשר למדענים לפטר ולשכוח אלפי עבודות הכשרה, לנסות אותן מחדש אוטומטית על כישלון חולף, ולקבל הודעה על הצלחה או כישלון במידת הצורך.
סקירת פתרונות
בתרשים הפתרון הבא, אנו משתמשים בעבודות הכשרה של SageMaker כיחידה הבסיסית של הפתרון שלנו. כלומר, עבודה מייצגת הכשרה מקצה לקצה של מודל ML.
זרימת העבודה ברמה גבוהה של פתרון זה היא כדלקמן:
- מדענים מפעילים ממשק API כדי להגיש עבודה חדשה למערכת.
- המשרה רשומה ב-
New
סטטוס בחנות מטא נתונים. - מתזמן עבודה מאחזר באופן אסינכרוני
New
משרות מחנות המטא נתונים, מנתח את הקלט שלהן ומנסה להשיק משרות הדרכה של SageMaker עבור כל אחת מהן. הסטטוס שלהם משתנה לLaunched
orFailed
תלוי בהצלחה. - מוניטור בודק את התקדמות העבודות במרווחי זמן קבועים ומדווח עליהן
Completed
,Failed
, אוInProgress
מצב במאגר המטא נתונים. - מודיע מופעל לדווח
Completed
וFailed
משרות למדענים.
שמירה על היסטוריית המשרות בחנות המטא נתונים מאפשרת לצוות שלנו גם לבצע ניתוח מגמות ולנטר את התקדמות הפרויקט.
פתרון תזמון עבודה זה משתמש ברכיבים חסרי שרת מחוברים באופן רופף על בסיס AWS למבדה, אמזון דינמו, שירות התראה פשוט של אמזון (Amazon SNS), ו אמזון EventBridge. זה מבטיח מדרגיות אופקית, ומאפשר למדענים שלנו להשיק אלפי משרות במאמץ תפעולי מינימלי. התרשים הבא ממחיש את הארכיטקטורה ללא שרת.
בסעיפים הבאים נפרט יותר על כל שירות ומרכיביו.
DynamoDB כמאגר המטא נתונים להרצות משימות
קלות השימוש וההרחבה של DynamoDB הפכו אותה לבחירה טבעית להתמיד במטא נתונים של המשימות בטבלת DynamoDB. פתרון זה מאחסן מספר תכונות של משרות שהוגשו על ידי מדענים, ובכך מסייע במעקב אחר ההתקדמות ובתזמור זרימת העבודה. התכונות החשובות ביותר הן כדלקמן:
- JobId - מזהה עבודה ייחודי. זה יכול להיווצר אוטומטית או לספק על ידי המדען.
- מצב עבודה – מצב התפקיד.
- JobArgs – טיעונים נוספים הנדרשים ליצירת משרת הדרכה, כמו נתיב הקלט באמזון S3, URI תמונת ההדרכה ועוד. לרשימה מלאה של פרמטרים הנדרשים ליצירת עבודת הדרכה, עיין ב CreateTrainingJob.
למבדה עבור ההיגיון המרכזי
אנו משתמשים בשלושה מבוסס מיכל פונקציות Lambda לתזמורת זרימת העבודה:
- שלח עבודה - פונקציה זו מופעלת על ידי מדענים כאשר הם צריכים להשיק מקומות עבודה חדשים. זה פועל כ-API לפשטות. אתה יכול גם להקדים אותו עם שער API של אמזון, במידת צורך. פונקציה זו רושמת את המשימות בטבלת DynamoDB.
- השקת Jobs - פונקציה זו מאחזרת מעת לעת
New
משימות מטבלת DynamoDB ומשיקה אותן באמצעות SageMaker CreateTrainingJob פקודה. הוא מנסה שוב על כשלים חולפים, כגוןResourceLimitExceeded
וCapacityError
, למכשיר גמישות למערכת. לאחר מכן הוא מעדכן את מצב העבודה כLaunched
orFailed
תלוי בהצלחה. - מעקב אחר עבודות - פונקציה זו עוקבת מעת לעת אחר התקדמות העבודה באמצעות ה תארTrainingJob הפקודה, ומעדכן את טבלת DynamoDB בהתאם. זה סקרים
Failed
משרות מהמטא-נתונים ומעריך אם יש להגיש אותן מחדש או לסמן אותן ככישלון סופני. הוא גם מפרסם הודעות התראה למדענים כאשר עבודתם מגיעה למצב סופני.
EventBridge לתזמון
אנו משתמשים ב-EventBridge כדי להפעיל את הפונקציות Launch Jobs ו- Monitor Jobs Lambda לפי לוח זמנים. למידע נוסף, עיין ב מדריך: תזמן פונקציות AWS Lambda באמצעות EventBridge.
לחלופין, ניתן להשתמש זרמי דינמו-די-בי אמזון עבור הטריגרים. למידע נוסף, ראה טריגרים של DynamoDB Streams ו-AWS Lambda.
התראות עם Amazon SNS
המדענים שלנו הם הודעה בדוא"ל באמצעות Amazon SNS כאשר העבודה שלהם מגיעה למצב סופני (Failed
לאחר מספר מקסימלי של ניסיונות חוזרים), Completed
, או Stopped
.
סיכום
בפוסט זה, שיתפנו כיצד Amazon Search מוסיף גמישות לעומסי עבודה של אימון מודלים של ML על ידי תזמון אותם, וניסיון חוזר שלהם על מחסור בקיבולת או שגיאות אלגוריתמים. השתמשנו בפונקציות Lambda בשילוב עם טבלת DynamoDB כמאגר מטא נתונים מרכזי כדי לתזמן את זרימת העבודה כולה.
מערכת תזמון כזו מאפשרת למדענים להגיש את עבודתם ולשכוח מהם. זה חוסך זמן ומאפשר להם להתמקד בכתיבת דגמים טובים יותר.
כדי ללכת רחוק יותר בלמידה שלך, אתה יכול לבקר SageMaker מדהים ולמצוא במקום אחד את כל המשאבים הרלוונטיים והעדכניים הדרושים לעבודה עם SageMaker.
על הכותבים
לווצ'או וואנג הוא מהנדס תוכנה ב-Amazon Search. הוא מתמקד במערכות מבוזרות ניתנות להרחבה וכלי אוטומציה בענן כדי להאיץ את קצב החדשנות המדעית עבור יישומי Machine Learning.
אישהאן בהט הוא מהנדס תוכנה בצוות Amazon Prime Video. הוא עובד בעיקר בתחום MLOps ויש לו ניסיון בבניית מוצרי MLOps במשך 4 השנים האחרונות באמצעות Amazon SageMaker.
אבהיננדאן פאטני הוא מהנדס תוכנה בכיר ב-Amazon Search. הוא מתמקד בבניית מערכות וכלים לאימון למידה מבוזר ניתנת להרחבה והסקת מסקנות בזמן אמת.
אימן אלנהראווי הוא מהנדס תוכנה ראשי ב-Amazon Search המוביל את המאמצים בנושא האצה, קנה מידה ואוטומציה של למידת מכונה. המומחיות שלה משתרעת על תחומים רבים, כולל למידת מכונה, מערכות מבוזרות והתאמה אישית.
סופיאן חמיטי הוא מומחה AI / ML לאדריכל פתרונות ב- AWS. הוא עוזר ללקוחות בענפים להאיץ את מסע ה- AI / ML שלהם בכך שהוא עוזר להם לבנות ולהפעיל פתרונות למידת מכונה מקצה לקצה.
ד"ר רומי דאטה הוא מנהל בכיר של ניהול מוצר בצוות Amazon SageMaker האחראי על הדרכה, עיבוד וחנות תכונות. הוא נמצא ב-AWS למעלה מ-4 שנים, מחזיק במספר תפקידי מנהיגות בניהול מוצר ב-SageMaker, S3 ו-IoT. לפני AWS הוא עבד בתפקידי ניהול מוצר, הנדסה ומנהיגות תפעולית שונים ב-IBM, Texas Instruments ו-Nvidia. יש לו תואר שני ודוקטורט. בהנדסת חשמל ומחשבים מאוניברסיטת טקסס באוסטין, ותואר שני במנהל עסקים מבית הספר לעסקים של אוניברסיטת שיקגו.
RJ הוא מהנדס בצוות Search M5 שמוביל את המאמצים לבניית מערכות למידה עמוקה בקנה מידה גדול לאימון והסקת הסקה. מחוץ לעבודה הוא חוקר מאכלים שונים של אוכל ועוסק בספורט מחבט.
- מתקדם (300)
- AI
- איי אמנות
- מחולל אמנות ai
- איי רובוט
- טייס אוטומטי של אמזון
- בינה מלאכותית
- הסמכת בינה מלאכותית
- בינה מלאכותית בבנקאות
- רובוט בינה מלאכותית
- רובוטים של בינה מלאכותית
- תוכנת בינה מלאכותית
- למידת מכונות AWS
- blockchain
- blockchain conference ai
- קוינגניוס
- בינה מלאכותית של שיחה
- קריפטו כנס ai
- של דאל
- למידה עמוקה
- גוגל איי
- למידת מכונה
- אפלטון
- plato ai
- מודיעין אפלטון
- משחק אפלטון
- אפלטון נתונים
- פלטוגיימינג
- סולם ai
- תחביר
- זפירנט