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


וקטורי הטמעה הם טכנולוגיה מרשימה

“מלך - גבר + אישה = מלכה.”

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

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

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

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

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

זה לא עובד. הדרך הבטוחה ביותר לדעת זאת היא לנסות.


AILEV: ניסינו

פרויקט GEUL התחיל במקור בשם AILEV.

AI Language Embedding Vector.

השם עצמו הצהיר על המטרה: שפת בינה מלאכותית שמתפעלת ישירות וקטורי הטמעה.

הרעיון היה כזה:

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

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

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

זה היה אלגנטי. בתיאוריה.


למה זה נכשל

סידור מחדש שרירותי של וקטורים שובר את המודל

וקטורי ההטמעה של LLM הם תוצר של אימון.

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

מה קורה אם מכריזים “128 הממדים הראשונים הם לישויות”?

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

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

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

סידור מחדש ללא שבירה פירושו בניית המודל מחדש

אז למה לא לאמן מאפס עם האילוץ “128 הממדים הראשונים לישויות”?

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

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

המאמץ גדול מדי.

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

פרשנות בלתי אפשרית

נניח שאכן הצלחנו ליצור וקטור מובנה. וקטור בן 512 ממדים. נניח ש-128 הממדים הראשונים הם לישויות.

ערכי קטע הישויות הם [0.23, -0.47, 0.81, 0.12, ...].

איך יודעים אם זה “Samsung Electronics” או “Hyundai Motor”?

צריך למצוא את הוקטור הקרוב ביותר. צריך לחשב דמיון בבסיס נתונים וקטורי. ומקבלים תשובה הסתברותית: “כנראה Samsung Electronics.”

“כנראה.”

וקטורים הם רציפים מטבעם. בין הוקטורים של Samsung Electronics ו-SK Hynix קיימים אינסוף וקטורי ביניים. אף אחד לא יודע מה וקטורי הביניים האלה מייצגים.

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

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


עקרון הקופסה הלבנה

כאן מתגלה בעיית התכנון היסודית.

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

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

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

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

כל דרישה היא “צריך לדעת”. כל דרישה מחייבת ניתנות לפרשנות.

לענות על דרישות קופסה לבנה עם וקטור קופסה שחורה זו סתירה.


ההיגיון של המפנה

המעבר מ-AILEV ל-GEUL לא היה נסיגה. הוא היה הגדרה מחדש של הבעיה.

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

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

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

“Embedding Vector” של AILEV הוסר, ובמקומו בא GEUL — שמשמעותו “כתיבה”. זו הסיבה.


וקטורים לחישוב, שפה לייצוג

אין זו דחייה של וקטורי הטמעה.

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

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

אלו כלים ברמות שונות.

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

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

לכל אחד מקומו.


סיכום

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

GEUL התחיל כ-AILEV (AI Language Embedding Vector). המטרה הייתה ליישר וקטורים ישירות ולהפוך אותם לניתנים לפרשנות. נכשל. משתי סיבות.

יישור שרירותי של וקטורים שובר את הקשרים שהמודל למד. יישור ללא שבירה פירושו בניית המודל מאפס. המאמץ גדול מדי.

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

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

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