פרק 45: מודלי שפה לבעיות לא מילוליות

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

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

בשנה האחרונה קורה משהו מאוד מעניין, שאף אחד, כמעט, לא מדבר עליו מחוץ לאקדמיה.

מה אם אותם מודלים שלמדו לכתוב כמו שייקספיר, ילמדו לקרוא גם spreadsheets? מה אם ה-AI שמבין את הדקדוק של השפה האמהרית, יבין גם את ה"דקדוק" של מספרים?

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

LLM גר ברחוב Deep Learning, בבניין של מפורסמים - חיים שם Gemini, קלוד ו-GPT. הם למדו לכתוב, לתרגם, לנהל שיחה, וליצור תמונות.

ברחוב Machine Learning, בבניין עם תריסי פלסטיק שבורים ומזגן מטפטף, גרים האלגוריתמים הקלאסיים. Random Forest, LightGBM ו-XGBoost. השמות האלה אולי לא אומרים לכם כלום, אבל הם אלו שמפעילים את העולם. הם מחליטים אם תקבלו משכנתא, מזהים אם מישהו גונב לכם את האשראי, חוזים כמה מלאי צריך להזמין לסופר. הם עושים את העבודה המלוכלכת, השקטה, והחשובה - של מספרים וטבלאות.

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

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

וה-LLM? בדיוק להיפך. כשמודל שפה נשאל, הוא לא צריך ללמוד כלום. הוא כבר למד. הוא מביא איתו IQ עצום, ומשתמש בו כדי לנבא את התשובה.

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

המסלול הראשון לגשר בין העולמות הוא TabLLM, פתרון די נאיבי שמשתמש ב-serialization (או המרה לטקסט). לוקחים כל שורה בטבלה ופשוט.. כותבים אותה כמשפט באנגלית. במקום שה-AI יראה age=45, city=ny, purchases=3 הוא רואה: הלקוח הזה בן 45, גר בניו-יורק ועשה 3 הזמנות. האם ינטוש?

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

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

זה עובד גם ב-time series (או חיזוי מבוסס זמן). אם יש לכם סדרת טמפרטורות: 15,19,25,28 אפשר להמיר אותם למשהו כמו קר, נוח, חם, חם מאוד. מודלים חדשים כמו TimesFM של גוגל או Chronous של אמזון יודעים לאנקד מספרים גם מבלי לחבר אותם למילים סובייקטיביות. הם מתייחסים לגרפים, כמו זה של הבורסה או של תעבורת האתר שלכם, כאילו הם עוד שפה, עם דקדוק, עם כללים, עם דפוסים צפויים. והמודל, שלמד מאוד שפות, פשוט לומד עוד אחת.

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

בוא נעצור שניה להעריך את האקדמיה, אבל גם להבין את קפיצת המדרגה. זוכרים שדיברנו על מודל קלאסיים? על תקופת האימון, ואז תקופת הכוונון או הקינון שנדרשות כדי להעביר את המודל למצב שבו הוא מוכן לחיזוי? במודלי TabPFN כל תהליך האימון, הבדיקה והחיזוי קורה ב-Forward Pass אחד בודד, מה שנקרא in-context learning. אפס כוונון של hyperparameters, אפס עדכון משקלים (או backpropagation), אפס הנדסת פיצ'רים מוקדמת. פשוט תדחוף איזה דאטה שיש לך, יחד עם הבעיה, ותקבל תחזית.

אוקיי, אז למה כל העולם וחמתו לא משתמש בזה? סקייל. TabPFN סובל ממגבלת Context Window חמורה ביותר. הוא תומך באופן רשמי בכמות פיצית של 10,000 שורות. קצת מעל והוא מתחיל להיחנק. זהו מחיר הארכיטקטורה הכבד של מנגנון ה-Self-Attention, שמסתבך בצורה ריבועית ביחס למספר השורות. זה יוצר גם בעיית שיהוי. אם היינו רגילים ש-XGBoost, שהתאמן על מיליוני רשומות, מחזיר לנו תחזית ב-10 מילישניות, ל-TabPFN צריך לפעמים לחכות שניות. זה לפחות 2 סדרי גודל.

אוקיי אז מתי כן להשתמש?

כשיש לכם בעיית cold-start. למשל מוצר חדש עם 100 לקוחות, או לקוח עם מאה שורות בטבלה. אם תנסו לאמן XGBoost על 100 שורות הוא יצחק לכם בפנים. מודלים קלאסיים פשוט צריכים הרבה data. אבל TabPFN? הוא מביא את הידע מבחוץ. הוא כבר ראה מיליארד טבלאות כאלה. מאה שורות זה המון בשבילו.

מתי עוד להשתמש? כשהמשמעות הסמנטית חשובה. אמרנו, למזלו, XGBoost לא יודע מה זה משכנתא. אם העמודות שלכם מכילות מידע סמנטי - "לחץ דם", "דירוג אשראי" או "שביעות רצון לקוח", ל-LLM יש יתרון מובנה. הוא יודע שלחץ דם גבוה זה רע, ודירוג אשראי גבוה זה טוב. הידע הזה מגיע בחינם.

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

וכשצריכים תשובה עכשיו. לא אחרי שבוע של feature engineering ו-hyperparameter tuning. זורקים את הדאטה ל-TabPFN, מקבלים תשובה תוך שניות, מעולה ל-POC, מספיק למוצרים בתחילת הדרך.

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

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

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

והרעיון השלישי - Explainability. כי מה שחשוב לאנשים שאינם מדעני נתונים הוא להבין. Explainability זה כשה-AI מסביר את עצמו. במקום 78% chrun אפשר לכתוב: "הלקוח הזה בסיכון גבוה לנטישה כי הוא לא ביצע רכישה ב-90 יום האחרונים, הגיש 3 תלונות בפקס ודירוג שביעות הרצון שלו ירד מ-8 ל-4. זה לא יכולת רק של LLM. יש ספריות SHAP ו-LIME שמתחברות ל-XGBoost, אבל LLM נותן להם נופח אנושי יותר. פתאום הפלט הוא לא רק מספר - הוא סיפור, ואנשי עסקים אוהבים סיפורים.

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

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

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

פרק 45: מודלי שפה לבעיות לא מילוליות
האתר Free Podcast מוגש על-ידי