קסם ה-Embeddings

Embeddings הופכים שפה למתמטיקה.

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

חיפוש מילות מפתח נכשל כאשר המילים אינן תואמות.

אם תחפשו "How do I reset my password?", חיפוש מילות מפתח יחפש בדיוק את המילים הללו. אם מסמך אומר "Steps to recover your account credentials", החיפוש עלול להיכשל. אתם יודעים שהמשמעות זהה, אך מחשבים לא.

Embeddings פותרים את הבעיה הזו.

Embedding הוא רשימה של מספרים. מספרים אלו מייצגים את המשמעות של הטקסט. מודל embedding ממפה מילים למרחב רב-ממדי.

מילה בודדת כמו "cat" הופכת לווקטור: [0.18, -0.42, 0.91, ...]

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

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

  • Dog ו-Cat נמצאים קרובים זה לזה.
  • Car ו-Truck נמצאים קרובים זה לזה.
  • Car ו-Dog נמצאים רחוקים זה מזה.

המרחק בין הנקודות הללו מייצג דמיון.

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

כדי להשוות בין הווקטורים הללו, אנו משתמשים ב-cosine similarity. מדד זה מודד את הזווית בין שני ווקטורים.

  • זווית קטנה פירושה דמיון גבוה.
  • זווית גדולה פירושה דמיון נמוך.

Embeddings גם מניעים Retrieval Augmented Generation (RAG). בתהליך (pipeline) של RAG, התהליך נראה כך:

  1. המרת מסמכים לווקטורים באמצעות מודל embedding.
  2. אחסון הווקטורים בבסיס נתונים וקטורי (vector database).
  3. המרת שאילתת משתמש לווקטור.
  4. מציאת הווקטורים הקרובים ביותר בבסיס הנתונים.
  5. שליחת המסמכים הרלוונטיים ל-LLM.

ה-LLM לא מחפש בקבצים שלכם ישירות. הוא מחפש במרחב ה-embedding אחר ההתאמות הקרובות ביותר.

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

מקור: https://dev.to/tahaboussaden/embeddings-magic-2hlb

קהילת למידה אופציונלית: https://t.me/GyaanSetuAi