אמזון SageMaker נקודות קצה מרובות-מודלים (MMEs) מספקים דרך ניתנת להרחבה וחסכונית לפריסת מספר רב של מודלים של למידת מכונה (ML). זה נותן לך את היכולת לפרוס דגמי ML מרובים במיכל הגשה אחד מאחורי נקודת קצה אחת. משם, SageMaker מנהלת טעינה ופריקה של הדגמים ומשאבים קנה מידה בשמך בהתבסס על דפוסי התנועה שלך. תוכל ליהנות משיתוף ושימוש חוזר במשאבי אירוח ומנטל תפעולי מופחת של ניהול כמות גדולה של דגמים.
בחודש נובמבר 2022, MMEs הוסיפו תמיכה עבור GPUs, המאפשר לך להריץ מספר דגמים על התקן GPU יחיד ולהתאים מופעי GPU מאחורי נקודת קצה אחת. זה עונה על הדרישה החזקה של MME למודלים של רשתות עצביות עמוקות (DNN) הנהנות ממחשוב מואץ עם GPUs. אלה כוללים ראייה ממוחשבת (CV), עיבוד שפה טבעית (NLP) ומודלים של בינה מלאכותית. הסיבות לדרישה כוללות את הדברים הבאים:
- דגמי DNN הם בדרך כלל גדולים בגודלם ובמורכבותם וממשיכים לצמוח בקצב מהיר. אם לוקחים מודלים של NLP כדוגמה, רבים מהם עולים על מיליארדי פרמטרים, מה שדורש מעבדי GPU לעמוד בדרישות השהיה נמוכה ותפוקה גבוהה.
- ראינו צורך מוגבר בהתאמה אישית של מודלים אלה כדי לספק חוויות מותאמות אישית למשתמשים בודדים. ככל שכמות המודלים הללו גדלה, יש צורך בפתרון קל יותר לפריסה והפעלת מודלים רבים בקנה מידה.
- מופעי GPU הם יקרים ואתה רוצה לעשות שימוש חוזר במופעים אלה ככל האפשר כדי למקסם את ניצול ה-GPU ולהפחית את עלות התפעול.
למרות שכל הסיבות הללו מצביעות על MMEs עם GPU כאופציה אידיאלית עבור דגמי DNN, מומלץ לבצע בדיקות עומס כדי למצוא את תצורת נקודת הקצה הנכונה שעונה על דרישות מקרה השימוש שלך. גורמים רבים יכולים להשפיע על תוצאות בדיקת העומס, כגון סוג המופע, מספר המופעים, גודל הדגם וארכיטקטורת המודל. בנוסף, בדיקת עומס יכולה לעזור להנחות את אסטרטגיות קנה המידה האוטומטי תוך שימוש במדדים הנכונים במקום בשיטות ניסוי וטעייה איטרטיביות.
מסיבות אלו, הכנו את הפוסט הזה כדי לעזור לך לבצע בדיקות עומס נאותות על MMEs עם GPU ולמצוא את התצורה הטובה ביותר עבור מקרה השימוש שלך ב-ML. אנו חולקים את תוצאות בדיקת העומס שלנו עבור כמה מדגמי ה-DNN הפופולריים ביותר ב-NLP וב-CV המתארחים באמצעות MME בסוגי מופעים שונים. אנו מסכמים את התובנות והמסקנות מתוצאות הבדיקה שלנו כדי לעזור לך לקבל החלטה מושכלת לגבי הגדרת הפריסה שלך. לאורך הדרך, אנו חולקים גם את הגישה המומלצת שלנו לביצוע בדיקות עומס עבור MMEs ב-GPU. הכלים והטכניקה המומלצים קובעים את המספר האופטימלי של דגמים שניתן לטעון לכל סוג מופע ועוזרים לך להשיג את המחיר-ביצועים הטובים ביותר.
סקירת פתרונות
למבוא ל-MMEs ו-MMEs עם GPU, עיין ב צור נקודת קצה מרובת דגמים ו הפעל מספר מודלים של למידה עמוקה ב-GPU עם נקודות קצה מרובי דגמים של Amazon SageMaker. להקשר של בדיקת עומס בפוסט זה, אתה יכול להוריד את הקוד לדוגמה שלנו מה- GitHub ריפו כדי לשחזר את התוצאות או להשתמש בה כתבנית כדי לסמן מודלים משלך. ישנן שתי מחברות המסופקות ב-repo: אחת לדגמי קורות חיים לבדיקת עומס ואחרת ל-NLP. מספר דגמים בגדלים וארכיטקטורות משתנים סומנו על סוגים שונים של מופעי GPU: ml.g4dn.2xlarge, ml.g5.2xlarge ו-ml.p3.2xlarge. זה אמור לספק חתך סביר של ביצועים על פני המדדים הבאים עבור כל מופע וסוג מודל:
- מספר מקסימלי של דגמים שניתן לטעון לזיכרון GPU
- זמן אחזור תגובה מקצה לקצה שנצפה בצד הלקוח עבור כל שאילתת מסקנות
- תפוקה מקסימלית של שאילתות לשנייה שנקודת הקצה יכולה לעבד ללא שגיאה
- מקסימום משתמשים נוכחיים לכל מופע לפני שמציינים בקשה שנכשלה
הטבלה הבאה מפרטת את הדגמים שנבדקו.
השתמש מקרה | שם דגם | גודל על דיסק | מספר פרמטרים |
CV | resnet50 |
100Mb | 25 מ"ר |
CV | convnext_base |
352Mb | 88 מ"ר |
CV | vit_large_patch16_224 |
1.2Gb | 304 מ"ר |
NLP | bert-base-uncased |
436Mb | 109 מ"ר |
NLP | roberta-large |
1.3Gb | 335 מ"ר |
הטבלה הבאה מפרטת את מופעי ה-GPU שנבדקו.
סוג מופע | סוג GPU | מספר מעבדי GPU | זיכרון GPU (GiB) |
ml.g4dn.2xlarge | GPUs של NVIDIA T4 | 1 | 16 |
ml.g5.2xlarge | NVIDIA A10G Tensor Core GPU | 1 | 24 |
ml.p3.2xlarge | NVIDIA® V100 Tensor Core GPU | 1 | 16 |
כאמור, דוגמת קוד ניתן לאמץ לדגמים וסוגי מופעים אחרים.
שים לב שכרגע MME תומכים רק במופעי GPU בודדים. לרשימת סוגי המופעים הנתמכים, עיין ב אלגוריתמים, מסגרות ומופעים נתמכים.
הליך ההשוואה מורכב מהשלבים הבאים:
- אחזר דגם מאומן מראש ממרכז דגם.
- הכן את חפץ הדגם להגשה ב-MME של SageMaker (ראה הפעל מספר מודלים של למידה עמוקה ב-GPU עם נקודות קצה מרובי דגמים של Amazon SageMaker לפרטים נוספים).
- פרוס SageMaker MME על מופע GPU.
- קבע את המספר המרבי של דגמים שניתן לטעון לזיכרון ה-GPU בתוך סף מוגדר.
- השתמש ב-Locst Load Testing Framework כדי לדמות תעבורה שמפעילה באופן אקראי מודלים שנטענו במופע.
- אסוף נתונים ונתח את התוצאות.
- לחלופין, חזור על שלבים 2-6 לאחר הידור של המודל ל- TensorRT.
שלבים 4 ו-5 מחייבים מבט עמוק יותר. דגמים בתוך SageMaker GPU MME נטענים לזיכרון בצורה דינמית. לכן, בשלב 4, אנו מעלים חפץ מודל ראשוני אל שירות אחסון פשוט של אמזון (Amazon S3) והפעל את הדגם כדי לטעון אותו לזיכרון. לאחר ההפעלה הראשונית, אנו מודדים את כמות זיכרון ה-GPU הנצרכת, יוצרים עותק של הדגם הראשוני, מפעילים את העותק של הדגם כדי לטעון אותו לזיכרון, ושוב מודדים את הכמות הכוללת של זיכרון ה-GPU שנצרך. תהליך זה חוזר על עצמו עד שמגיעים לסף אחוז מסוים של ניצול זיכרון GPU. עבור המדד, הגדרנו את הסף ל-90% כדי לספק מאגר זיכרון סביר להסקת מסקנות על אצווה גדולה יותר או השארת מקום לטעינת דגמים אחרים בשימוש פחות תדיר.
הדמיית תעבורת משתמשים
לאחר שקבענו את מספר הדגמים, נוכל להריץ בדיקת עומס באמצעות ה מסגרת לבדיקת עומס ארבה. מבחן העומס מדמה בקשות משתמשים למודלים אקראיים ומודד אוטומטית מדדים כגון זמן השהיית תגובה ותפוקה.
Locust תומך בצורות בדיקת עומס מותאמות אישית המאפשרות לך להגדיר דפוסי תנועה מותאמים אישית. הצורה שבה נעשה שימוש במדד זה מוצגת בתרשים הבא. ב-30 השניות הראשונות, נקודת הסיום מתחממת עם 10 משתמשים במקביל. לאחר 30 שניות, משתמשים חדשים נוצרים בקצב של שניים בשנייה, ומגיעים ל-20 משתמשים בו-זמנית בסימן של 40 שניות. לאחר מכן, נקודת הקצה מסומנת בהתמדה עם 20 משתמשים בו-זמנית עד ל-60 שניות, ובשלב זה לוקוס שוב מתחילה להגדיל משתמשים בשניים בשנייה עד ל-40 משתמשים במקביל. דפוס זה של עלייה ובדיקות יציבות חוזר על עצמו עד שנקודת הקצה מוגדלת ל-200 משתמשים בו זמנית. בהתאם למקרה השימוש שלך, ייתכן שתרצה להתאים את צורת בדיקת העומס ב-locust_benchmark_sm.py כדי לשקף בצורה מדויקת יותר את דפוסי התנועה הצפויים שלך. לדוגמה, אם אתה מתכוון לארח דגמי שפה גדולים יותר, ייתכן שבדיקת עומס עם 200 משתמשים בו-זמנית לא תהיה ריאלית עבור מודל שמתארח במופע בודד, ולכן ייתכן שתרצה להפחית את ספירת המשתמשים או להגדיל את מספר המופעים. ייתכן שתרצה גם להאריך את משך בדיקת העומס כדי לאמוד בצורה מדויקת יותר את יציבות נקודת הקצה על פני תקופה ארוכה יותר.
stages = [
{"duration": 30, "users": 10, "spawn_rate": 5},
{"duration": 60, "users": 20, "spawn_rate": 1},
{"duration": 90, "users": 40, "spawn_rate": 2},
…
]
שים לב שסימנו את נקודת הקצה רק עם מודלים הומוגניים שכולם פועלים על בסיס הגשה עקבי באמצעות PyTorch או TensorRT. הסיבה לכך היא ש-MMEs מתאימים ביותר לאירוח דגמים רבים בעלי מאפיינים דומים, כגון צריכת זיכרון וזמן תגובה. תבניות ההשוואה הניתנות ב- GitHub ריפו עדיין ניתן להשתמש כדי לקבוע אם הגשת מודלים הטרוגניים על MMEs יניב את הביצועים והיציבות הרצויים.
תוצאות בנצ'מרק עבור מודלים של קורות חיים
השתמש במחברת cv-benchmark.ipynb כדי להפעיל בדיקות עומס עבור דגמי ראייה ממוחשבת. אתה יכול להתאים את שם הדגם ופרמטרי סוג המופע שהוכשרו מראש לבדיקת עומס ביצועים בשילובי מודל וסוג מופע שונים. בדקנו בכוונה שלושה דגמי קורות חיים בטווחי גדלים שונים מהקטן לגדול ביותר: resnet50
(25 מיליון), convnext_base
(88 מיליון), ו vit_large_patch16_224
(304 מיליון). ייתכן שיהיה עליך להתאים את הקוד אם תבחר דגם מחוץ לרשימה זו. בנוסף, המחברת מגדירה את צורת תמונת הקלט כברירת מחדל לטנזור תמונה בגודל 224x224x3. זכור להתאים את צורת הקלט בהתאם אם אתה צריך לסמן מודלים שלוקחים תמונה בגודל שונה.
לאחר ריצה על המחברת כולה, תקבל מספר הדמיות של ניתוח ביצועים. השניים הראשונים מפרטים את ביצועי הדגם ביחס להגדלת המשתמשים במקביל. האיורים הבאים הם הדמיות לדוגמה שנוצרו עבור ResNet50
דגם הפועל על ml.g4dn.2xlarge, משווה PyTorch (משמאל) לעומת TensorRT (ימין). גרפי השורה העליונה מציגים את זמן ההשהיה והתפוקה של המודל על ציר ה-y עם מספר גדל והולך של עובדי לקוח בו-זמניים המשתקפים על ציר ה-x. תרשימי העמודות התחתונים מציגים את ספירת הבקשות המוצלחות ונכשלו.
בהסתכלות על כל דגמי הראייה הממוחשבת שבדקנו, ראינו את הדברים הבאים:
- האחזור (במילישניות) גבוה יותר, והתפוקה (בקשות לשנייה) נמוכה יותר עבור דגמים גדולים יותר (
resnet50 > convnext_base > vit_large_patch16_224
). - הגדלת האחזור היא פרופורציונלית למספר המשתמשים ככל שבקשות נוספות עומדות בתור על שרת ההסקות.
- מודלים גדולים צורכים יותר משאבי מחשוב ויכולים להגיע למגבלות התפוקה המקסימליות שלהם עם פחות משתמשים מדגם קטן יותר. זה נצפה עם
vit_large_patch16_224
דגם, אשר רשם את הבקשה הראשונה שנכשלה ב-140 משתמשים בו-זמנית. בהיותו גדול משמעותית משני הדגמים האחרים שנבדקו, היו לו גם את מספר הבקשות הכושלות הכוללות במקביל גבוה יותר. זהו איתות ברור שנקודת הקצה תצטרך להתרחב מעבר למופע בודד אם הכוונה היא לתמוך ביותר מ-140 משתמשים במקביל.
בסוף ריצת המחברת, תקבל גם השוואה מסכמת של דגמי PyTorch לעומת TensorRT עבור כל אחד מארבעת מדדי המפתח. מבדיקת הבנצ'מרק שלנו, כל דגמי ה-CV ראו חיזוק בביצועי המודל לאחר הידור של TensorRT. לוקח את שלנו ResNet50
המודל כדוגמה שוב, זמן ההשהיה ירד ב-32% בעוד התפוקה גדלה ב-18%. למרות שהמספר המרבי של משתמשים בו-זמנית נשאר זהה עבור ResNet50
, שני הדגמים האחרים ראו שניהם שיפור של 14% במספר המשתמשים במקביל שהם יכולים לתמוך בהם. שיפור הביצועים של TensorRT, לעומת זאת, בא על חשבון ניצול זיכרון גבוה יותר, וכתוצאה מכך פחות דגמים שנטענו על ידי MMEs. ההשפעה היא יותר עבור מודלים המשתמשים ברשת עצבית קונבולוציונית (CNN). למעשה, דגם ה-ResNet50 שלנו צרך בערך פי שניים מזיכרון ה-GPU במעבר מ-PyTorch ל-TensorRT, מה שגרם ל-50% פחות דגמים שנטענו (46 לעומת 23). אנו מאבחנים התנהגות זו בהמשך הסעיף הבא.
תוצאות בנצ'מרק עבור מודלים של NLP
עבור דגמי ה-NLP, השתמש במחברת nlp-benchmark.ipynb כדי להפעיל את בדיקת העומס. ההגדרה של המחברת צריכה להיראות דומה מאוד. בדקנו שני דגמי NLP: bert-base-uncased (109M) ו-roberta-large (335M). הדגם המאומן מראש והטוקנייזר מורידים שניהם ממרכז Hugging Face, ומטען הבדיקה נוצר מהטוקנייזר באמצעות מחרוזת דוגמה. ברירת המחדל של אורך הרצף המקסימלי הוא 128. אם אתה צריך לבדוק מחרוזות ארוכות יותר, זכור להתאים את הפרמטר הזה. ריצה דרך מחברת ה-NLP מייצרת את אותה סט של הדמיות: Pytorch (משמאל) לעומת TensorRT (ימין).
מתוך אלה, ראינו יתרון ביצועים אפילו יותר של TensorRT עבור דגמי NLP. לוקח את ה roberta-large
דגם על מופע ml.g4dn.2xlarge, למשל, זמן ההסקה ירד באופן דרמטי מ-180 מילישניות ל-56 מילישניות (שיפור של 70%), בעוד התפוקה השתפרה ב-406% מ-33 בקשות לשנייה ל-167. בנוסף, המספר המרבי של בו-זמנית המשתמשים גדלו ב-50%; בקשות כושלות לא נצפו עד שהגענו ל-180 משתמשים במקביל, לעומת 120 עבור דגם PyTorch המקורי. מבחינת ניצול זיכרון, ראינו דגם אחד פחות נטען עבור TensorRT (מתשעה דגמים לשמונה). עם זאת, ההשפעה השלילית קטנה בהרבה בהשוואה למה שראינו במודלים מבוססי CNN.
ניתוח על ניצול זיכרון
הטבלה הבאה מציגה את הניתוח המלא על ההשפעה על ניצול הזיכרון מ- PyTorch ל- TensorRT. הזכרנו קודם לכן שמודלים מבוססי CNN מושפעים לרעה יותר. ה ResNet50
לדגם היה ירידה של למעלה מ-50% במספר הדגמים שנטענו בכל שלושת סוגי מופעי ה-GPU. Convnext_base
הייתה הפחתה גדולה עוד יותר בכ-70% בכל הלוח. מצד שני, ההשפעה על דגמי השנאים קטנה או מעורבת. vit_large_patch16_224
ו roberta-large
הייתה ירידה ממוצעת של כ-20% ו-3%, בהתאמה, בעוד bert-base-uncased
היה שיפור של כ-40%.
בהסתכלות על כל נקודות הנתונים כמכלול ביחס לביצועים המעולים בהשהייה, תפוקה ואמינות, וההשפעה המינורית על המספר המרבי של דגמים נטענים, אנו ממליצים על מודל TensorRT עבור ארכיטקטורות מודלים מבוססות שנאים. עבור CNNs, אנו מאמינים כי יש צורך בניתוח ביצועי עלויות נוסף כדי לוודא שהתועלת בביצועים עולה על העלות של תשתית אירוח נוספת.
ML Use Case | אדריכלות | שם דגם | סוג מופע | מסגרת | מקסימום דגמים טעונים | הבדל (%) | ממוצע הבדל (%) |
CV | CNN | Resnet50 |
ml.g4dn.2xlarge | PyTorch | 46 | -50% | -50% |
TensorRT | 23 | ||||||
ml.g5.2xlarge | PyTorch | 70 | -51% | ||||
TensorRT | 34 | ||||||
ml.p3.2xlarge | PyTorch | 49 | -51% | ||||
TensorRT | 24 | ||||||
Convnext_base |
ml.g4dn.2xlarge | PyTorch | 33 | -50% | -70% | ||
TensorRT | 10 | ||||||
ml.g5.2xlarge | PyTorch | 50 | -70% | ||||
TensorRT | 16 | ||||||
ml.p3.2xlarge | PyTorch | 35 | -69% | ||||
TensorRT | 11 | ||||||
שַׁנַאי | vit_large_patch16_224 |
ml.g4dn.2xlarge | PyTorch | 10 | -30% | -20% | |
TensorRT | 7 | ||||||
ml.g5.2xlarge | PyTorch | 15 | -13% | ||||
TensorRT | 13 | ||||||
ml.p3.2xlarge | PyTorch | 11 | -18% | ||||
TensorRT | 9 | ||||||
NLP | Roberta-large |
ml.g4dn.2xlarge | PyTorch | 9 | -11% | -3% | |
TensorRT | 8 | ||||||
ml.g5.2xlarge | PyTorch | 13 | 0% | ||||
TensorRT | 13 | ||||||
ml.p3.2xlarge | PyTorch | 9 | 0% | ||||
TensorRT | 9 | ||||||
Bert-base-uncased |
ml.g4dn.2xlarge | PyTorch | 26 | 62% | 40% | ||
TensorRT | 42 | ||||||
ml.g5.2xlarge | PyTorch | 39 | 28% | ||||
TensorRT | 50 | ||||||
ml.p3.2xlarge | PyTorch | 28 | 29% | ||||
TensorRT | 36 |
הטבלאות הבאות מפרטות את תוצאות ההשוואה המלאות שלנו עבור כל המדדים בכל שלושת סוגי מופעי ה-GPU.
ml.g4dn.2xlarge |
||||||||||||
השתמש מקרה | אדריכלות | שם דגם | מספר פרמטרים | מסגרת | מקסימום דגמים טעונים | הבדל (%) | זמן אחזור (אלפיות השנייה) | הבדל (%) | תפוקה (qps) | הבדל (%) | מקסימום משתמשים בו זמנית | הבדל (%) |
CV | CNN | resnet50 |
25 מ"ר | PyTorch | 46 | -50% | 164 | -32% | 120 | 18% | 180 | NA |
TensorRT | 23 | . | 111 | . | 142 | . | 180 | . | ||||
convnext_base |
88 מ"ר | PyTorch | 33 | -70% | 154 | -22% | 64 | 102% | 140 | 14% | ||
TensorRT | 10 | . | 120 | . | 129 | . | 160 | . | ||||
שַׁנַאי | vit_large_patch16_224 |
304 מ"ר | PyTorch | 10 | -30% | 425 | -69% | 26 | 304% | 140 | 14% | |
TensorRT | 7 | . | 131 | . | 105 | . | 160 | . | ||||
NLP | bert-base-uncased |
109 מ"ר | PyTorch | 26 | 62% | 70 | -39% | 105 | 142% | 140 | 29% | |
TensorRT | 42 | . | 43 | . | 254 | . | 180 | . | ||||
roberta-large |
335 מ"ר | PyTorch | 9 | -11% | 187 | -70% | 33 | 406% | 120 | 50% | ||
TensorRT | 8 | . | 56 | . | 167 | . | 180 | . |
ml.g5.2xlarge |
||||||||||||
השתמש מקרה | אדריכלות | שם דגם | מספר פרמטרים | מסגרת | מקסימום דגמים טעונים | הבדל (%) | זמן אחזור (אלפיות השנייה) | הבדל (%) | תפוקה (qps) | הבדל (%) | מקסימום משתמשים בו זמנית | הבדל (%) |
CV | CNN | resnet50 |
25 מ"ר | PyTorch | 70 | -51% | 159 | -31% | 146 | 14% | 180 | 11% |
TensorRT | 34 | . | 110 | . | 166 | . | 200 | . | ||||
convnext_base |
88 מ"ר | PyTorch | 50 | -68% | 149 | -23% | 134 | 13% | 180 | 0% | ||
TensorRT | 16 | . | 115 | . | 152 | . | 180 | . | ||||
שַׁנַאי | vit_large_patch16_224 |
304 מ"ר | PyTorch | 15 | -13% | 149 | -22% | 105 | 35% | 160 | 25% | |
TensorRT | 13 | . | 116 | . | 142 | . | 200 | . | ||||
NLP | bert-base-uncased |
109 מ"ר | PyTorch | 39 | 28% | 65 | -29% | 183 | 38% | 180 | 11% | |
TensorRT | 50 | . | 46 | . | 253 | . | 200 | . | ||||
roberta-large |
335 מ"ר | PyTorch | 13 | 0% | 97 | -38% | 121 | 46% | 140 | 14% | ||
TensorRT | 13 | . | 60 | . | 177 | . | 160 | . |
ml.p3.2xlarge |
||||||||||||
השתמש מקרה | אדריכלות | שם דגם | מספר פרמטרים | מסגרת | מקסימום דגמים טעונים | הבדל (%) | זמן אחזור (אלפיות השנייה) | הבדל (%) | תפוקה (qps) | הבדל (%) | מקסימום משתמשים בו זמנית | הבדל (%) |
CV | CNN | resnet50 |
25 מ"ר | PyTorch | 49 | -51% | 197 | -41% | 94 | 18% | 160 | -12% |
TensorRT | 24 | . | 117 | . | 111 | . | 140 | . | ||||
convnext_base |
88 מ"ר | PyTorch | 35 | -69% | 178 | -23% | 89 | 11% | 140 | 14% | ||
TensorRT | 11 | . 137 | 137 | . | 99 | . | 160 | . | ||||
שַׁנַאי | vit_large_patch16_224 |
304 מ"ר | PyTorch | 11 | -18% | 186 | -28% | 83 | 23% | 140 | 29% | |
TensorRT | 9 | . | 134 | . | 102 | . | 180 | . | ||||
NLP | bert-base-uncased |
109 מ"ר | PyTorch | 28 | 29% | 77 | -40% | 133 | 59% | 140 | 43% | |
TensorRT | 36 | . | 46 | . | 212 | . | 200 | . | ||||
roberta-large |
335 מ"ר | PyTorch | 9 | 0% | 108 | -44% | 88 | 60% | 160 | 0% | ||
TensorRT | 9 | . | 61 | . | 141 | . | 160 | . |
הטבלה הבאה מסכמת את התוצאות בכל סוגי המופעים. המופע ml.g5.2xlarge מספק את הביצועים הטובים ביותר, ואילו המופע של ml.p3.2xlarge בדרך כלל מתפקד נמוך למרות היותו היקר ביותר מבין השלושה. מופעי g5 ו-g4dn מדגימים את הערך הטוב ביותר לעומסי עבודה.
השתמש מקרה | אדריכלות | שם דגם | מספר פרמטרים | מסגרת | סוג מופע | מקסימום דגמים טעונים | הבדל (%) | זמן אחזור (אלפיות השנייה) | הבדל (%) | תפוקה (qps) | הבדל (%) | מקסימום משתמשים בו זמנית |
CV | CNN | resnet50 |
25 מ"ר | PyTorch | ml.g5.2xlarge | 70 | . | 159 | . | 146 | . | 180 |
. | . | . | . | . | ml.p3.2xlarge | 49 | . | 197 | . | 94 | . | 160 |
. | . | . | . | . | ml.g4dn.2xlarge | 46 | . | 164 | . | 120 | . | 180 |
CV | CN | resnet50 |
25 מ"ר | TensorRT | ml.g5.2xlarge | 34 | -51% | 110 | -31% | 166 | 14% | 200 |
. | . | . | . | . | ml.p3.2xlarge | 24 | -51% | 117 | -41% | 111 | 18% | 200 |
. | . | . | . | . | ml.g4dn.2xlarge | 23 | -50% | 111 | -32% | 142 | 18% | 180 |
NLP | שַׁנַאי | bert-base-uncased |
109 מ"ר | פיטורץ ' | ml.g5.2xlarge | 39 | . | 65 | . | 183 | . | 180 |
. | . | . | . | . | ml.p3.2xlarge | 28 | . | 77 | . | 133 | . | 140 |
. | . | . | . | . | ml.g4dn.2xlarge | 26 | . | 70 | . | 105 | . | 140 |
NLP | שַׁנַאי | bert-base-uncased |
109 מ"ר | TensorRT | ml.g5.2xlarge | 50 | 28% | 46 | -29% | 253 | 38% | 200 |
. | . | . | . | . | ml.p3.2xlarge | 36 | 29% | 46 | -40% | 212 | 59% | 200 |
. | . | . | . | . | ml.g4dn.2xlarge | 42 | 62% | 43 | -39% | 254 | 142% | 180 |
לנקות את
לאחר שתסיים את בדיקת העומס שלך, נקה את המשאבים שנוצרו כדי להימנע מחיובים נוספים. המשאבים העיקריים הם נקודות הקצה של SageMaker וקבצי חפצי מודל באמזון S3. כדי להקל עליך, לקבצי המחברת יש את קוד הניקוי הבא שיעזור לך למחוק אותם:
סיכום
בפוסט זה, שיתפנו את תוצאות הבדיקה והניתוח שלנו עבור מודלים שונים של רשתות עצביות עמוקות הפועלות בנקודות קצה מרובי דגמי SageMaker עם GPU. התוצאות והתובנות שחלקנו אמורות לספק חתך סביר של ביצועים על פני מדדים וסוגי מופעים שונים. תוך כדי כך, הצגנו גם את הגישה המומלצת שלנו להפעלת בדיקות בנצ'מרק עבור SageMaker MMEs עם GPU. הכלים והקוד לדוגמה שסיפקנו יכולים לעזור לך להתחיל במהירות את בדיקות הבנצ'מרק שלך ולקבל החלטה מושכלת יותר כיצד לארח בצורה חסכונית מאות דגמי DNN על חומרת מחשוב מואצת. כדי להתחיל בהשוואת דגמים משלך עם תמיכת MME עבור GPU, עיין ב אלגוריתמים, מסגרות ומופעים נתמכים ו GitHub ריפו לדוגמאות ותיעוד נוספים.
על המחברים
ג'יימס וו הוא ארכיטקט פתרונות מומחה בינה מלאכותית/ML בכיר ב-AWS. עוזר ללקוחות לתכנן ולבנות פתרונות AI/ML. עבודתו של ג'יימס מכסה מגוון רחב של מקרי שימוש ב-ML, עם עניין עיקרי בראייה ממוחשבת, למידה עמוקה והרחבת ML ברחבי הארגון. לפני שהצטרף ל-AWS, ג'יימס היה אדריכל, מפתח ומוביל טכנולוגיה במשך למעלה מ-10 שנים, כולל 6 שנים בהנדסה ו-4 שנים בתעשיות שיווק ופרסום.
ויקראם אלנגו הוא ארכיטקט פתרונות מומחה בינה מלאכותית/ML בשירותי האינטרנט של אמזון, שבסיסה בווירג'יניה ארה"ב. Vikram עוזרת ללקוחות תעשיית הפיננסים והביטוח עם עיצוב, מנהיגות מחשבתית לבנות ולפרוס יישומי למידת מכונה בקנה מידה. כרגע הוא מתמקד בעיבוד שפה טבעית, בינה מלאכותית אחראית, אופטימיזציה של מסקנות ושינוי קנה מידה של ML ברחבי הארגון. בזמנו הפנוי הוא נהנה לטייל, לטייל, לבשל ולקמפינג עם משפחתו.
סיימון זמרין הוא אדריכל פתרונות AI / ML שהמוקד העיקרי שלו הוא לעזור ללקוחות להפיק ערך מנכסי הנתונים שלהם. בזמנו הפנוי שמעון נהנה לבלות עם המשפחה, לקרוא מדע בדיוני ולעבוד על פרויקטים שונים של בית DIY.
סאוראב טריקאנדה הוא מנהל מוצר בכיר עבור Amazon SageMaker Inference. הוא נלהב לעבוד עם לקוחות ומוטיבציה היא המטרה של דמוקרטיזציה של למידת מכונה. הוא מתמקד באתגרי ליבה הקשורים לפריסת יישומי ML מורכבים, מודלים של ML מרובי דיירים, אופטימיזציות עלויות והפיכת פריסת מודלים של למידה עמוקה לנגישה יותר. בזמנו הפנוי, סאוראב נהנה לטייל, ללמוד על טכנולוגיות חדשניות, לעקוב אחר TechCrunch ולבלות עם משפחתו.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- Platoblockchain. Web3 Metaverse Intelligence. ידע מוגבר. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/achieve-high-performance-at-scale-for-model-serving-using-amazon-sagemaker-multi-model-endpoints-with-gpu/
- 10
- 100
- 11
- 2022
- 7
- a
- יכולת
- אודות
- מוּאָץ
- נגיש
- לפיכך
- במדויק
- להשיג
- לרוחב
- הוסיף
- תוספת
- נוסף
- בנוסף
- מאומץ
- פרסום
- לאחר
- AI
- AI / ML
- אלגוריתמים
- תעשיות
- מאפשר
- למרות
- אמזון בעברית
- אמזון SageMaker
- אמזון שירותי אינטרנט
- כמות
- אנליזה
- לנתח
- ו
- אחר
- יישומים
- גישה
- בערך
- ארכיטקטורה
- נכסים
- המכונית
- באופן אוטומטי
- מְמוּצָע
- AWS
- בָּר
- מבוסס
- כי
- לפני
- מאחור
- להיות
- תאמינו
- בנצ 'מרק
- מדוד
- בהשוואות
- תועלת
- הטוב ביותר
- מעבר
- גדול
- מיליארדים
- לוּחַ
- לְהַגבִּיר
- תַחתִית
- חיץ
- לִבנוֹת
- ניטל
- מקרה
- מקרים
- האתגרים
- מאפיינים
- חיובים
- תרשים
- תרשימים
- ברור
- לקוחות
- CNN
- קוד
- שילובים
- לעומת
- השוואה
- השוואה
- להשלים
- מורכב
- מורכבות
- מורכב
- לחשב
- המחשב
- ראייה ממוחשבת
- מסקנה
- במקביל
- תְצוּרָה
- עִקבִי
- לצרוך
- מאוכל
- צְרִיכָה
- מכולה
- הקשר
- להמשיך
- ליבה
- עלות
- עלות תועלת
- מכסה
- לַחֲצוֹת
- נוֹכְחִי
- כיום
- מנהג
- לקוחות
- נתונים
- נקודות מידע
- החלטה
- עמוק
- למידה עמוקה
- עמוק יותר
- מחדל
- למסור
- דרישה
- דמוקרטיזציה
- להפגין
- תלוי
- לפרוס
- פריסה
- פריסה
- פריסות
- עיצוב
- רצוי
- למרות
- פרט
- פרטים
- לקבוע
- נחוש
- מפתח
- מכשיר
- אחר
- DIY
- תיעוד
- להורדה
- באופן דרמטי
- דינמי
- כל אחד
- מוקדם יותר
- קל יותר
- או
- נקודת קצה
- הנדסה
- מִפְעָל
- שלם
- שגיאה
- אֲפִילוּ
- דוגמה
- דוגמאות
- עולה על
- צפוי
- יקר
- חוויות
- להאריך
- תמצית
- פָּנִים
- גורמים
- נכשל
- משפחה
- אופנה
- אפשרי
- דמויות
- קבצים
- כספי
- ראשון
- להתמקד
- מרוכז
- מתמקד
- הבא
- מסגרת
- מסגרות
- החל מ-
- מלא
- נוסף
- בדרך כלל
- נוצר
- מייצר
- גנרטטיבית
- AI Generative
- לקבל
- נותן
- מטרה
- הולך
- GPU
- GPUs
- גרפים
- גדל
- מדריך
- יד
- חומרה
- לעזור
- עזרה
- עוזר
- גָבוֹהַ
- גבוה יותר
- המארח
- אירח
- אירוח
- בית
- איך
- איך
- אולם
- HTML
- HTTPS
- טבור
- מאות
- אידאל
- תמונה
- פְּגִיעָה
- מושפעים
- משופר
- השבחה
- in
- לכלול
- כולל
- להגדיל
- גדל
- עליות
- גדל
- בנפרד
- תעשיות
- תעשייה
- להשפיע
- הודעה
- תשתית
- בתחילה
- חדשני
- טכנולוגיות חדשניות
- קלט
- תובנות
- למשל
- ביטוח
- כוונה
- אינטרס
- הציג
- מבוא
- מעורר
- IT
- הצטרפות
- מפתח
- שפה
- גָדוֹל
- גדול יותר
- הגדול ביותר
- חֶבִיוֹן
- מנהיג
- מנהיגות
- למידה
- עזיבה
- אורך
- גבולות
- קו
- רשימה
- רשימות
- לִטעוֹן
- טוען
- עוד
- נראה
- נמוך
- מכונה
- למידת מכונה
- ראשי
- לעשות
- עשייה
- מנהל
- מצליח
- ניהול
- רב
- סימן
- שיווק
- שיווק ופרסום
- מקסימום
- לְהַגדִיל
- מקסימום
- למדוד
- אמצעים
- זכרון
- מוּזְכָּר
- שיטות
- מדדים
- קטין
- מעורב
- ML
- מודל
- מודלים
- יותר
- רוב
- הכי פופולארי
- מוטיבציה
- MS
- מספר
- שם
- טבעי
- עיבוד שפה טבעית
- צורך
- שלילי
- באופן שלילי
- רשת
- רשת עצבית
- חדש
- NLP
- מחברה
- נוֹבֶמבֶּר
- מספר
- מספרים
- ONE
- פועל
- מבצעי
- אופטימיזציה
- אופטימלית
- אפשרות
- מְקוֹרִי
- אחר
- בחוץ
- מקיף
- שֶׁלוֹ
- שלום
- פרמטר
- פרמטרים
- לוהט
- תבנית
- דפוסי
- אָחוּז
- לְבַצֵעַ
- ביצועים
- ביצוע
- תקופה
- לבחור
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- נקודה
- נקודות
- פופולרי
- אפשרי
- הודעה
- קוֹדֶם
- יְסוֹדִי
- קודם
- תהליך
- תהליך
- המוצר
- מנהל מוצר
- פרויקטים
- תָקִין
- לספק
- ובלבד
- מספק
- גם
- פיטורך
- כמות
- רמפה
- משתולל
- אקראי
- רכס
- מהיר
- ציון
- לְהַגִיעַ
- הגיע
- הגעה
- קריאה
- סביר
- סיבות
- להמליץ
- מוּמלָץ
- מוקלט
- להפחית
- מופחת
- לשקף
- משתקף
- דרישת שלום
- קָשׁוּר
- אמינות
- לזכור
- לחזור על
- חזר
- לבקש
- בקשות
- דרישות
- דורש
- משאבים
- תגובה
- אחראי
- וכתוצאה מכך
- תוצאות
- הפעלה
- ריצה
- בעל חכמים
- SageMaker Inference
- אותו
- להרחבה
- סולם
- דרוג
- מדע בדיוני
- שְׁנִיָה
- שניות
- סעיף
- לחצני מצוקה לפנסיונרים
- רצף
- שירותים
- הגשה
- סט
- התקנה
- כמה
- צוּרָה
- צורות
- שיתוף
- משותף
- שיתוף
- צריך
- לְהַצִיג
- הראה
- הופעות
- צד
- לאותת
- באופן משמעותי
- דומה
- סיימון
- פָּשׁוּט
- יחיד
- מידה
- גדל
- קטן
- קטן יותר
- פִּתָרוֹן
- פתרונות
- כמה
- מֶרחָב
- מומחה
- מפורט
- הוצאה
- יציבות
- החל
- נשאר
- יציב
- שלב
- צעדים
- עוד
- אחסון
- אסטרטגיות
- חזק
- מוצלח
- כזה
- לסכם
- סיכום
- מעולה
- תמיכה
- נתמך
- תומך
- שולחן
- לקחת
- נטילת
- TechCrunch
- טכנולוגיות
- טכנולוגיה
- תבנית
- תבניות
- מונחים
- מבחן
- בדיקות
- השמיים
- שֶׁלָהֶם
- לכן
- מחשבה
- מנהיגות מחשבתית
- שְׁלוֹשָׁה
- סף
- דרך
- תפוקה
- זמן
- ל
- יַחַד
- כלים
- חלק עליון
- סה"כ
- תְנוּעָה
- נסיעה
- מִשׁפָּט
- פעמים
- סוגים
- בדרך כלל
- ארה"ב
- להשתמש
- במקרה להשתמש
- משתמש
- משתמשים
- ערך
- שונים
- וירג'יניה
- חזון
- אחריות
- אינטרנט
- שירותי אינטרנט
- מה
- אם
- אשר
- בזמן
- כל
- רָחָב
- טווח רחב
- יצטרך
- בתוך
- לְלֹא
- תיק עבודות
- עובדים
- עובד
- היה
- שנים
- תְשׁוּאָה
- אתה
- זפירנט