צמצם את זמן ההכשרה והעלות של למידה עמוקה עם MosaicML Composer ב-AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

צמצם את זמן ההדרכה והעלות של למידה עמוקה עם MosaicML Composer ב-AWS

בעשור האחרון ראינו מדע למידה עמוקה (DL) שאומץ בקצב אדיר על ידי לקוחות AWS. לפרמטרים הרבים והמאומנים במשותף של מודלים DL יש יכולת ייצוג גדולה שהביאה שיפורים במספר מקרי שימוש של לקוחות, כולל ניתוח תמונה ודיבור, עיבוד שפה טבעית (NLP), עיבוד סדרות זמן ועוד. בפוסט זה, אנו מדגישים אתגרים הנפוצים המדווחים במיוחד באימוני DL, וכיצד ספריית הקוד הפתוח מלחין MosaicML עוזר לפתור אותם.

האתגר עם אימון DL

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

  • משך האימון גדל עם גודל הנתונים. עם מערכי נתונים הצומחים באופן קבוע, זמני ההדרכה והעלויות גדלים גם הם, וקצב הגילוי המדעי מאט.
  • סקריפטים של DL דורשים לעתים קרובות קוד boilerplate, במיוחד מבנה הכפול של לולאה שהוזכר לעיל, שמפצל את מערך הנתונים למיני-אצ'ים ואת ההדרכה לתקופות.
  • פרדוקס הבחירה: מספר מאמרים וספריות לאופטימיזציה של הדרכה מתפרסמים, אך עדיין לא ברור איזה מהם לבדוק קודם, וכיצד לשלב את ההשפעות שלהם.

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

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

