היתכנות

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

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

  • זמינות הנתונים
  • רמת הקושי של הבעיה
  • איכות החיזויים
  • דרישות טכניות
  • עלות

זמינות הנתונים

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

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

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

    לדוגמה, נניח שמודל חוזה אם לקוח ילחץ על כתובת URL, ואחת מהתכונות שבהן נעשה שימוש באימון כוללת את user_age. עם זאת, כשהמודל מציג חיזוי, user_age לא זמין, אולי כי המשתמש עדיין לא יצר חשבון.

  • תקנות. מהן התקנות והדרישות המשפטיות לקבלת הנתונים ולשימוש בהם? לדוגמה, חלק מהדרישות מגדירות מגבלות לאחסון ולשימוש בסוגים מסוימים של נתונים.

‫AI גנרטיבי

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

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

    בטבלה הבאה מוצגים מספר הדוגמאות שנדרשים כדי לשפר את הפלט של מודל בינה מלאכותית גנרטיבית בשיטה נתונה:

  • שיטה מספר הדוגמאות הנדרשות
    הנחיות מאפס 0
    הנחיות עם כמה דוגמאות (few-shot). בערך 10-100 שנ'
    כוונון יעיל בפרמטרים 1 בערך 100 עד 10,000 שנ'
    כוונון עדין ~1000s עד 10,000s (או יותר)
    1 אדפטציה בדירוג נמוך (LoRA) וכוונון של הנחיות.
  • מידע עדכני. אחרי שעברו אימון מראש, למודלים של בינה מלאכותית גנרטיבית יש בסיס ידע קבוע. אם תוכן בדומיין של המודל משתנה לעיתים קרובות, צריך אסטרטגיה לעדכון המודל, למשל:

רמת הקושי של הבעיה

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

  • האם בעיה דומה כבר נפתרה? לדוגמה, האם צוותים בארגון שלכם השתמשו בנתונים דומים (או זהים) כדי לבנות מודלים? האם אנשים או צוותים מחוץ לארגון פתרו בעיות דומות ב-Kaggle או ב-TensorFlow Hub, לצורך מכונה? אם כן, סביר להניח שתוכלו להשתמש בחלקים מהמודל כדי לבנות את המודל שלכם.

  • האם אופי הבעיה קשה? אם אתם מכירים את נקודות ההתייחסות האנושיות לביצוע המשימה, אתם יכולים לדעת מה רמת הקושי של הבעיה. למשל:

    • בני אדם יכולים לסווג את סוג בעל החיים בתמונה ברמת דיוק של כ-95%.
    • בני אדם יכולים לסווג ספרות בכתב יד ברמת דיוק של כ-99%.

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

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

‫AI גנרטיבי

מודלים של בינה מלאכותית גנרטיבית מכילים נקודות חולשה פוטנציאליות שעלולות להגביר את הקושי של בעיה:

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

איכות החיזויים

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

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

האם למודל צריכה להיות איכות חיזוי גבוהה מאוד, כי חיזויים שגויים עולים הרבה כסף? באופן כללי, ככל שאיכות החיזוי הנדרשת גבוהה יותר, כך הבעיה קשה יותר. לצערנו, כשאתם מנסים לשפר את האיכות, פרויקטים בדרך כלל מניבים תשואות נמוכות יותר. לדוגמה, הגדלת מידת הדיוק של מודל מ-99.9% ל-99.99% עשויה להוביל לעלייה של פי 10 בעלות הפרויקט (אם לא יותר).

ככל שאיכות החיזוי עולה, כך עלויות הפרויקט עולות.

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

‫AI גנרטיבי

כשמנתחים פלט של בינה מלאכותית גנרטיבית, כדאי:

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

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

  • איכות הפלט. מהן ההשלכות המשפטיות והכספיות (או ההשלכות האתיות) של תוכן גרוע, כמו תוכן מוטה, גנוב או רעיל?

דרישות טכניות

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

  • זמן אחזור. מהן הדרישות לגבי זמן אחזור? באיזו מהירות צריך להגיש חיזויים?
  • שאילתות לשנייה (QPS). מהן דרישות QPS?
  • שימוש ב-RAM. מהן דרישות ה-RAM לאימון ולהגשה?
  • פלטפורמה. איפה המודל יפעל: אונליין (שאילתות שנשלחות לשרת RPC), ב-WebML (בדפדפן אינטרנט), ODML (בטלפון או בטאבלט) או אופליין (חיזויים שנשמרו בטבלה)?
  • פרשנות. האם החיזויים צריכים להיות ניתנים לפירוש? לדוגמה, האם המוצר צריך לענות על שאלות כמו "למה קטע תוכן ספציפי סומן כספאם?" או "למה נקבע שסרטון מפר את המדיניות של הפלטפורמה?"

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

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

‫AI גנרטיבי

כשעובדים עם בינה מלאכותית גנרטיבית, חשוב לשקול את הדרישות הטכניות הבאות:

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

עלות

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

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

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

  • השערה של העלות. האם המודל יצטרך להסיק מאות או אלפי השערות שעולות יותר מההכנסות שנוצרו?

חשוב לזכור

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