השפה הזו תורגמה אוטומטית ולא נבדקה על ידי אדם.

בינה מלאכותית · מאמר

כיצד מודלים של למידת מכונה מאומנים, מותאמים ומופרסים

פורסם:

בקצרה

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

גרסה זו היא תרגום מכונה של המקור (English). לקריאת המקור

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

אימון: כיצד מודל לומד מנתונים

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

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

אופטימיזציה: כיוונון ואימות המודל

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

ברגע שיש מודל מועמד, הוא מוערך על מערכת בדיקה שמורה - נתונים שהמודל לא ראה במהלך ההכשרה - כדי לייצר מדדי איכות. IBM מתאר שלב זה כהערכת ביצועים באמצעות מדדים כמו דיוק והוגנות על נתונים שלא נראו. המודל אז מוודא כנגד קו בסיס: תיעוד Google Cloud קובע זה מאשר שביצועי הניבוי של המודל טובים יותר מסף מוגדר לפני שהוא רשאי לעבור להשקה.

גרסה: הנחת מודל לתוך ייצור

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

גם Google Cloud וגם Snowflake מתארים קבוצות דומות של דפוסי גרסה, מסוכמות להלן.

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

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

ניטור, סחף והכשרה מחדש

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

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

הכלים מאחורי מחזור החיים

בסקירה הכוללת של IBM על תרגול זה, הידוע בשם MLOps, היא מפרטת קטגוריות כלים שצוותים בדרך כלל מסתמכים עליהם בכל שלב: מסגרות למידת מכונה כמו TensorFlow ו-PyTorch לבניה והכשרה של מודלים, Git לשליטה בגרסה, פלטפורמות CI/CD כמו Jenkins או GitLab CI/CD לאוטומציה של שלבי צינור, ופלטפורמות MLOps ייעודיות כמו Kubeflow או MLflow לתיאום הכשרה, שחרור וניטור על תשתיות ענן כמו AWS, Azure או IBM Cloud.

MLOps היא קבוצה של תרגולים שנועדו ליצור קו הרכבה לבניה וריצה של מודלים של למידת מכונה.

— IBM

שאלות

מה ההבדל בין הכשרה וביצוע אופטימיזציה של מודל למידת מכונה?
הכשרה היא תהליך התאמת פרמטרי המודל לנתונים, בדרך כלל דרך מעברים קדימה, חישוב הפסד ועדכונים מבוססי שיפוע. אופטימיזציה מתייחסת לכיוונון היפרפרמטרים - הגדרות שנבחרות לפני הכשרה, כמו קצב למידה או גודל אצווה - לשיפור הביצועים של המודל המאומן, על פי תיעוד Google Cloud.
מה בדיוק כיוונון היפרפרמטרים משנה?
הוא משנה הגדרות שאינן נלמדות מנתונים במהלך ההכשרה עצמה, כמו קצב למידה, גודל אצווה או מספר עידנים הכשרה, במטרה למצוא את השילוב המייצר ביצועים הטובים ביותר של המודל, על פי תיעוד מפתחי Google.
כיצד מודל משוחרר לייצור?
מודל מאומת מעוטף עם התלויות שלו והיגיון הסקה ומשוחרר לסביבת ייצור כ-API בזמן אמת, משימת דירוג אצווה, טריגר ללא שרת או מודל מוטבע על מכשיר קצה, על פי תיעוד Snowflake.
מדוע מודלים משוחררים זקוקים לניטור לאחר השקה?
דפוסי נתוני ייצור יכולים להשתנות לאורך זמן, מה שמדרדר את הדיוק של המודל - תופעה ש-IBM קוראת לה סחף. ניטור מתמשך משנה סחף זה ויכול להפעיל הכשרה מחדש עם נתונים מעודכנים לשחזור ביצועים.
אילו כלים משמשים בדרך כלל ברחבי מחזור חיים למידת המכונה?
IBM מפרטת מסגרות כמו TensorFlow ו-PyTorch להכשרה, Git לשליטה בגרסה, Jenkins או GitLab CI/CD לאוטומציה של צינור, ו-Kubeflow או MLflow לתיאום הכשרה ושחרור על פלטפורמות ענן.

מקורות

  1. Google Cloud — MLOps: Continuous delivery and automation pipelines in machine learning
  2. IBM — What is MLOps?
  3. Snowflake — What Is Model Deployment in Machine Learning?
  4. Google Developers — ML development phases
  5. GeeksforGeeks — How Does Gradient Descent and Backpropagation Work Together?

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

כתבות קשורות