מודל שפה גדול

**מודל שפה גדול** (באנגלית: **Large Language Model**; ראשי תיבות: **LLM**) היא ארכיטקטורה של למידה עמוקה לעיבוד, חיזוי וייצור של שפה אנושית. המודל נשען על מנגנון "תשומת לב" (Attention) המאפשר הבנה עמוקה של הקשר לשוני ודפוסי שפה מתוך כמות גדולה מאד של טקסט שמוזן לו בשלב האימון. מודל השפה מבוסס רשת עצבית מלאכותית, בעל מספר רב (לרוב מיליארדים) של פרמטרים (ערכים מספריים העוזרים לאלגוריתם ללמוד). מעבר למספר הפרמטרים, עוצמתו של המודל בא לידי ביטוי בשל היותו מאומן על כמויות גדולות של טקסט לא מתויג בשיטת למידה בפיקוח עצמי (כלומר, למידה שאינה מסתמכת על מידע שמתוייג ידנית על ידי בני אדם). מודלי השפה הגדולים החלו להופיע בסביבות 2018 והם נחשבים לכלי המתפקד היטב במגוון רחב של משימות. עלייתם הביאה לכך שמחקר עיבוד השפה הטבעית עבר להתמקד בפיתוחי מודלים אלו, לאחר שהיה ממוקד באימון מודלים מפוקחים מיוחדים למשימות ספציפיות.

מודלי שפה גדולים מהווים למעשה את ה"מוח" שמאחורי צ'אטבוטים עוצמתיים דוגמת ChatGPT (המבוסס על מודלי GPT-3 ו-GPT-4) ו-Gemini של גוגל.

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

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

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

## ארכיטקטורה ואימון
לפני 2017, מודלי השפה הגדולים נבנו באמצעות טכניקות רשתות נוירוניות שונות (העיקריות שבהן קרויות RNN ו-LSTM). בהפשטה, למידה בטכניקות האמורות מאפשרת למודל ללמוד "כללים" מקורפוסים גדולים של טקסט ללא התערבות אדם. כך למשל, לאחר שהתאמן על כמות טקסט גדולה, המודל יכול להבחין בין פעלים הנעשים על ידי יחיד לבין אלו הנעשים על ידי רבים, אם הם סמוכים לשמות עצם ברבים (למשל כאשר המילה מסתיימת ב-"ים" או ב-"ות").

### [[טרנספורמר (למידת מכונה)|טרנספורמר]]
בשנת 2017 פרסמה קבוצת חוקרים מגוגל מאמר המציג ארכיטקטורה חדשה ללמידה עמוקה הקרויה "טרנספורמר". ייחודה של הארכיטקטורה מתבטא, בין היתר, ביכולת למצוא את ה"טוקן" (token, מילה או תת-מילה; מילולית: "אסימון") בעלת ההסתברות הגבוהה להיות במיקום מסוים במשפט, בהתחשב בכלל הטקסט (ולא רק באמצעות הטקסט שקדם לטוקן). כמו כן, הטרנספורמר מתחשב בכלל הרצף שבטקסט כדי לקבוע אילו מילים הן בעלות חשיבות גבוהה יותר, ולפיהן להשלים את המשך הרצף. "חשיבותה" של מילה למשפט היא פועל יוצא של הקשר של אותה מילה לכלל חלקי המשפט. כך למשל, במשפט כמו "לעלמה יש בובה ורודה", המילה "בובה" היא בעלת חשיבות גבוהה כיוון שהיא קשורה לכל אחת מהמילים האחרות.

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

זמן קצר לאחר הפרסום, הטרנספורמר נעשה לטכניקת הלמידה העמוקה הסטנדרטית עבור נתונים רציפים (כמו טקסט). מודלי השפה הגדולים המוקדמים ביותר שאומנו בארכיטקטורת הטרנספורמר, אומנו על קורפוסים בעלי סדר גודל של מיליארדי מילים. מודל השפה GPT-1, הראשון בסדרת GPT של OpenAI, אומן ב-2018 על קורפוס ספרים המורכב מ-985 מיליון מילים. באותה שנה, מודל השפה BERT של גוגל אומן על שילוב של אותו הקורפוס, יחד עם כל הטקסט המצוי בוויקיפדיה האנגלית, אשר יחדיו כללו סך של כ-3.3 מיליארד מילים. מאז, כמויות הטקסט המשמשות את אימון המודלים הגדולים הגיעו לסדר גודל של טריליוני מילים.

