AICODEAgentic Programming · 67723 · 2026-7

Week 2 · video 3 of 8 · transcript

LLMs: From Predictions to a Chatting Assistant

תרגום שנעשה בעזרת בינה מלאכותית.AI translation, not reviewed by a person.

0:00

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

0:29

בואו נראה את לולאת היצירה רצה, שלב אחר שלב. מתחילים עם ההקשר שכבר קיים. The cat sat on the.

0:38

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

0:49

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

1:11

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

1:19

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

1:32

דוגמים שוב. הפעם הדגימה היא נקודה, ומוסיפים אותה, וזה מסיים את המשפט.

1:40

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

1:54

בואו נעשה את האקראיות הזאת מוחשית. נותנים למודל בדיוק את אותו פרומפט בכל פעם. The cat sat on the.

2:03

מריצים פעם אחת ומקבלים המשך אחד. The cat sat on the mat, the cat slept.

2:09

מריצים את אותו פרומפט שוב, ואפשר לקבל סוף שונה לגמרי.

2:15

הרצה שלישית נותנת המשך נוסף. הקלט וההגדרות זהים, אבל הטוקנים שנדגמו שונים.

2:22

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

2:41

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

2:58

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

3:20

טמפרטורה היא לא אמצעי השליטה היחיד שיש לנו. Top-k שומר מספר שנקבע מראש של הטוקנים בעלי ההסתברות הגבוהה ביותר. Top-p שומר טוקנים עד שמצטברת מספיק הסתברות, לפי סף שנקבע מראש. שניהם מצמצמים את הקבוצה שממנה דוגמים. אמצעי שליטה נוספים כוללים הגבלה על טוקני הפלט, ובחלק מה-APIs, seed אקראי שעוזר לחזור על הרצה. seed הוא לא תמיד ערובה לפלט זהה. אגב, זה קורה כי ה-GPU מבצע הרבה מהחישובים האלה במקביל, והסדר שבו הוא מחבר את המספרים יכול להשתנות מהרצה להרצה. התוצאה שונה בספרות האחרונות, ולפעמים זה מספיק כדי לשנות איזה טוקן ייבחר. נחזור לאמצעי השליטה האלה כשנבצע קריאות למודל בעצמנו.

4:05

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

4:15

איך ניבוי הטוקן הבא יכול לייצר יכולות מועילות כמו חשבון או תרגום? כדי להבין למה, נסתכל על מה שניבוי הטוקן הבא באמת דורש. קחו את המשפט, if three pens cost six dollars, one pen costs. כדי לענות על שאלה כזאת באופן אמין, המודל צריך להשתמש בקשר בין המספרים. כאן התשובה היא שתיים.

4:40

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

4:51

עבור the capital of Japan is, ההמשך הצפוי הוא Tokyo. עובדות שנלמדו באימון עוזרות למודל לנבא את התשובה הזאת.

4:59

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

5:27

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

5:47

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

6:02

כדי לענות, המודל פשוט משלים את הטקסט מיד אחרי סמן ה-assistant האחרון. כאן הוא מנבא it's Tokyo, טוקן אחד בכל פעם, בדיוק כמו שהיה מסיים כל משפט אחר.

6:15

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

6:33

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

6:52

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

7:20

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

7:45

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

8:07

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

8:38

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

9:06

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

9:16

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

9:36

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

9:54

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

10:03

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

10:13

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

10:20

זה נותן לנו דרך להבין את התשובות של הסוכן: איזה מידע היה בחלון, ומה המודל ייצר ממנו? נשתמש בהבחנה הזאת כשנשווה הרצות.

10:30 of video · 1,308 words · 38 slides← Back to the video