פרשת וירא

חיבור בין חכמת התורה למתמטיקה, מדע הנתונים ובינה מלאכותית

מתי להפסיק? אברהם, בעיית העצירה ומודלי השפה של היום

פרשת וירא מספרת את הסיפור המדהים של אברהם שמנהל משא ומתן עם אלוהים על גורל סדום ועמורה. אברהם מוריד את המספר מ-50 ל-45, ל-40, ל-30, ל-20, ל-10 - ואז פתאום עוצר. למה דווקא ב-10? למה לא ביקש 9, 8, או אפילו איש אחד?

השאלה הזו חושפת אחת הבעיות המתמטיות המפורסמות ביותר במדעי המחשב - בעיית העצירה (Halting Problem). אותה דילמה שעמדה בפני אברהם לפני 4000 שנה, מעסיקה היום את מהנדסי הבינה המלאכותית המתקדמים בעולם.

המשא ומתן שמעולם לא הסתיים

"וַיֹּ֣אמֶר לֹ֣א אַשְׁחִ֔ית בַּֽעֲב֖וּר הָֽעֲשָׂרָֽה" (בראשית יח:לב)

אברהם מבצע "אלגוריתם" מתוחכם של מיקוח: 50→45→40→30→20→10. כל פעם הוא מצליח להשיג הסכמה, אז ממשיך לבקש פחות. התהליך עובד בדיוק כמו לולאה תכנותית:

while (מספר_צדיקים > מינימום_אפשרי):
    בקש הקלה
    אם אלוהים מסכים:
        המשך
    אם לא:
        עצור

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

אז למה הוא עוצר ב-10?

בעיית העצירה של טיורינג: מתי תוכנית מפסיקה לרוץ?

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

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

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

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

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

איך ChatGPT יודע מתי לסיים משפט?

הבעיה הזו רלוונטית מאוד היום. כשאתם שואלים שאלה ל-ChatGPT, Claude, או כל מודל שפה מתקדם אחר - איך המערכת יודעת מתי לעצור לכתוב?

המודל עובר על המילים האפשריות אחת אחת:
- "המתמטיקה" (מסתברות: 85%)
- "היא" (מסתברות: 92%)
- "תחום" (מסתברות: 78%)
- "מרתק" (מסתברות: 65%)
- ...

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

המודלים פותרים את זה בכמה דרכים מעניינות:

1. ביטחון סטטיסטי (Confidence Thresholds)

כשהמסתברות של המילה הבאה יורדת מתחת לרף מסוים, המודל "מרגיש" שהוא מתחיל לבדות. זה כמו אברהם שמרגיש שהוא מגיע לגבול הסביר של המשא ומתן.

2. טוקני סיום מיוחדים (End-of-Sequence Tokens)

המודל מאומן לזהות מתי רצף נשמע "סגור" ומלא. זה דומה לאברהם שמרגיש שמספר 10 זה "עגול" ומתאים לסיום.

3. מגבלות חלון הקשר (Context Window Limits)

יש גבול פיזי לאורך התשובה. אבל זה לא באמת פותר את הבעיה - זה רק דוחה אותה.

4. למידה מדפוסי אנושיים

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

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

הדמיון המעמיק: החרדה מפני יותר מדי Assertiveness

יש רובד נוסף לשוני בין אברהם למודלי השפה המודרניים. אברהם עוצר מתוך יראה - הוא חושש שמא יהיה יותר מדי assertive מול אלוהים:

"הִנֵּה־נָ֤א הוֹאַ֨לְתִּי֙ לְדַבֵּ֣ר אֶל־אֲדֹנָ֔י וְאָֽנֹכִ֖י עָפָ֥ר וָאֵֽפֶר" (בראשית יח:כז)

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

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

וכאן עולה שאלה מעניינת: איזה סוג של "עצירה" טוב יותר?

  • האם העצירה האנושית של אברהם, שמבוססת על אינטואיציה נפשית וחברתית?
  • או העצירה המכאנית של מודלי השפה, שמבוססת על דפוסים סטטיסטיים?

הפער בין אלגוריתמים לשיקול דעת

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

  • הקשר הרחב - מה מתאים במצב הזה?
  • יחסי כוחות - איך הוא עומד מול אלוהים?
  • תחושה אסתטית - מה "נשמע נכון"?
  • שיקולים מוסריים - איך רחוק מדי זה רחוק מדי?

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

אבל זה לא באמת אותו דבר. זה הקלדה של שיקול דעת, לא שיקול דעת אמיתי.

נקודה מעניינת עם בעיית העצירה במודלי שפה

האנשים שבנו מודלי השפה "פתרו" את בעיית העצירה שלהם באופן פרגמטי - הם למדו מדוגמאות אנושיות מתי לעצור. אבל זה לא באמת פתרון מתמטי לבעיה.

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

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

הלקח המעמיק: מתי לא להמשיך

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

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

10 זה מספר שנראה הגיוני. 10 זה מינין. 10 זה כמות שיכולה לייצג קהילה אמיתית. 1 זה אולי יותר מדי "הוקי".

זו לא החלטה מתמטית. זו החלטה אסתטית-מוסרית-חברתית.

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

זה לא מושלם, אבל זה עובד. בדיוק כמו אברהם.

סיכום: החכמה העתיקה בעידן הדיגיטלי

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

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

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

כמו שאמר אברהם: יש זמן לבקש, ויש זמן לעצור לבקש.