מודל שפה גדול
מודל שפה גדול (באנגלית: Large Language Model; ראשי תיבות: LLM) הוא מודל שפה מבוסס רשת עצבית מלאכותית, בעל מספר רב (לרוב מיליארדים) של פרמטרים (ערכים מספריים העוזרים לאלגוריתם ללמוד).[1] מעבר למספר הפרמטרים, גודלו הגדול של המודל בא לידי ביטוי בשל היותו מאומן על כמויות גדולות של טקסט לא מתויג בשיטת למידה בפיקוח-עצמי (כלומר, למידה שאינה מסתמכת רק על דוגמאות אנושיות). מודלי השפה הגדולים החלו להופיע בסביבות 2018 והם נחשבים לכלי המתפקד היטב במגוון רחב של משימות. עלייתם הביאה לכך שמחקר עיבוד השפה הטבעית עבר להתמקד בפיתוחי מודלים אלו, לאחר שהיה ממוקד באימון מודלים מפוקחים מיוחדים למשימות ספציפיות.
מודלי שפה גדולים למעשה מהווים את ה"מוח" שמאחורי צ'אטבוטים עוצמתיים דוגמת ChatGPT (המבוסס על מודלי GPT-3 ו-GPT-4) ו- Gemini של גוגל, המבוסס על מודל PaLM 2.
מאפיינים
[עריכת קוד מקור | עריכה]על אף שלמונח מודל שפה גדול אין הגדרה פורמלית, הוא לרוב מתייחס למודלי למידה עמוקה הכוללים מיליארדי פרמטרים. מודלים אלו אינם מוכוונים לביצוע משימה ספציפית אחת כמו ניתוח סנטימנט, או זיהוי ישויות (NER), אלא מיועדים לביצוע מגוון רחב של משימות. כיום, מיומנותם של המודלים הגדולים בביצוע משימות, כמו גם מגוון המשימות אותם מסוגלים לבצע, היא פונקציה של כמות המשאבים (נתונים, מספר פרמטרים, כוח מחשוב) אשר שימשו לאימונם.[2]
בעיה נפוצה בקרב מודלי השפה הגדולים היא הפקת תגובות שנדמות להיות הגיוניות, אך הן בעלות תוכן עובדתי שגוי. תופעה זו מכונה "hallucination (הזיה)".[3]
יכולות מגיחות
[עריכת קוד מקור | עריכה]![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/57/LLM_emergent_benchmarks.png/220px-LLM_emergent_benchmarks.png)
יכולות בלתי צפויות שנצפו במודלי שפה גדולים אך לא היו במודלים פשוטים יותר (ולא תוכננו במפורש לתוך המודל) מכונות "יכולות מגיחות" (emergent). יכולות מגיחות, על פי חוקרים, הן כאלו שלא ניתן לחזותן על ידי השלכה מיכולותיהם של מודלים קטנים יותר.[4] יכולות אלו מתגלות, לעיתים, רק לאחר שהמודל הגדול שוחרר באופן פומבי. דוגמאות ליכולות אלו הן פתרון בעיות אריתמטיות רב-שלביות, הצלחה בבחינות אוניברסיטאיות, זיהוי משמעות של מילה,[5] פענוח האלפבית הפונטי הבינלאומי, הבנת מילה משׂוכלת-אותיות ועוד.[6]
ארכיטקטורה ואימון
[עריכת קוד מקור | עריכה]קודם ל-2017, מודלי השפה הגדולים נבנו באמצעות טכניקות רשתות נוירוניות שונות (העיקריות שבהן קרויות RNN ו-LSTM). בהפשטה, למידה בטכניקות האמורות מאפשרת למודל ללמוד ״חוקים״ מקורפוסים גדולים של טקסט ללא התערבות אדם. כך למשל, לאחר שהתאמן על כמות טקסט גדולה, המודל יכול להבחין בין פעלים הנעשים על ידי יחיד לבין אלו הנעשים על ידי רבים, אם הם סמוכים לשמות עצם ברבים (למשל כאשר המילה נגמרת ב״ים״ או ״ות״).[7]
בשנת 2017 קבוצת חוקרים מגוגל פרסמה מאמר המציג ארכיטקטורה חדשה ללמידה עמוקה הקרויה טרנספורמר.[8] ייחוד הארכיטקטורה, מתבטא, בין היתר, ביכולת למצוא את הטוקן (token, מילה או תת-מילה; מילולית: אסימון) בעלת ההסתברות הגבוהה להיות במיקום מסוים במשפט, בהתחשב בכלל הטקסט (ולא רק באמצעות הטקסט שקדם לטוקן).[9] כמו כן, הטרנספורמר מתחשב בכלל הרצף שבטקסט כדי לקבוע אילו מילים הן בעלות חשיבות גבוהה יותר, ולפיהן להשלים את המשך הרצף. ״חשיבותה״ של מילה למשפט היא פועל יוצא של הקשר של אותה מילה לכלל חלקי המשפט. כך למשל, במשפט כמו ״לעלמה יש בובה ורודה״, המילה ״בובה״ היא בעלת חשיבות גבוהה כיוון שהיא קשורה לכל אחת מהמילים האחרות.[7]
בנוסף למשימה זו, המכונה ״השלם את החסר״, מודלי שפה גדולים מאומנים כדי לחזות ולהשלים משפטים שלמים, ולא רק טוקנים. לצורך ההבהרה, טוקן הוא יחידת טקסט שמודל יכול לעבד, לרוב מדובר במילה או חלק ממילה.[10] ישנן מילים המכילות מספר טוקנים, למשל, מודל שפה מסוים יכול לפרק את המילה ״כשהיה״ לשני טוקנים: ״כש״ ו-״היה״.
זמן קצר לאחר הפרסום, הטרנספורמר נעשה לטכניקת הלמידה העמוקה הסטנדרטית עבור נתונים רציפים (כמו טקסט). מודלי השפה הגדולים המוקדמים ביותר שאומנו בארכיטקטורת הטרנספורמר, אומנו על קורפוסים בעלי סדר גודל של מיליארדי מילים. מודל השפה GPT-1, הראשון בסדרת GPT של OpenAI, אומן ב-2018 על קורפוס ספרים המורכב מ-985 מיליון מילים. באותה שנה, מודל השפה BERT של גוגל אומן על שילוב של אותו הקורפוס, יחד עם כל הטקסט המצוי בוויקיפדיה האנגלית, אשר יחדיו כללו סך של כ-3.3 מיליארד מילים.[11] מאז, כמויות הטקסט המשמשות את אימון המודלים הגדולים הגיעו לסדר גודל של טריליוני מילים.[12]
אימון מודלי שפה גדולים נחשב ליקר מאוד. מחקר משנת 2020 העריך את עלות האימון של מודל המורכב מ-1.5 מיליארד פרמטרים ב-1.6 מיליון דולר. זאת בעיקר בשל האנרגיה הנדרשת להפעלת הכוח החישובי לאורך זמן.
פרומפטים
[עריכת קוד מקור | עריכה]פרומפט משמעותו הצגת בעיה שנדרשת פתרון כהנחיה כתובה בשפה אנושית, אותה המודל נדרש להשלים (באמצעות הסקה סטטיסטית). לדוגמה, משימת ניתוח סנטימנט (תיוג טקסט כבעל סנטימנט מסוים, למשל חיובי או שלילי), של ביקורת סרט, יכולה להתבצע באופן הבא:
ביקורת: הסרט הזה גרוע. סנטימנט: שלילי. ביקורת: הסרט הזה נהדר! סנטימנט:
אם המודל משיב "חיובי", אזי שהוא פתר את המשימה בצורה נכונה. טכניקה זו, במסגרתה ניתנת למודל דוגמה או מספר דוגמאות לפתרון המשימה, מכונה למידת מספר-ניסיונות (few-shot learning). טכניקה שאינה כוללת דוגמאות לפתרון, מכונה למידת אפס-ניסיונות (zero-shot learning). דוגמה ללמידת אפס-ניסיונות היא הפרומפט הקצר: "הסנטימנט של הביקורת 'הסרט הזה הוא פנטסטי!' הוא...".
יצירה ואופטימיזציה של הנחיות כאלה מכונה הנדסת פרומפטים, וזו נעשתה פופולרית במיוחד מאז שחרור המודל GPT-3.
חלון ההקשר (Context window)
[עריכת קוד מקור | עריכה]חלון ההקשר של המודל הוא האורך של רצף הטוקנים הארוך ביותר שבו המודל יוכל להשתמש כדי לחזות את הטוקן הבא. אם המודל נדרש לייצר תשובה העולה באורכה על חלון ההקשר, הוא ייאלץ לקצץ את הרצף עד לאורך החלון, או להחיל שינויים אלגוריתמיים מסוימים כדי להתגבר על הבעיה.
חלון ההקשר הסטנדרטי של מודלי שפה גדולים הוא בסדר גודל של בין אלף לכמה עשרות אלפים.[13]
למידת חיזוק באמצעות פידבק אנושי (RLHF)
[עריכת קוד מקור | עריכה]כאמור, מודלי השפה מהונדסים במטרה להשלים את הטוקן הבא, אך לעיתים, משימה זו אינה מביאה את המודל לתוצאה האופטימלית. דוגמה לכך, היא במצב בו המודל אומן על כמות גדולה של טקסט, הכולל עצות רפואיות מקצועיות, אך גם תוכן מפורומים מקוונים ורשתות חברתיות. ייתכן שבמקרה כזה, כמות הטקסט הכולל עצות הרפואיות שניתנו על ידי חובבנים בפורומים תהיה גדולה מכמות הטקסט הרפואי המקצועי. בשל כך, המודל צפוי לספק עצות שגויות בהתבסס על המידע החובבני הנפוץ יותר.
על מנת לפתור בעיה זו, אימון מודלי שפה גדולים כולל פעמים רבות את שלב למידת החיזוק באמצעות פידבק אנושי (RLHF). בשלב זה, נדרש שילובם של בני אדם באימון המודל, למשל על ידי דירוג מספר תשובות שנותן המודל מהטובה לגרועה. הדירוג מאפשר למודל ״להבין״ אילו תשובות רצויות ואילו לא, ולהתאים את עצמו כנדרש.[14]
מטבע הדברים, שלב זה מייקר את הליך האימון, ומהווה את אחת הסיבות לכך שאימון מודלי שפה גדולים מתבצע בעיקר על ידי ארגונים גדולים.[15]
כוונון עדין (Fine-tuning)
[עריכת קוד מקור | עריכה]כוונון עדין הוא פרקטיקה במסגרתה "מכווננים" את מודל השפה הקיים כך שיוכל להתמודד בצורה טובה יותר עם משימה ספציפית. פרקטיקה זו לרוב דורשת החדרת קבוצה חדשה של "משקולות" אימון, המחברות את השכבה הסופית של מודל השפה לפלט של המשימה הספציפית. כוונון זה לרוב בא על חשבון ביצועיו הכלליים של המודל בביצוע יתר המשימות.
על מנת להתמודד עם אובדן היכולות של המודל בשל הכוונון העדין, קיימות טכניקות המאפשרות לצמצם את אחוז הפרמטרים אותם הכוונון משנה. טכניקה פופולרית כזו היא LoRA, המצמצמת את הפרמטרים עליהם מופעל הכוונון לכדי אחוזים בודדים, בעוד יתר הפרמטרים ״מוקפאים״.[16] כך, נשמרות יכולותיו של המודל בביצוע כלל המשימות, ובנוסף הוא מסוגל יהיה לבצע טוב יותר את המשימה החדשה שלמענה כוונן.
מעבר לשיפורים הביצועיים במשימה הספציפית, להליך הכוונון העדין יתרונות נוספים. כך למשל, ההליך מביא לכך שהמודל יענה בצורה ״עקבית״ יותר, ובכך יהיה אמין וצפוי יותר בשימושים פרקטיים, הפחתת תופעת ה״הזיות״ הנפוצה בקרב מודלי שפה גדולים (המצאת מידע שגוי) ואימון על מידע חדש, שייתכן וטרם היה נגיש למודל בעת שאומן.[17]
מודל השלמה ומודל המבצע הוראות (מודל צ'אט)
[עריכת קוד מקור | עריכה]שימוש מרכזי בכוונון עדין הוא הפיכת מודל השלמה, הנועד להשלים טקסט חסר, למודל המבצע הוראות (הידוע גם כמודל צ'אט). מודל ההשלמה, הוא למעשה תצורתו הראשונית של מודל השפה הגדול מיד לאחר שאומן על כמויות הטקסט שקיבל. הסתברותית, המודל כאמור מיועד ״להשלים״ את הטקסט החסר, ולא לענות על שאלות או לבצע הוראות. בשל כך, כאשר מודל כזה יקבל כקלט את השאלה ״מהי בירת מקסיקו?״, הוא עלול להשלים את הטקסט כך: ״מהי בירת צ׳ילה? מהי בירת קולומביה?״ וכו׳.
על אף שבמקרים מסוימים הדבר רצוי, כאשר אנו מעוניינים במודל המסוגל לבצע הוראות או לענות על שאלות (כדוגמת ChatGPT), נשתמש בפרקטיקת הכוונון העדין ונזין את המודל בנתונים הכוללים שאלות ותשובות. כוונון זה יגרום למודל להשלים באמצעות תשובה לשאלה או ביצוע הוראה.[18]
במקרים רבים, חברות מפרסמות או מאפשרות שימוש הן במודל ההשלמה, והן במודל המבצע הוראות, לבחירת המשתמש. כך למשל, מודל GPT-3.5 שוחרר כמודל השלמה, אך גרסת הצ'אט שלו זמינה לשימוש באמצעות ChatGPT, או המודל LLaMA 2 של חברת מטא ששוחרר בקוד פתוח הן כמודל השלמה והן כמודל צ'ט.[19] בנוסף, המודל LLaMA 2 שוחרר בגרסה ייעודית לכתיבת קוד, ולשם כך כוונן על חצי טריליון טוקנים של קטעי קוד.[20]
אקראיות
[עריכת קוד מקור | עריכה]מודלי השפה הגדולים מאופיינים בכך שניתן לכוון את ערכי אקראיות התגובות שלהם. לצורך הדגמת המשמעות, נניח שמודל נדרש להשלים את המשפט "המחשב מונח על ה...". בבואו לבחור את הטוקן הבא, בפני המודל כלל הטוקנים בלקסיקון וההסתברויות של כל אחד מהם להמשיך את הרצף, לדוגמה: ״שולחן: 0.5, רצפה: 0.25, מיטה: 0.2, מדף: 0.05״. המודל צפוי לבחור בהסתברות של 50% את המילה שולחן, 25% רצפה וכן הלאה. הערכים הבאים מאפשרים לשלוט בתוצאה האמורה:
טמפרטורה
[עריכת קוד מקור | עריכה]פרמטר המקבל ערך בין 0 ל-1. משמעות הטמפרטורה, היא אקראיות התגובה שהמודל יפיק, כאשר טמפרטורה נמוכה תוביל לתוצאות יותר דטרמיניסטיות (קרות) וטמפרטורה גבוהה תביא לתגובות מיוחדות ומפתיעות יותר (חמות).[21] בדוגמה לעיל, בטמפרטורה נמוכה הסבירות למילה ״שולחן״ תהיה גבוהה במיוחד, ובטמפרטורה חמה הסבירות ליתר המילים תגדל.
כוונון הטמפרטורה מאפשר ליצור איזון בין יצירת טקסט מגוון ויצירתי, לבין טקסט קוהרנטי ששומר על הקשרו. כך לדוגמה, בבקשה לכתיבת שיר כדאי להשתמש בטמפרטורה גבוהה כדי לעודד בחירות מילים יצירתיות ובלתי צפויות. לעומת זאת, בכתיבת מסמך רשמי, העדיפות היא להשתמש בטמפרטורה נמוכה יותר כדי להבטיח טקסט קוהרנטי והגיוני.
Top-K
[עריכת קוד מקור | עריכה]מספר הטוקנים מהם יוכל המודל לבחור את השלמת הרצף (בעלי ההסתברות הגבוהה ביותר). בדוגמה לעיל, בהנחה שערכו של Top-K הוא 3, המודל יוכל להשלים את המשפט רק באמצעות המילים ״שולחן״, ״רצפה״ ו״מיטה״.[22]
Top-P
[עריכת קוד מקור | עריכה]ההסתברות אותה נדרשים הטוקנים האפשריים לכסות. בדוגמה שלפנינו, במקרה ש-Top-P הוא 0.6, הטוקן שעמו ישלים המודל את המשפט יהיה מוגבל ל״שולחן״ ו״רצפה״, מאחר שההסתברות המצטברת שלהם היא 0.75.
רשימה חלקית של מודלי שפה גדולים
[עריכת קוד מקור | עריכה]נכון לתחילת 2023, מודלי שפה גדולים הם לרוב נחלתם של ארגונים גדולים בלבד, וזאת בשל עלות האימון הגבוהה שלהם.[23] בין המודלים המוכרים קיימים:
שם | שנת שחרור | מפתחת | מספר פרמטרים | גודל קורפוס משוער (במספר מילים) |
---|---|---|---|---|
BERT | 2018 | גוגל | 340 מיליון | 3.3 מיליארד |
GPT-2 | 2019 | OpenAI | 1.5 מיליארד | 10 מיליארד |
GPT-3 | 2020 | OpenAI | 175 מיליארד | 499 מיליארד |
Megatron-Turing NLG | 2021 | מיקרוסופט ואנבידיה | 530 מיליארד | 338 מיליארד |
LaMDA | 2022 | גוגל | 137 מיליארד | 1.56 טריליון |
AlexaTM | 2022 | אמזון | 20 מיליארד | 1.3 טריליון |
LLaMA | 2023 | מטא | 175 מיליארד | 1.4 טריליון |
YaLM 100B | 2022 | יאנדקס | 100 מיליארד | 1.7 טריליון |
Chinchilla | 2022 | DeepMind | 70 מיליארד | 1.4 טריליון |
GPT-4 | 2023 | OpenAI | לא ידוע | לא ידוע |
Falcon | 2023 | מכון החדשנות הטכנולוגי של אבו דאבי | 40 מיליארד | טריליון |
PaLM 2 | 2023 | גוגל | 340 מיליארד | 3.6 טריליון |
Claude 2 | 2023 | אנתרופיק | 175 מיליארד | לא ידוע |
Jurassic-2 | 2022 | AI21 Labs | לא ידוע | לא ידוע |
LLaMA 2 | 2023 | מטא | 70 מיליארד | שני טריליון |
קלוד | 2023 | אנת'רופיק | לא ידוע | לא ידוע |
Dicta-LM 2.0 | 2024 | עמותת דיקטה | 13 מיליארד | 190 מיליארד |
הערות שוליים
[עריכת קוד מקור | עריכה]- ^ Kurt Muehmel, What Is a Large Language Model, the Tech Behind ChatGPT?, blog.dataiku.com (באנגלית אמריקאית)
- ^ Bowman, Samuel R. "Eight Things to Know about Large Language Models" (PDF).
{{cite journal}}
: Cite journal requires|journal=
(עזרה) - ^ Ji, Ziwei; Lee, Nayeon; Frieske, Rita; Yu, Tiezheng; Su, Dan; Xu, Yan; Ishii, Etsuko; Bang, Yejin; Dai, Wenliang; Madotto, Andrea; Fung, Pascale (בנובמבר 2022). "Survey of Hallucination in Natural Language Generation" (pdf). ACM Computing Surveys. Association for Computing Machinery. 55 (12): 1–38. doi:10.1145/3571730. נבדק ב-15 בינואר 2023.
{{cite journal}}
: (עזרה) - ^ Wei, Jason; Tay, Yi; Bommasani, Rishi; Raffel, Colin; Zoph, Barret; Borgeaud, Sebastian; Yogatama, Dani; Bosma, Maarten; Zhou, Denny; Metzler, Donald; Chi, Ed H. (31 באוגוסט 2022). "Emergent Abilities of Large Language Models". Transactions on Machine Learning Research (באנגלית). ISSN 2835-8856.
{{cite journal}}
: (עזרה) - ^ "Characterizing Emergent Phenomena in Large Language Models". ai.googleblog.com.
- ^ Ornes, Stephen (16 במרץ 2023). "The Unpredictable Abilities Emerging From Large AI Models". Quanta Magazine.
{{cite web}}
: (עזרה) - ^ 1 2 A Beginner's Guide to Large Language Models, p. 13, NVIDIA (באנגלית)
- ^ Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, Illia Polosukhin, Attention is All you Need, Advances in Neural Information Processing Systems 30, Curran Associates, Inc., 2017
- ^ https://www.researchgate.net/publication/338931711_A_Short_Survey_of_Pre-trained_Language_Models_for_Conversational_AI-A_New_Age_in_NLP
- ^ johnmaeda, LLM AI Tokens, learn.microsoft.com, 2023-05-23 (באנגלית אמריקאית)
- ^ Patel, Ajay; Li, Bryan; Rasooli, Mohammad Sadegh; Constant, Noah; Raffel, Colin; Callison-Burch, Chris (2022). "Bidirectional Language Models Are Also Few-shot Learners". ArXiv (באנגלית).
- ^ Improving language models by retrieving from trillions of tokens, www.deepmind.com (באנגלית)
- ^ What is Context Window for LLMs? - Hopsworks, www.hopsworks.ai (באנגלית)
- ^ Vinija's Notes • Reinforcement Learning from Human Feedback (RLHF), vinija.ai
- ^ Illustrating Reinforcement Learning from Human Feedback (RLHF), huggingface.co
- ^ Edward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, Weizhu Chen, LoRA: Low-Rank Adaptation of Large Language Models, 2021-10-06
- ^ John Willis, Fine-Tuning Large Language Models: Unlocking Their Full Potential, Techstrong.ai, 2023-07-24 (באנגלית אמריקאית)
- ^ Ben Dickson, The complete guide to LLM fine-tuning - TechTalks, bdtechtalks.com, 2023-07-10 (באנגלית אמריקאית)
- ^ "Llama 2". Meta AI (באנגלית). נבדק ב-2023-07-18.
- ^ Introducing Code Llama, an AI Tool for Coding, Meta, 2023-08-24 (באנגלית אמריקאית)
- ^ מדריך: כך תשלטו במודלי שפה, באתר Machine Learning Israel, 2023-04-14
- ^ Top-k & Top-p, Cohere AI (באנגלית)
- ^ Jonathan Vanian,Kif Leswing, ChatGPT and generative AI are booming, but the costs can be extraordinary, CNBC (באנגלית)