אימון מודל (Training)
🆕 את הערך הזה אפשר לקרוא גם בגרסה לגיל 12 או בגרסה למנהלים.
הגדרה
אימון מודל (Training) הוא התהליך שבו מזינים למודל נתוני אימון והוא מכוונן בהדרגה כדי לבצע את המשימה שלו טוב יותר, לפני השימוש בפועל.
💡 דוגמה
כמו תלמיד שפותר אלפי תרגילים ומקבל תיקון על כל טעות, עד שהוא משתפר. במודל גדול זה לוקח שבועות עד חודשים ועולה מיליוני דולרים.
מה קורה למודל בזמן שהוא מתאמן
אימון הוא לולאה שחוזרת על עצמה מיליארדי פעמים, וכל סיבוב שלה מורכב מארבעה צעדים. המודל מקבל דוגמה (או קבוצת דוגמאות) מתוך נתוני האימון ומנסה לנחש את התשובה. פונקציית איבוד (Loss Function) מודדת כמה הניחוש רחוק מהתשובה הנכונה, ומתרגמת את הפער למספר בודד: ככל שהמספר גדול יותר, כך הטעות גדולה יותר. מנגנון בשם התפשטות לאחור (Backpropagation) מחשב לאחור, שכבה אחר שכבה, כמה כל פרמטר במודל תרם לטעות הזו. ולבסוף כל פרמטר מוזז מעט בכיוון שמקטין את הטעות — צעד שנקרא ירידת גרדיאנט (Gradient Descent).
התיקון בכל סיבוב זעיר במכוון. אילו המודל היה מתקן את עצמו במלואו בכל צעד, הוא היה מתנדנד בין הדוגמאות במקום להתכנס על פתרון. במקום זה הוא זז צעד קטנטן לכיוון הנכון, שוב ושוב, עד שהפרמטרים מתייצבים על ערכים שעובדים טוב על כל הדוגמאות יחד.
זה כל הסוד, ואין בו קסם: אף אחד לא מלמד את המודל כללים, ואף אחד לא כותב לו מה לענות. הוא מגיע לכללים בעצמו, דרך מיליארדי תיקונים זעירים שכל אחד מהם, לבדו, כמעט לא משנה דבר.
שלושת השלבים של אימון מודל שפה
מודל שפה מודרני לא עובר אימון אחד אלא שלושה, בזה אחר זה, ולכל אחד מהם תפקיד אחר.
הראשון הוא קדם-אימון (Pre-training). המודל קורא כמויות עצומות של טקסט, ומתאמן על משימה אחת בלבד: לנחש את המילה הבאה. משם מגיע כל הידע שלו על העולם ועל השפה. הגרסה הגדולה של Llama 3 מבית מטא, למשל, עברה קדם-אימון על 15.6 טריליון טוקנים.
השני הוא כוונון מונחה (Fine-tuning). בני-אדם כותבים ידנית דוגמאות של שאלה ותשובה טובה, והמודל לומד מהן להתנהג כעוזר שעונה לעניין, ולא רק כמשלים-טקסט שממשיך את המשפט.
השלישי הוא למידה מחיזוק ממשוב אנושי (RLHF). מדרגים תשובות של המודל מהטובה לפחות-טובה, מאמנים על הדירוגים האלה מודל תגמול נפרד, ואז משתמשים בו כדי לכוון את המודל המקורי. OpenAI תיארה את השיטה במחקר InstructGPT שפורסם ב-2022, ובדוח הטכני של GPT-4 ציינה שגם הוא עבר כוונון בשיטה הזו. השלב הזה הוא שקובע את הנימוס, הזהירות והסגנון של המודל — לא הידע שלו.
שלושת המושגים שחוזרים בכל ריצת אימון
מי שקורא תיאור טכני של אימון נתקל שוב ושוב בשלושה מושגים, וכולם פשוטים למדי.
אצווה (Batch) היא קבוצת דוגמאות שהמודל מעבד יחד לפני שהוא מעדכן את הפרמטרים. מעדכנים לפי קבוצה ולא לפי דוגמה בודדת, כי הממוצע של כמה דוגמאות מייצג את המציאות טוב יותר מדוגמה אחת, וגם כי מעבד גרפי עובד ביעילות רבה יותר על הרבה נתונים בבת אחת.
אפוק (Epoch) הוא מעבר מלא אחד על כל נתוני האימון. בלמידה מפוקחת קלאסית מריצים אפוקים רבים, כי מעבר יחיד על מאגר קטן לא מספיק כדי שהתבניות יתייצבו. בקדם-אימון של מודלי שפה זה דווקא הפוך: הקורפוס כה גדול שדי במעבר אחד עליו, וחזרה על אותם טוקנים נוטה לגרום למודל לשנן אותם במקום להכליל מהם.
קצב למידה (Learning Rate) קובע כמה גדול יהיה כל צעד-תיקון. גדול מדי, והמודל קופץ מעל הפתרון ולא מתכנס. קטן מדי, והאימון נגרר לנצח.
דוגמה מוחשית לשלושתם יחד: AlexNet, הרשת שפתחה את עידן הלמידה העמוקה ב-2012, אומנה 90 אפוקים על 1.2 מיליון תמונות, באצוות של 128 תמונות כל אחת, וקצב הלמידה שלה הורד ידנית פי עשרה בכל פעם שהשיפור נעצר.
כמה עולה לאמן מודל, ולמה
האימון הוא החלק היקר ביותר בחייו של מודל, והמחיר נמדד בעיקר בשעות-חישוב ובחשמל.
כדי להמחיש את הסדר: חברת Lambda העריכה ב-2020 שאימון GPT-3 על מעבד גרפי בודד היה נמשך 355 שנים ועולה כ-4.6 מיליון דולר. מובן שאף אחד לא מאמן כך. מקצרים את הזמן בפיצול העבודה בין אלפי מעבדים גרפיים שרצים במקביל, אבל סך שעות-החישוב נשאר.
מטא פרסמה מספרים מדויקים על Llama 3, וזה מקרה נדיר של שקיפות מלאה. הגרסה הגדולה, בת 405 מיליארד פרמטרים, אומנה על עד 16,000 מעבדים גרפיים מדגם H100, כל אחד בהספק נקוב של 700 ואט. סך החישוב שהושקע בה היה כמעט פי 50 מזה של Llama 2 שקדמה לה.
מכאן נובעת עובדה שקובעת את מבנה השוק כולו. אימון מודל-דגל מאפס דורש מרכז נתונים ייעודי, חשמל שנאמד בכ-11 מגה-ואט למעבדים הגרפיים לבדם — בסדר גודל של עיירה קטנה — ותקציב שרק קומץ חברות בעולם יכולות להעמיד. כל השאר משתמשים במודלים שהחברות האלה מאמנות, או מכווננים אותם.
מה משתבש באמצע ריצת אימון
ריצת אימון של חודשים על אלפי מעבדים היא מערכת שברירית, ולא בגלל התוכנה. כל המעבדים חייבים להתקדם מסונכרנים, ולכן תקלה במעבד בודד עלולה להפיל את כל העבודה בבת אחת.
הנתונים שמטא פרסמה על Llama 3 ממחישים את הסדר. בחלון של 54 ימי קדם-אימון היו 466 הפסקות בעבודה. 47 מהן היו מתוכננות, ו-419 היו בלתי-צפויות. כ-78% מהבלתי-צפויות נבעו מתקלות חומרה, ותקלות במעבדים הגרפיים לבדן היוו 58.7% מהתקלות הבלתי-צפויות. למרות כל זה, יותר מ-90% מהזמן היה זמן אימון אפקטיבי, והתערבות ידנית משמעותית של מהנדס נדרשה רק שלוש פעמים בכל התקופה.
מה שמאפשר את זה נקרא נקודת שמירה (Checkpoint). מדי כמה שעות שומרים עותק מלא של כל הפרמטרים, וכשמשהו נופל חוזרים לנקודה האחרונה במקום להתחיל מאפס. בלי מנגנון כזה, אימון בקנה המידה הזה פשוט לא היה מגיע לסופו.
אימון מאפס מול כוונון עדין: מי עושה מה
רוב הארגונים בעולם לא מאמנים מודל מאפס אף פעם, וגם לא צריכים. אימון מאפס בונה את הידע של המודל מהיסוד, ולכן דורש כמויות ענק של טקסט ושל חומרה. כוונון עדין (Fine-tuning) לוקח מודל שכבר אומן, ומזיז את הפרמטרים שלו במעט כדי להתאים אותו לתחום או למשימה מסוימת — למשל לשפה המקצועית של ענף, או לסגנון המענה של חברה.
ההבדל בסדרי הגודל דרמטי. קדם-אימון נמדד בטריליוני טוקנים, בשבועות עד חודשים, ובאלפי מעבדים גרפיים. כוונון עדין נמדד לרוב באלפי דוגמאות, בשעות עד ימים, ובמעבד גרפי אחד או כמה.
ויש ראיה טובה לכך שהשלב השני משתלם. במחקר InstructGPT, מודל בן 1.3 מיליארד פרמטרים בלבד שעבר כוונון עם משוב אנושי קיבל מבני-אדם העדפה על פני GPT-3 המקורי, שהיה גדול ממנו פי מאה. גודל, מסתבר, אינו מה שקובע לבדו איך מודל מתנהג בפועל.
גרסה פשוטה של הערך, לגיל 12. כל מה שכתוב כאן מופיע גם בערך המלא.
לפני שמודל של בינה מלאכותית מתחיל לעבוד, הוא עובר אימון (Training). באימון נותנים לו דוגמאות, והוא משתפר בהדרגה במשימה שלו.
איך זה עובד? המודל מקבל דוגמה ומנסה לנחש את התשובה. אחר כך בודקים כמה הניחוש רחוק מהתשובה הנכונה, ומתרגמים את הטעות למספר אחד: ככל שהמספר גדול יותר, הטעות גדולה יותר. ואז מזיזים קצת את המספרים הפנימיים של המודל, בכיוון שמקטין את הטעות. ושוב. ושוב. מיליארדי פעמים.
למה רק קצת? זה קצת כמו לקלוע לסל. שחקן שהחטיא ימינה ומתקן חזק מדי, יחטיא בפעם הבאה שמאלה, וימשיך לקפוץ מצד לצד. גם מודל שהיה מתקן את עצמו לגמרי אחרי כל דוגמה היה מתנדנד ולא מתייצב. במקום זה הוא זז צעד קטנטן לכיוון הנכון, שוב ושוב, עד שהמספרים שלו מתייצבים על ערכים שעובדים טוב על כל הדוגמאות יחד.
אף אחד לא כותב למודל כללים, ואף אחד לא אומר לו מה לענות. הכללים מתגבשים מתוך מיליארדי תיקונים זעירים, שכל אחד מהם לבדו כמעט לא משנה דבר.
אימון של מודל גדול הוא מבצע ענק: אלפי מעבדים גרפיים, שבבים שבנויים לחישובים כבדים, עובדים יחד שבועות ואפילו חודשים. לכן רק קומץ חברות מאמנות מודל גדול מאפס. כל השאר משתמשים במודלים שהחברות האלה אימנו, ולפעמים מכווננים אותם קצת. ועוד דבר מפתיע: כשהאימון נגמר, המודל מפסיק ללמוד. כשאתם משוחחים עם עוזר בינה מלאכותית, המספרים הפנימיים שלו לא משתנים בגלל השיחה איתכם. כדי לשנות אותו, צריך אימון חדש.
מה המושג אומר לארגון ולעסק. כל עובדה כאן מופיעה גם בערך המלא.
אימון הוא השלב שבו מודל נבנה: מזינים לו נתונים, והוא מכוונן את הפרמטרים הפנימיים שלו בהדרגה עד שהוא מבצע את המשימה היטב. זה קורה לפני השימוש, ובסופו הפרמטרים ננעלים. המודל שהארגון מפעיל אינו משתנה מהשיחות עם עובדים או לקוחות; כל שינוי בו מחייב ריצת אימון או כוונון חדשה.
ההחלטה שעומדת בפני ארגון אינה "האם לאמן" אלא באיזו רמה. אימון מאפס בונה את הידע של המודל מהיסוד. הוא נמדד בטריליוני טוקנים (יחידות טקסט), בשבועות עד חודשים ובאלפי מעבדים גרפיים, ודורש מרכז נתונים ייעודי ותקציב שרק קומץ חברות בעולם יכולות להעמיד. כוונון עדין (Fine-tuning) לוקח מודל קיים ומזיז את הפרמטרים שלו במעט, כדי להתאים אותו לשפה המקצועית של ענף או לסגנון המענה של חברה: לרוב אלפי דוגמאות, שעות עד ימים, ומעבד גרפי אחד או כמה.
כדאי גם להכיר את שלושת השלבים שמודל שפה מודרני עובר. בקדם-האימון הוא מתאמן לנחש את המילה הבאה, ומשם מגיע הידע שלו. בכוונון על דוגמאות של שאלה ותשובה הוא לומד להתנהג כעוזר. בשלב המשוב האנושי נקבעים הנימוס, הזהירות והסגנון, לא הידע. המשמעות המעשית: כשמודל עונה בסגנון לא מתאים, זו בעיה אחרת מזו של מודל שחסר לו ידע, והיא מטופלת בשלב אחר. וגודל אינו חזות הכל: במחקר InstructGPT, מודל שעבר כוונון עם משוב אנושי קיבל מבני-אדם העדפה על פני GPT-3 המקורי, שהיה גדול ממנו פי מאה.
באימון בקנה מידה גדול, הסיכונים נמצאים בעיקר בריצה עצמה. ריצה ארוכה על אלפי מעבדים היא שברירית, ותקלה במעבד בודד עלולה להפיל את כל העבודה; נקודות שמירה (Checkpoint) מאפשרות לחזור לנקודה האחרונה במקום להתחיל מאפס. טעות עיצובית שמתגלה מאוחר עלולה לחייב להתחיל את כל האימון מחדש, בעלות מלאה. לכן עוקבים אחרי מדדי ביצועים לאורך כל הריצה, ולא רק בסופה.
שאלות שכדאי לשאול ספק, צוות או יועץ:
- האם מדובר באימון מאפס, בכוונון עדין של מודל קיים, או בשימוש במודל כמו שהוא?
- על אילו דוגמאות יכוונן המודל, ומי כתב או בחר אותן?
- הפרמטרים ננעלים בסוף האימון: איך יעודכן המודל כשהמידע שלנו משתנה?
- הבעיה שאנחנו רוצים לפתור היא חוסר ידע, או סגנון והתנהגות? ובאיזה שלב מטפלים בה?
- איך תזהו באמצע הריצה שהיא הולכת לכיוון הלא נכון, ולא רק בסופה?
📬 הגיליון השבועי של Wiki-AI
פעם בשבוע, ביום ראשון: שלושת הדברים החשובים שקרו בעולם הבינה המלאכותית, בעברית פשוטה, וערכים חדשים באנציקלופדיה. לגיליונות
| קדם-אימון | כוונון עדין | |
|---|---|---|
| המטרה | לבנות ידע כללי על שפה ועל העולם | להתאים מודל קיים לתחום או למשימה |
| היקף הנתונים | טריליוני טוקנים | אלפי דוגמאות, לרוב |
| חומרה וזמן | אלפי מעבדים גרפיים, שבועות עד חודשים | מעבד גרפי אחד עד כמה, שעות עד ימים |
| מי עושה זאת | קומץ חברות עם מרכזי נתונים ייעודיים | כמעט כל ארגון, ואף יחידים |
שאלות נפוצות ❓
כמה זמן לוקח לאמן מודל שפה גדול?
אימון מודל-דגל מאפס נמשך שבועות עד חודשים על אלפי מעבדים גרפיים. כוונון עדין של מודל קיים לוקח לרוב שעות עד ימים בלבד.
מה ההבדל בין אימון לכוונון עדין?
אימון מאפס בונה את ידע המודל מהיסוד ודורש טריליוני מילים וחומרה עצומה. כוונון עדין מתאים מודל קיים למשימה, באלפי דוגמאות בלבד.
האם מודל ממשיך ללמוד אחרי שהאימון נגמר?
לא. בסיום האימון הפרמטרים ננעלים, והמודל אינו משתנה משיחות עם משתמשים. שינוי בו מחייב ריצת אימון או כוונון חדשה.
למה אימון מודל AI עולה כל כך הרבה?
העלות היא בעיקר שעות חישוב וחשמל: אלפי מעבדים גרפיים שרצים במקביל שבועות רצופים, בהספק שנאמד במגה-ואטים רבים — כמו עיירה קטנה.