היסטורית, האצת אימון DL נעשתה בעיקר על ידי הגדלת מספר המכונות המחשובות איטרציות מודל במקביל, טכניקה הנקראת מקבילות נתונים. למרות שמקביליות נתונים לפעמים מאיצה אימון (לא מובטח כי היא מפריעה להתכנסות, כפי שמודגש ב גויאל וחב'.), זה לא מפחית את עלות העבודה הכוללת. בפועל, הוא נוטה להגדיל אותו, עקב תקורה של תקשורת בין-מכונות ועלות יחידת מכונות גבוהה יותר, מכיוון שמכונות DL מבוזרות מצוידות ברשת מתקדמת וחיבור GPU בתוך השרת.

למרות ש-MosaicML Composer תומך בהקבלת נתונים, פילוסופיית הליבה שלו שונה מתנועת מקביליות הנתונים. מטרתו היא להאיץ את האימונים מבלי להידרש למכשירים נוספים, על ידי חידוש ברמת היישום המדעי. לכן, היא שואפת להשיג חיסכון בזמן שיגרום לחיסכון בעלויות הודות למבנה עמלת תשלום לפי שימוש של AWS.

היכרות עם ספריית הקוד הפתוח MosaicML Composer

MosaicML Composer היא ספריית אימון DL בקוד פתוח שנבנתה במטרה להקל להביא את האלגוריתמים העדכניים ביותר ולחבר אותם למתכונים חדשים שמאיצים את אימון המודלים ועוזרים לשפר את איכות המודל. בזמן כתיבת שורות אלה, הוא תומך ב-PyTorch וכולל 25 טכניקות - שנקראות שיטות בעולם MosaicML - יחד עם מודלים סטנדרטיים, מערכי נתונים ומדדים

מלחין הוא זמין דרך pip:

pip install mosaicml

ניתן לגשת לטכניקות Speedup המיושמות ב-Composer באמצעות ה-API הפונקציונלי שלו. לדוגמה, הקטע הבא מחיל את BlurPool טכניקה ל- TorchVision ResNet:

import logging

from composer import functional as CF
import torchvision.models as models
logging.basicConfig(level=logging.INFO)

model = models.resnet50()
CF.apply_blurpool(model)

לחלופין, אתה יכול גם להשתמש ב-a מאמן כדי ליצור שילוב משלך של טכניקות:

from composer import Trainer
from composer.algorithms import LabelSmoothing, CutMix, ChannelsLast

trainer = Trainer(
    model=.. # must be a composer.ComposerModel
    train_dataloader=...,
    max_duration="2ep",  # can be a time, a number of epochs or batches
    algorithms=[
        LabelSmoothing(smoothing=0.1),
        CutMix(alpha=1.0),
        ChannelsLast(),
    ]
)

trainer.fit()

דוגמאות לשיטות מיושמות ב-Composer

חלק מהשיטות הזמינות ב-Composer הן ספציפיות לראייה ממוחשבת, למשל טכניקות להגדלת תמונה ColOut, לחתוך, או שינוי גודל תמונה פרוגרסיבי. אחרים ספציפיים למידול רצף, כגון חימום באורך רצף or אַלִיבִּי. מעניין לציין שכמה מהם אינם אגנוסטיים למקרה השימוש וניתן ליישם אותם על מגוון רשתות נוירונים של PyTorch מעבר לראייה ממוחשבת ו-NLP. שיטות האצת האימון הגנריות של רשתות עצביות כוללות החלקת תווית, Propprop סלקטיבי, ממוצע משקל סטוכסטי, הקפאת שכבות, ו מזעור מודע לחדות (SAM).

בואו נצלול עמוק לתוך כמה מהם שנמצאו יעילים במיוחד על ידי צוות MosaicML:

  • מזעור מודע לחדות (SAM) הוא מייעל מאשר ממזער הן את פונקציית אובדן המודל והן את החדות שלו על ידי חישוב שיפוע פעמיים עבור כל שלב אופטימיזציה. כדי להגביל את החישוב הנוסף כדי להעניש את התפוקה, ניתן להפעיל SAM מעת לעת.
  • תשומת לב עם הטיות ליניאריות (ALiBi), קיבל השראה מ לחץ וחב'., הוא ספציפי לדגמי רובוטריקים. זה מסיר את הצורך בהטבעות מיקום, ומחליף אותן בהטיה לא נלמדת למשקולות תשומת לב.
  • Propprop סלקטיבי, קיבל השראה מ Jiang et al., מאפשר לך להפעיל הפצה לאחור (האלגוריתמים המשפרים את משקלי המודל על ידי מעקב אחר שיפוע השגיאה שלו) רק ברשומות עם פונקציית אובדן גבוה. שיטה זו עוזרת לך להימנע מחישוב מיותר ועוזרת לשפר את התפוקה.

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

MosaicML Explorer

כדי לכמת את הערך והתאימות של שיטות אימון DL, צוות MosaicML מקיים מגלה ארצות, לוח מחוונים חי ראשון מסוגו המציג עשרות ניסויי אימון DL על פני חמישה מערכי נתונים ושבעה מודלים. לוח המחוונים מצלם את גבול פארטו אופטימלי בפשרה בין עלות/זמן/איכות, ומאפשרת לך לדפדף ולמצוא שילובי שיטות עם ניקוד מוביל - שנקרא לכם מתכונים בעולם MosaicML - עבור מודל ומערך נתונים נתונים. לדוגמה, הגרפים הבאים מראים כי עבור אימון 125M פרמטר GPT2, האימון הזול ביותר השומר על תמיהה של 24.11 מתקבל על ידי שילוב של AliBi, Sequence Length Warmup ו-Scale Schedule, ומגיע לעלות של כ-$145.83 בענן AWS! עם זאת, שים לב שחישוב העלות הזה והבאים הבאים בפוסט זה מבוססים על מחשוב EC2 לפי דרישה בלבד, שיקולי עלות אחרים עשויים להיות רלוונטיים, בהתאם לסביבה ולצרכים העסקיים שלך.

צילום מסך של MosaicML Explorer לאימון GPT-2

הישגים בולטים עם Composer ב-AWS

על ידי הפעלת ספריית ה-Composer ב-AWS, צוות MosaicML השיג מספר תוצאות מרשימות. שים לב שהערכות העלויות המדווחות על ידי צוות MosaicML מורכבות מחיוב מחשוב לפי דרישה בלבד.

סיכום

אתה יכול להתחיל עם Composer בכל פלטפורמה תואמת, מהמחשב הנייד שלך ועד לשרתי ענן גדולים המצוידים ב-GPU. הספרייה כוללת אינטואיטיביות סיור ברוכים הבאים ו תחילת העבודה דפי תיעוד. השימוש ב-Composer ב-AWS מאפשר לך לצבור את מדע אופטימיזציית העלויות של Composer עם שירותי ותכניות ייעול עלויות של AWS, כולל מחשוב ספוט (אמזון, אמזון SageMaker), תכנית חיסכון, כוונון הדגם האוטומטי של SageMaker, ועוד. צוות MosaicML מקיים א הדרכה של מלחין ב-AWS. הוא מספק הדגמה שלב אחר שלב כיצד ניתן לשחזר תוצאות MLPerf ולאמן את ResNet-50 ב-AWS לרמת הדיוק הסטנדרטי של 76.6% מוביל ב-1 דקות בלבד.

אם אתה נאבק עם רשתות עצביות שמתאמנות לאט מדי, או אם אתה מחפש לשמור על עלויות אימון ה-DL שלך בשליטה, נסה את MosaicML ב-AWS וספר לנו מה אתה בונה!


על המחברים

צמצם את זמן ההכשרה והעלות של למידה עמוקה עם MosaicML Composer ב-AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.שאה בנדיש הוא מנהל הנדסה ב-MosaicML, הפועל לגישור למידה עמוקה יעילה עם מערכות מבוזרות בקנה מידה גדול ומחשוב ביצועים. ל-Bandish יש למעלה מעשור של ניסיון בבניית מערכות ללמידת מכונה ויישומים ארגוניים. הוא נהנה לבלות עם חברים ובני משפחה, לבשל ולצפות ב"מסע בין כוכבים" על חוזר להשראה.

צמצם את זמן ההכשרה והעלות של למידה עמוקה עם MosaicML Composer ב-AWS PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אוליבייה קרוצ'אנט הוא אדריכל פתרונות מומחה למידת מכונה ב-AWS, שבסיסה בצרפת. אוליבייה עוזרת ללקוחות AWS - החל מסטארט-אפים קטנים ועד לארגונים גדולים - לפתח ולפרוס יישומי למידת מכונה בדרגת ייצור. בזמנו הפנוי הוא נהנה לקרוא מאמרי מחקר ולחקור את השממה עם חברים ובני משפחה.

בול זמן:

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