איך Amazon Search מפעיל פרויקטים של למידת מכונה בקנה מידה גדול ועמיד עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

איך Amazon Search מפעיל פרויקטים של למידת מכונה בקנה מידה גדול ועמיד עם Amazon SageMaker

אם חיפשת פריט לקנייה ב-amazon.com, השתמשת בשירותי חיפוש של אמזון. ב-Amazon Search, אנחנו אחראים לחוויית החיפוש והגילוי עבור הלקוחות שלנו ברחבי העולם. ברקע, אנו מכניסים לאינדקס את קטלוג המוצרים העולמי שלנו, פורסים ציי AWS ניתנים להרחבה ומשתמשים בלמידת מכונה מתקדמת (ML) כדי להתאים מוצרים רלוונטיים ומעניינים לכל שאילתה של לקוח.

המדענים שלנו מאמנים באופן קבוע אלפי מודלים של ML כדי לשפר את איכות תוצאות החיפוש. תמיכה בניסויים בקנה מידה גדול מציג אתגרים משלו, במיוחד בכל הנוגע לשיפור הפרודוקטיביות של המדענים המאמנים מודלים אלה של ML.

בפוסט זה, אנו משתפים כיצד בנינו מערכת ניהול מסביב אמזון SageMaker משרות הדרכה, המאפשרות למדענים שלנו לירות ולשכוח אלפי ניסויים ולקבל הודעה בעת הצורך. כעת הם יכולים להתמקד במשימות בעלות ערך גבוה ובפתרון שגיאות אלגוריתמיות, ולחסוך 60% מזמנם.

האתגר

ב-Amazon Search, המדענים שלנו פותרים בעיות של אחזור מידע על ידי ניסוי והפעלת מספר רב של עבודות הדרכה במודל ML ב- SageMaker. כדי לעמוד בקצב החדשנות של הצוות שלנו, המורכבות של המודלים שלנו ומספר משרות ההדרכה גדלו עם הזמן. משרות הדרכה של SageMaker מאפשרות לנו להפחית את הזמן והעלות להכשיר ולכוונן את הדגמים הללו בקנה מידה, ללא צורך בניהול תשתית.

כמו כל דבר בפרויקטים כה גדולים של ML, עבודות הכשרה עלולות להיכשל בשל מגוון גורמים. פוסט זה מתמקד במחסור בקיבולת ובכשלים עקב שגיאות אלגוריתמים.

תכננו ארכיטקטורה עם מערכת ניהול עבודה כדי לסבול ולהקטין את ההסתברות של עבודה להיכשל עקב חוסר זמינות קיבולת או שגיאות אלגוריתמים. זה מאפשר למדענים לפטר ולשכוח אלפי עבודות הכשרה, לנסות אותן מחדש אוטומטית על כישלון חולף, ולקבל הודעה על הצלחה או כישלון במידת הצורך.

סקירת פתרונות

בתרשים הפתרון הבא, אנו משתמשים בעבודות הכשרה של SageMaker כיחידה הבסיסית של הפתרון שלנו. כלומר, עבודה מייצגת הכשרה מקצה לקצה של מודל ML.

זרימת העבודה ברמה גבוהה של פתרון זה היא כדלקמן:

  1. מדענים מפעילים ממשק API כדי להגיש עבודה חדשה למערכת.
  2. המשרה רשומה ב- New סטטוס בחנות מטא נתונים.
  3. מתזמן עבודה מאחזר באופן אסינכרוני New משרות מחנות המטא נתונים, מנתח את הקלט שלהן ומנסה להשיק משרות הדרכה של SageMaker עבור כל אחת מהן. הסטטוס שלהם משתנה ל Launched or Failed תלוי בהצלחה.
  4. מוניטור בודק את התקדמות העבודות במרווחי זמן קבועים ומדווח עליהן Completed, Failed, או InProgress מצב במאגר המטא נתונים.
  5. מודיע מופעל לדווח 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 or Failed תלוי בהצלחה.
  • מעקב אחר עבודות - פונקציה זו עוקבת מעת לעת אחר התקדמות העבודה באמצעות ה תאר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 מפעיל פרויקטים של למידת מכונה בקנה מידה גדול ועמיד עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.לווצ'או וואנג הוא מהנדס תוכנה ב-Amazon Search. הוא מתמקד במערכות מבוזרות ניתנות להרחבה וכלי אוטומציה בענן כדי להאיץ את קצב החדשנות המדעית עבור יישומי Machine Learning.

איך Amazon Search מפעיל פרויקטים של למידת מכונה בקנה מידה גדול ועמיד עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אישהאן בהט הוא מהנדס תוכנה בצוות Amazon Prime Video. הוא עובד בעיקר בתחום MLOps ויש לו ניסיון בבניית מוצרי MLOps במשך 4 השנים האחרונות באמצעות Amazon SageMaker.

איך Amazon Search מפעיל פרויקטים של למידת מכונה בקנה מידה גדול ועמיד עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אבהיננדאן פאטני הוא מהנדס תוכנה בכיר ב-Amazon Search. הוא מתמקד בבניית מערכות וכלים לאימון למידה מבוזר ניתנת להרחבה והסקת מסקנות בזמן אמת.

איך Amazon Search מפעיל פרויקטים של למידת מכונה בקנה מידה גדול ועמיד עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אימן אלנהראווי הוא מהנדס תוכנה ראשי ב-Amazon Search המוביל את המאמצים בנושא האצה, קנה מידה ואוטומציה של למידת מכונה. המומחיות שלה משתרעת על תחומים רבים, כולל למידת מכונה, מערכות מבוזרות והתאמה אישית.

איך Amazon Search מפעיל פרויקטים של למידת מכונה בקנה מידה גדול ועמיד עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.סופיאן חמיטי הוא מומחה AI / ML לאדריכל פתרונות ב- AWS. הוא עוזר ללקוחות בענפים להאיץ את מסע ה- AI / ML שלהם בכך שהוא עוזר להם לבנות ולהפעיל פתרונות למידת מכונה מקצה לקצה.

רומי דאטהד"ר רומי דאטה  הוא מנהל בכיר של ניהול מוצר בצוות Amazon SageMaker האחראי על הדרכה, עיבוד וחנות תכונות. הוא נמצא ב-AWS למעלה מ-4 שנים, מחזיק במספר תפקידי מנהיגות בניהול מוצר ב-SageMaker, S3 ו-IoT. לפני AWS הוא עבד בתפקידי ניהול מוצר, הנדסה ומנהיגות תפעולית שונים ב-IBM, Texas Instruments ו-Nvidia. יש לו תואר שני ודוקטורט. בהנדסת חשמל ומחשבים מאוניברסיטת טקסס באוסטין, ותואר שני במנהל עסקים מבית הספר לעסקים של אוניברסיטת שיקגו.

איך Amazon Search מפעיל פרויקטים של למידת מכונה בקנה מידה גדול ועמיד עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.RJ הוא מהנדס בצוות Search M5 שמוביל את המאמצים לבניית מערכות למידה עמוקה בקנה מידה גדול לאימון והסקת הסקה. מחוץ לעבודה הוא חוקר מאכלים שונים של אוכל ועוסק בספורט מחבט.

בול זמן:

עוד מ למידת מכונות AWS