כשמשתמשים בקבוצת נתונים כדי לאמן מודל AutoML, Gemini Enterprise Agent Platform מחלקת את הנתונים לשלושה פיצולים: פיצול לאימון, פיצול לאימות ופיצול לבדיקה. המטרה העיקרית כשיוצרים פיצולי נתונים היא לוודא שקבוצת הנתונים לבדיקה מייצגת בצורה מדויקת את נתוני הייצור. כך אפשר לוודא שמדדי ההערכה מספקים אות מדויק לגבי הביצועים של המודל בנתונים מהעולם האמיתי.
בדף הזה מוסבר איך פלטפורמת הסוכנים של Gemini Enterprise משתמשת בקבוצות האימון, האימות והבדיקה של הנתונים שלכם כדי לאמן מודל AutoML. בנוסף, מוסבר בה איך אתם יכולים לשלוט באופן שבו הנתונים שלכם מחולקים בין שלושת המערכים האלה. אלגוריתמים לפיצול נתונים לסיווג ולרגרסיה שונים מאלגוריתמים לפיצול נתונים לתחזיות.
פיצול נתונים לסיווג ולרגרסיה
איך משתמשים בפילוח הנתונים
הפיצולים של הנתונים משמשים בתהליך האימון באופן הבא:
ניסויים של מודלים
קבוצת נתונים לאימון משמשת לאימון מודלים עם שילובים שונים של עיבוד מקדים, ארכיטקטורה ואפשרויות היפר-פרמטרים. Gemini Enterprise Agent Platform מעריך את המודלים האלה ב<b>קבוצת הנתונים לתיקוף</b> כדי לבדוק את האיכות שלהם, וכך מנחה את החיפוש של שילובי אפשרויות נוספים. קבוצת נתונים לתיקוף משמשת גם לבחירת נקודת ביקורת הטובה ביותר מתוך הערכה תקופתית במהלך האימון. Gemini Enterprise Agent Platform משתמשת בפרמטרים ובארכיטקטורות הכי טובים שנקבעו בשלב הכוונון המקביל כדי לאמן שני מודלים משולבים, כמו שמתואר בהמשך.
הערכת מודל
פלטפורמת הסוכנים מאמנת מודל הערכה באמצעות קבוצות האימון והאימות כנתוני אימון. פלטפורמת הסוכנים יוצרת את מדדי הערכת המודל הסופיים במודל הזה באמצעות קבוצת הבדיקה. זו הפעם הראשונה בתהליך שבה נעשה שימוש בקבוצת הבדיקה. הגישה הזו מבטיחה שמדדי ההערכה הסופיים יהיו שיקוף אובייקטיבי של הביצועים של המודל המאומן הסופי בסביבת הייצור.
מודל הצגה
Agent Platform מאמנת מודל עם קבוצות האימון, האימות וקבוצות הנתונים לבדיקה כדי למקסם את כמות נתוני האימון. אפשר להשתמש במודל הזה כדי לבקש תחזיות אונליין או תחזיות באצווה.
פיצול הנתונים שמוגדר כברירת מחדל
כברירת מחדל, Agent Platform משתמשת באלגוריתם של פיצול רנדומלי כדי להפריד את הנתונים לשלושת הפיצולים. Agent Platform בוחרת באופן אקראי 80% משורות הנתונים שלכם לקבוצת נתונים לאימון, 10% לקבוצת נתונים לתיקוף ו-10% לקבוצת נתונים לבדיקה. אנחנו ממליצים להשתמש בחלוקה שמוגדרת כברירת מחדל עבור מערכי נתונים:
- לא משתנה לאורך זמן.
- מאוזן יחסית.
- הנתונים מופצים כמו הנתונים שמשמשים לחיזוי בסביבת הייצור.
כדי להשתמש בחלוקת הנתונים שמוגדרת כברירת מחדל, מאשרים את ברירת המחדל במסוף Google Cloud , או משאירים את השדה split ריק ב-API.
אפשרויות לשליטה בפיצול הנתונים
כדי לקבוע אילו שורות ייבחרו עבור כל פיצול, אפשר להשתמש באחת מהשיטות הבאות:
- פיצול אקראי: מגדירים את אחוזי הפיצול ומקצים את שורות הנתונים באופן אקראי.
- פיצול ידני: בוחרים שורות ספציפיות לשימוש באימון, באימות ובבדיקה בעמודת פיצול הנתונים.
- פיצול כרונולוגי: פיצול הנתונים לפי זמן בעמודה 'זמן'.
צריך לבחור רק אחת מהאפשרויות האלה כשמאמנים את המודל. חלק מהאפשרויות האלה מחייבות שינויים בנתוני האימון (לדוגמה, העמודה של פיצול הנתונים או עמודת הזמן). אם כוללים נתונים לאפשרויות של פיצול נתונים, לא חייבים להשתמש באפשרויות האלה. אפשר עדיין לבחור אפשרות אחרת כשמאמנים את המודל.
פיצול ברירת המחדל הוא לא הבחירה הכי טובה אם:
אתם לא מאמנים מודל חיזוי, אבל הנתונים שלכם רגישים לזמן.
במקרה כזה, כדאי להשתמש בפיצול כרונולוגי או בפיצול ידני שבו הנתונים העדכניים ביותר משמשים כקבוצת נתונים לבדיקה.
נתוני הבדיקה כוללים נתונים מאוכלוסיות שלא יהיו מיוצגות בסביבת הייצור.
לדוגמה, נניח שאתם מאמנים מודל עם נתוני רכישה ממספר חנויות. עם זאת, אתם יודעים שהמודל ישמש בעיקר לחיזויים לגבי חנויות שלא נכללות בנתוני האימון. כדי לוודא שהמודל יכול להכליל חנויות שלא נראו, צריך להפריד בין מערכי הנתונים לפי חנויות. במילים אחרות, קבוצת הנתונים לבדיקה צריכה לכלול רק חנויות ששונות מקבוצת הנתונים לתיקוף, וקבוצת הנתונים לתיקוף צריכה לכלול רק חנויות ששונות מקבוצת הנתונים לאימון.
יש חוסר איזון בין הכיתות.
אם יש לכם הרבה יותר דוגמאות של מחלקה אחת מאשר של מחלקה אחרת בנתוני האימון, יכול להיות שתצטרכו לכלול באופן ידני יותר דוגמאות של המחלקה המיעוטית בנתוני הבדיקה. Agent Platform לא מבצעת דגימה שכבתית, ולכן יכול להיות שקבוצת נתונים לבדיקה תכלול מעט מדי דוגמאות של המחלקה המיעוטית, או אפילו אפס דוגמאות.
חלוקה אקראית
הפיצול האקראי נקרא גם "פיצול מתמטי" או "פיצול חלקי".
כברירת מחדל, אחוזי נתוני האימון שמשמשים לאימון, לאימות ולמערכי הבדיקה הם 80, 10 ו-10 בהתאמה. אם משתמשים ב- Google Cloud console, אפשר לשנות את האחוזים לכל ערך שסכומו 100. אם משתמשים ב-Agent Platform API, צריך להשתמש בשברים שסכומם 1.0.
כדי לשנות את האחוזים (השברים), משתמשים באובייקט FractionSplit כדי להגדיר את השברים.
פלטפורמת Agent בוחרת שורות לפיצול נתונים באופן אקראי, אבל דטרמיניסטי. אם אתם לא מרוצים מהחלוקה של הנתונים שנוצרו, אתם יכולים לפצל את הנתונים באופן ידני או לשנות את נתוני האימון. אימון מודל חדש עם אותם נתוני אימון מוביל לאותו פיצול נתונים.
פיצול ידני
הפיצול הידני נקרא גם "פיצול מוגדר מראש".
עמודה של פיצול נתונים מאפשרת לכם לבחור שורות ספציפיות לשימוש באימון, באימות ובבדיקה. כשיוצרים את נתוני האימון, מוסיפים עמודה שיכולה להכיל אחד מהערכים הבאים (חשוב להקפיד על רישיות):
TRAINVALIDATETESTUNASSIGNED
הערכים בעמודה הזו צריכים להיות אחת משתי הקומבינציות הבאות:
- כל הפריטים הכלולים בתוכניות
TRAIN, VALIDATEו-TEST - רק
TESTו-UNASSIGNED
בכל שורה צריך להיות ערך בעמודה הזו, והוא לא יכול להיות מחרוזת ריקה.
לדוגמה, אם מציינים את כל הקבוצות:
"TRAIN","John","Doe","555-55-5555" "TEST","Jane","Doe","444-44-4444" "TRAIN","Roger","Rogers","123-45-6789" "VALIDATE","Sarah","Smith","333-33-3333"
אם מציינים רק את קבוצת נתונים לבדיקה:
"UNASSIGNED","John","Doe","555-55-5555" "TEST","Jane","Doe","444-44-4444" "UNASSIGNED","Roger","Rogers","123-45-6789" "UNASSIGNED","Sarah","Smith","333-33-3333"
לעמודה שבה מתבצע פיצול הנתונים יכול להיות כל שם עמודה חוקי. סוג ההמרה שלה יכול להיות Categorical (קטגורי), Text (טקסט) או Auto (אוטומטי).
אם הערך של עמודת פיצול הנתונים הוא UNASSIGNED, Agent Platform מקצה באופן אוטומטי את השורה הזו לקבוצת האימון או לקבוצת נתונים לתיקוף.
הגדרת עמודה כעמודת פיצול נתונים במהלך אימון המודל.
חלוקה כרונולוגית
הפיצול הכרונולוגי נקרא גם 'פיצול לפי חותמת זמן'.
אם הנתונים שלכם תלויים בזמן, אתם יכולים להגדיר עמודה אחת כעמודת זמן. Agent Platform משתמשת בעמודה Time (זמן) כדי לפצל את הנתונים. השורות הראשונות משמשות לאימון, השורות הבאות משמשות לאימות והשורות האחרונות משמשות לבדיקה.
Agent Platform מתייחסת לכל שורה כדוגמה עצמאית לאימון עם התפלגות זהה; הגדרת העמודה Time לא משנה את זה. העמודה Time משמשת רק לפיצול מערך הנתונים.
אם מציינים עמודת זמן, צריך לכלול ערך בעמודת הזמן לכל שורה במערך הנתונים. חשוב לוודא שעמודת הזמן מכילה מספיק ערכים שונים, כדי שקבוצות האימות והבדיקה לא יהיו ריקות. בדרך כלל, לפחות 20 ערכים שונים אמורים להספיק.
הנתונים בעמודה Time צריכים להיות באחד מהפורמטים שנתמכים על ידי הטרנספורמציה של חותמת הזמן. עם זאת, בעמודה Time יכולה להיות כל טרנספורמציה נתמכת, כי הטרנספורמציה משפיעה רק על אופן השימוש בעמודה הזו באימון. הטרנספורמציות לא משפיעות על פיצול הנתונים.
אפשר גם לציין את האחוזים של נתוני האימון שמוקצים לכל קבוצה.
הגדרת עמודה כעמודת זמן במהלך אימון המודל.
פיצול נתונים לצורך תחזיות
כברירת מחדל, Agent Platform משתמשת באלגוריתם של פיצול כרונולוגי כדי להפריד את נתוני התחזיות לשלושת פיצולי הנתונים. מומלץ להשתמש בפיצול שמוגדר כברירת מחדל. עם זאת, אם רוצים לשלוט בשורות של נתוני האימון שמשמשות לפיצול מסוים, צריך להשתמש בפיצול ידני.
איך משתמשים בפילוח הנתונים
הפיצולים של הנתונים משמשים בתהליך האימון באופן הבא:
ניסויים של מודלים
קבוצת נתונים לאימון משמשת לאימון מודלים עם שילובים שונים של עיבוד מקדים, ארכיטקטורה ואפשרויות של היפר-פרמטרים. Gemini Enterprise Agent Platform מעריכה את המודלים האלה בקבוצת נתונים לתיקוף כדי לקבוע את האיכות שלהם, וזה עוזר לה לחקור שילובים נוספים של אפשרויות. קבוצת נתונים לתיקוף משמשת גם לבחירת נקודת ביקורת הטובה ביותר מתוך הערכות תקופתיות במהלך האימון. Gemini Enterprise Agent Platform משתמשת בפרמטרים ובארכיטקטורות הטובים ביותר שנקבעו בשלב הכוונון המקביל כדי לאמן שני מודלים משולבים, כמו שמתואר בהמשך.
הערכת מודל
פלטפורמת Agent מאמנת מודל הערכה באמצעות קבוצות האימון והאימות כנתוני אימון. פלטפורמת Agent יוצרת את מדדי הערכת המודל הסופיים במודל הזה באמצעות קבוצת הבדיקה. זו הפעם הראשונה בתהליך שבה נעשה שימוש בקבוצת הבדיקה. הגישה הזו מבטיחה שמדדי ההערכה הסופיים ישקפו באופן אובייקטיבי את רמת הביצועים של המודל הסופי שאומן בסביבת הייצור.
מודל הצגה
Agent Platform מאמן מודל באמצעות קבוצת האימון וקבוצת נתונים לתיקוף. המודל מאומת (כדי לבחור את נקודת הביקורת הטובה ביותר) באמצעות קבוצת נתונים לבדיקה. קבוצת הבדיקה אף פעם לא משמשת לאימון במובן הזה שההפסד מחושב ממנה. אתם משתמשים במודל הזה כדי לקבל מסקנות.
פיצול ברירת מחדל
פיצול הנתונים שמוגדר כברירת מחדל (לפי סדר כרונולוגי) פועל באופן הבא:
- פלטפורמת הסוכנים ממיינת את נתוני האימון לפי תאריך.
- באמצעות אחוזים קבועים מראש (80/10/10), Agent Platform מחלקת את פרק הזמן שמכוסה על ידי נתוני אימון לשלושה בלוקים, אחד לכל קבוצת נתונים לאימון.
- Agent Platform מוסיפה שורות ריקות לתחילת כל סדרת זמנים כדי לאפשר למודל ללמוד משורות שאין להן מספיק היסטוריה (חלון ההקשר). מספר השורות שנוספו הוא גודל חלון ההקשר שהוגדר בזמן האימון.
פלטפורמת הסוכנים משתמשת בכל שורה שהנתונים העתידיים שלה (טווח התחזית) נכללים במלואם באחד ממערכי הנתונים של אותו סט, בהתאם לגודל טווח התחזית שהוגדר בזמן האימון. (Agent Platform משליכה שורות שבהן טווח התחזית משתרע על שני מערכים כדי למנוע דליפת נתונים).
פיצול ידני
עמודה של פיצול נתונים מאפשרת לכם לבחור שורות ספציפיות שישמשו לאימון, לאימות ולבדיקה. כשיוצרים את נתוני האימון, מוסיפים עמודה שיכולה להכיל אחד מהערכים הבאים (חשוב להקפיד על רישיות):
TRAINVALIDATETEST
בכל שורה צריך להיות ערך בעמודה הזו, והוא לא יכול להיות מחרוזת ריקה.
לדוגמה:
"TRAIN","sku_id_1","2020-09-21","10" "TEST","sku_id_1","2020-09-22","23" "TRAIN","sku_id_2","2020-09-22","3" "VALIDATE","sku_id_2","2020-09-23","45"
לעמודה שבה מתבצע פיצול הנתונים יכול להיות כל שם עמודה חוקי. סוג ההמרה שלה יכול להיות Categorical (קטגורי), Text (טקסט) או Auto (אוטומטי).
הגדרת עמודה כעמודת פיצול נתונים במהלך אימון המודל.
חשוב להקפיד להימנע מדליפת נתונים בין סדרות הזמן.