הטמעה וקטורית (Embedding)
הגדרה
הטמעה וקטורית (Embedding) היא ייצוג של מילה, משפט או תמונה כרשימת מספרים, כדי למדוד עד כמה שני פריטים דומים במשמעותם.
💡 דוגמה
הופכים משמעות למספרים. לכן "מלך" ו"מלכה" יוצאים קרובים, וחיפוש חכם מוצא "מכונית" גם כשחיפשתם "רכב".
מה זו הטמעה וקטורית: מקור ב-word2vec, ויחסים סמנטיים כגאומטריה
הטמעה וקטורית (Embedding) היא ייצוג של מילה, משפט, תמונה, או כמעט כל פריט-מידע אחר כרשימת מספרים (וקטור) — כך שמחשב יכול "למדוד" מתמטית עד כמה שני פריטים דומים במשמעות שלהם, לא רק בצורתם החיצונית. הרעיון עצמו לא חדש — ייצוגים מספריים של מילים נחקרו כבר בעשורים קודמים — אבל הוא הפך נפוץ ומעשי ב-2013, עם פרסום שיטת word2vec על ידי חוקרי Google בהובלת טומאש מיקולוב. החידוש המרכזי של word2vec היה שאפשר ללמוד ייצוגים כאלה ישירות מטקסט גולמי, בלי תיוג ידני של אף מילה — המערכת לומדת את המשמעות מתוך ההקשר שבו כל מילה מופיעה, מתוך העיקרון הבלשני הישן שמילים בעלות משמעות דומה נוטות להופיע בהקשרים דומים.
הרעיון המרכזי, שממחיש למה הטמעות שימושיות כל-כך: פריטים בעלי משמעות דומה מקבלים וקטורים "קרובים" זה לזה במרחב מתמטי רב-ממדי, גם אם המילים עצמן שונות לחלוטין מבחינת האותיות שמרכיבות אותן. הדוגמה הקלאסית ביותר, שהודגמה כבר במאמר-word2vec המקורי: הווקטורים של "מלך" ו"מלכה" מרוחקים זה מזה בערך באותו כיוון ובאותו מרחק כמו הווקטורים של "גבר" ו"אישה" — כלומר, אם לוקחים את הווקטור של "מלך", מחסרים ממנו את הווקטור של "גבר", ומוסיפים את הווקטור של "אישה", מקבלים תוצאה קרובה מאוד לווקטור של "מלכה". התכונה הזו — שיחסים סמנטיים בין מילים מיוצגים כיחסים גאומטריים עקביים בין הווקטורים שלהן — לא הוגדרה במפורש על ידי אף אחד; היא צצה מעצמה מתוך תהליך-הלמידה, ומדגימה עד כמה עשיר המידע שנלכד בייצוג מספרי לכאורה-פשוט.
ממדים, דמיון-קוסינוס, ומעבר למילים בודדות
וקטור טיפוסי במודלים מודרניים מכיל מאות עד אלפי מספרים בודדים ("ממדים"), שכל אחד מהם תופס היבט-משמעות שונה ולא-מפורש — אין ממד יחיד ש"פירושו" למשל "מלכותיות" או "מגדר"; המשמעות מקודדת בתבנית המשולבת של כל הממדים יחד, ולכן קשה בדרך-כלל לפרש ממד בודד באופן ישיר. הדמיון בין שני וקטורים נמדד בשיטות מתמטיות סטנדרטיות — הנפוצה ביותר נקראת "דמיון-קוסינוס" (Cosine Similarity), שבודקת את הזווית בין שני הווקטורים במקום את המרחק ביניהם, מה שהופך אותה פחות רגישה להבדלי-אורך-טקסט בין המסמכים המושווים.
הטמעות וקטוריות התרחבו מזמן הרבה מעבר למילים בודדות. אפשר להטמיע משפט שלם, פסקה, מסמך שלם, ואפילו תמונות, קטעי-קול, וקוד-תוכנה — כל עוד קיים מודל-הטמעה שאומן על סוג-המידע הרלוונטי. הטמעות רב-אמצעיות (Multimodal Embeddings), שממפות טקסט ותמונות לאותו מרחב-וקטורי משותף, הן הבסיס הטכני שמאפשר לחפש תמונה לפי תיאור-מילולי, או להפך.
חיפוש סמנטי, RAG ומסדי-נתונים וקטוריים
השימוש הנפוץ ביותר להטמעות וקטוריות כיום הוא הבסיס הטכני שמאפשר "חיפוש סמנטי" — חיפוש-לפי-משמעות, לא רק התאמת-מילים מדויקת. בחיפוש מסורתי מבוסס-מילות-מפתח, שאילתה על "כאבי-ראש חזקים" לא תמצא מסמך שכתוב בו "מיגרנה עוצמתית" אם המילים המדויקות לא חופפות; בחיפוש-סמנטי מבוסס-הטמעה, שני הביטויים ממופים לווקטורים קרובים מאוד זה לזה, כי משמעותם דומה — והחיפוש מוצא את ההתאמה למרות שאין אף מילה משותפת. היכולת הזו היא הלב הטכני של טכניקת אחזור-מוגבר-בייצור (RAG — Retrieval-Augmented Generation): מסמכי-המקור מומרים להטמעות מראש, השאלה עצמה מומרת לאותו סוג ייצוג בזמן-אמת, והמערכת מאתרת את הקטעים הקרובים ביותר לה במרחב הווקטורי כדי להזין אותם למודל-השפה לפני מתן התשובה.
אחסון וחיפוש יעיל בין מיליוני או מיליארדי הטמעות דורש תשתית ייעודית שנקראת מסד-נתונים וקטורי (Vector Database) — מערכת שמאונדקסת את הווקטורים בצורה שמאפשרת "חיפוש-שכן-קרוב" מהיר (למצוא את הווקטורים הכי-דומים לשאילתה) בלי לבצע השוואה מלאה מול כל וקטור בודד במאגר, מה שהיה איטי מדי בקנה-מידה גדול. שוק כלי-הפיתוח סביב הטמעות התפתח משמעותית מאז 2023 — מסדי-נתונים וקטוריים ייעודיים כמו Pinecone ו-Weaviate, לצד תוספי-הטמעה שנוספו למסדי-נתונים כלליים קיימים כמו PostgreSQL, הפכו לרכיב סטנדרטי בתשתית של כל מערכת AI ארגונית רצינית שמתמודדת עם חיפוש-או-אחזור.
הטיה מוטמעת: מחקר 2016 על הטיות-מגדר בווקטורים
חשוב להבין: הטמעה וקטורית לא "מבינה" משמעות במובן שמקביל להבנה אנושית — היא תופסת דמיון סטטיסטי בין דפוסי-הופעה, לא הבנה מושגית עמוקה. מודל-הטמעה יכול גם "לרשת" הטיות שקיימות בנתוני-האימון שלו. מחקר מוקדם ומשפיע מ-2016, בהובלת חוקרי Microsoft ובוסטון, מצא שהטמעות-מילים שאומנו על טקסט חדשותי כללי ומודרני-לכאורה מכילות הטיות-מגדר סטטיסטיות בולטות: כשמנתחים את "כיוון-המגדר" במרחב-הווקטורי, המילה "עוזרת-אישית" ממוקמת קרוב יותר לכיוון ה"נשי", בעוד "מתכנת-מחשבים" ממוקם קרוב יותר לכיוון ה"גברי" — לא בגלל שהמודל "מאמין" במשהו, אלא כי כך התפלגו המילים בטקסט שעליו הוא אומן. הבעיה הזו רלוונטית ישירות להטיה אלגוריתמית (Bias) בכלל, כי מערכות שמסתמכות על הטמעות לצורך המלצה, דירוג, או סינון עלולות להנציח את ההטיות האלה בלי כוונה מודעת מצד מי שבנה אותן — והמחקר מ-2016 גם הציע לראשונה שיטות-מתמטיות לזיהוי ולניטרול-חלקי של הטיות כאלה בתוך הווקטורים עצמם.
עלות תפעולית ואיכות תלוית-תחום ושפה
עלות תפעולית היא שיקול מעשי נוסף. יצירת הטמעה לכל מסמך במאגר דורשת קריאה למודל-הטמעה — לא חינמית, גם אם זולה משמעותית מקריאה למודל-שפה-גדול מלא — ואחסון מיליוני וקטורים דורש מקום-אחסון וזיכרון ייעודיים, לא רק את הטקסט המקורי עצמו. ככל שהמאגר גדל, גם עלות-האינדוקס וזמן-החיפוש עולים, ולכן ארגונים גדולים משקיעים בשיטות דחיסה (Quantization) שמצמצמות את דיוק-הייצוג המספרי של כל וקטור כדי לחסוך מקום, לרוב תוך פשרה מבוקרת בדיוק-החיפוש.
לבסוף, איכות מודל-ההטמעה עצמו משתנה מהותית לפי המשימה והתחום — הטמעה שאומנה בעיקר על טקסט אנגלי כללי עלולה לתפקד פחות טוב על טקסט משפטי-מקצועי, קוד-תוכנה, או שפות שאינן אנגלית, כולל עברית, שיוצגו בה פחות ביחס לנתוני-האימון הכוללים. בגלל זה, בחירת מודל-ההטמעה המתאים לתחום ולשפה היא לרוב אחת ההחלטות ההנדסיות המשמעותיות ביותר בבניית מערכת RAG או חיפוש-סמנטי רציני — לא פרט טכני שולי שאפשר לבחור אוטומטית בלי בדיקה.
CLIP הרב-אמצעי, והמגבלה: וקטור לא לוכד ניואנס דקדוקי
דוגמה מוחשית להיקף השימוש הרב-אמצעי בהטמעות היא CLIP (ראשי-תיבות של Contrastive Language-Image Pre-training — אימון-מוקדם ניגודי של שפה-ותמונה), מודל שפרסמה OpenAI בינואר 2021 ואומן על 400 מיליון זוגות של תמונה וכיתוב-מילולי שנאספו מהאינטרנט הפתוח. CLIP היה מהראשונים שהראו שמודל-ראייה שאומן ישירות מתיאורים-מילוליים חופשיים, בלי קטגוריות-תיוג מוגדרות-מראש, יכול להגיע לדיוק שמתחרה במודלי-ראייה מסורתיים שאומנו על מיליוני תמונות מתויגות-ידנית לקטגוריות סגורות — והוא הבסיס הטכני שעליו נשענים עד היום כלים רבים ליצירת-תמונות מתיאור-מילולי ולחיפוש-תמונות-לפי-תיאור.
חשוב גם להכיר את המגבלה המושגית הבסיסית של הטמעות: וקטור בודד מתאר "כיוון-משמעות כללי", לא הבנה מלאה של הקשר או ניואנס. שני משפטים יכולים לקבל וקטורים קרובים מאוד למרות שמשמעותם שונה בעדינות (למשל, "המנהל שיבח את העובד" ו"העובד שיבח את המנהל" עשויים להיות קרובים במרחב-הוקטורי הכללי, כי הם חולקים כמעט את אותן מילים, למרות שכיוון-הפעולה הפוך לחלוטין) — סוג הבעיה שגורם למערכות חיפוש-סמנטי-בלבד לפעמים לפספס ניואנסים דקדוקיים חשובים. זו הסיבה שמערכות-ייצור רציניות משלבות לעיתים קרובות חיפוש-סמנטי מבוסס-הטמעה יחד עם שיטות משלימות, כמו "דירוג-מחדש" (Reranking) שבוחן ביתר-דיוק את התוצאות המועמדות אחרי השלב הראשוני.
📬 הגיליון השבועי של Wiki-AI
פעם בשבוע, ביום ראשון: שלושת הדברים החשובים שקרו בעולם הבינה המלאכותית, בעברית פשוטה, וערכים חדשים באנציקלופדיה. לגיליונות
| קידוד בינארי-פשוט (One-hot Encoding) | תדירות-מילים (TF-IDF) | הטמעה וקטורית (Embedding) | |
|---|---|---|---|
| לוכד משמעות/דמיון? | לא | חלקית (תדירות-מילים) | כן — משמעות סמנטית |
| גודל הווקטור | ענק (כגודל אוצר-המילים) | ענק (כגודל אוצר-המילים) | קטן וקבוע (מאות עד אלפי ממדים) |
| דורש אימון? | לא | לא — רק ספירה סטטיסטית | כן — מודל שאומן על טקסט |
שאלות נפוצות ❓
מה ההבדל בין הטמעה וקטורית לחיפוש מילות-מפתח רגיל?
חיפוש מילות-מפתח מחפש התאמה מדויקת של מילים; הטמעה מוצאת התאמה לפי משמעות, גם כשאין אף מילה משותפת בין השאילתה למסמך.
כמה "גדול" וקטור טיפוסי?
לרוב מאות עד אלפי מספרים ("ממדים") — כל אחד תופס היבט-משמעות שונה, אבל אף ממד בודד לא "מפרש" בעצמו לתכונה מובנת לבני-אדם.
האם אפשר להטמיע רק טקסט?
לא — כל עוד קיים מודל-הטמעה מתאים, אפשר להטמיע גם תמונות, קול, וקוד, ואפילו למפות כמה סוגי-מידע שונים לאותו מרחב-וקטורי משותף.
האם הטמעה יכולה להיות מוטה?
כן — היא לומדת מהטקסט שהוזן לה, ואם הטקסט הזה משקף הטיות חברתיות (למשל הטיות-מגדר), הן עלולות להיטמע גם בווקטורים.