אימון מודלי שפה גדולים נחשב ליקר מאוד. מחקר משנת 2020 העריך את עלות האימון של מודל המורכב מ-1.5 מיליארד פרמטרים ב-1.6 מיליון דולר. זאת בעיקר בשל האנרגיה הנדרשת להפעלת הכוח החישובי לאורך זמן.

### פרומפטים

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

ביקורת: הסרט הזה נהדר!
סנטימנט:
```
אם המודל משיב "חיובי", אזי הוא פתר את המשימה בצורה נכונה. טכניקה זו, שבמסגרתה ניתנת למודל דוגמה או מספר דוגמאות לפתרון המשימה, מכונה למידת מספר-ניסיונות (few-shot learning). טכניקה שאינה כוללת דוגמאות לפתרון, מכונה למידת אפס-ניסיונות (zero-shot learning). דוגמה ללמידת אפס-ניסיונות היא הפרומפט הקצר: "*הסנטימנט של הביקורת 'הסרט הזה הוא פנטסטי!' הוא...*".

יצירה ואופטימיזציה של הנחיות כאלה מכונה הנדסת פרומפטים, וזו נעשתה פופולרית במיוחד מאז שחרור המודל GPT-3.

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

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

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

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

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

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

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

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

### מודל השלמה ומודל המבצע הוראות (מודל צ'אט)
שימוש מרכזי ב**כוונון עדין** הוא הפיכת מודל השלמה, הנועד להשלים טקסט חסר, למודל המבצע הוראות (הידוע גם כמודל צ'אט). מודל ההשלמה, הוא למעשה תצורתו הראשונית של מודל השפה הגדול מייד לאחר שאומן על כמויות הטקסט שקיבל. הסתברותית, המודל כאמור מיועד "להשלים" את הטקסט החסר, ולא לענות על שאלות או לבצע הוראות. בשל כך, כאשר מודל כזה יקבל כקלט את השאלה "מהי בירת מקסיקו?", הוא עלול להשלים את הטקסט כך: "מהי בירת צ׳ילה? מהי בירת קולומביה?" וכו׳.

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

במקרים רבים, חברות מפרסמות או מאפשרות שימוש הן במודל ההשלמה, והן במודל המבצע הוראות, לבחירת המשתמש. כך למשל, מודל GPT-3.5 שוחרר כמודל השלמה, אך גרסת הצ'אט שלו זמינה לשימוש באמצעות ChatGPT, או המודל LLaMA 2 של חברת מטא ששוחרר בקוד פתוח הן כמודל השלמה והן כמודל צ'ט. בנוסף, המודל LLaMA 2 שוחרר בגרסה ייעודית לכתיבת קוד, ולשם כך כוונן על חצי טריליון טוקנים של קטעי קוד.

## אקראיות
מודלי השפה הגדולים מאופיינים בכך שניתן לכוון את ערכי אקראיות התגובות שלהם. לדוגמה, נניח שמודל נדרש להשלים את המשפט "*המחשב מונח על ה...*". בבואו לבחור את הטוקן הבא, ניצבים בפני המודל כלל הטוקנים בלקסיקון, וההסתברות של כל אחד מהם להמשיך את הרצף, לדוגמה: "שולחן: 0.5, רצפה: 0.25, מיטה: 0.2, מדף: 0.05". המודל צפוי לבחור בהסתברות של 50% את המילה שולחן, 25% רצפה וכן הלאה. הפרמטרים הבאים מאפשרים לשלוט בערכי האקראיות:

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

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

### Top-K
מספר הטוקנים שמהם יוכל המודל לבחור את השלמת הרצף (בעלי ההסתברות הגבוהה ביותר). בדוגמה לעיל, בהנחה שערכו של Top-K הוא 3, המודל יוכל להשלים את המשפט רק באמצעות המילים "שולחן", "רצפה" ו"מיטה".

### Top-P
ההסתברות שאותה הטוקנים האפשריים נדרשים לכסות. בדוגמה שלפנינו, במקרה ש-Top-P הוא 0.6, הטוקן שעימו ישלים המודל את המשפט יהיה מוגבל ל"שולחן" ו"רצפה", מאחר שההסתברות המצטברת שלהם היא 0.75.

## רשימה חלקית של מודלי שפה גדולים
נכון לתחילת 2023, מודלי שפה גדולים הם לרוב נחלתם של ארגונים גדולים בלבד, וזאת בשל עלות האימון הגבוהה שלהם. בין המודלים המוכרים קיימים:

## קישורים חיצוניים

* 
* 
* 
* 
* 
* 
* 
* 
* 
* פרויקט מיוחד: אדם נגד מכונה, חדשות 12
* 
* 
* 

## הערות שוליים

קטגוריה:למידה עמוקה
קטגוריה:עיבוד שפה טבעית