הבנת מודלי RAG: עיגון מודלי שפה גדולים בידע מהעולם האמיתי

איור ארכיטקטורת RAG

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

כדי לפתור מגבלות אלו, מפתחים משתמשים ב-Retrieval-Augmented Generation (יצירה מועשרת באחזור - RAG). RAG היא מסגרת עבודה המאחזרת מידע רלוונטי מבסיס נתונים חיצוני ומספקת אותו ל-LLM כדי לייצר תגובות מדויקות ותלויות הקשר.

להלن מדריך מקיף להבנת מודלי RAG, כיצד הם עובדים, ומדוע הם חיוניים עבור בינה מלאכותית ארגונית.


1. מה זה Retrieval-Augmented Generation (RAG)?

בבסיסו, RAG משלב שני תהליכים נפרדים:

  1. אחזור (Retrieval): מציאת מסמכים או מקטעי טקסט רלוונטיים מתוך מאגר ידע על סמך שאילתת המשתמש.
  2. יצירה (Generation): הזנת המסמכים המאוחזרים יחד עם שאילתת המשתמש ל-LLM כדי שיוכל לייצר תגובה מדויקת.

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


2. צינור ה-RAG שלב אחר שלב

צינור RAG סטנדרטי מורכב משלושה שלבים עיקריים: עיבוד נתונים (Ingestion), אחזור (Retrieval) ויצירה (Generation).

שלב 1: עיבוד נתונים (Ingestion)

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

  • טעינה: מסמכים (קובצי PDF, Markdown, דפי אינטרנט וכו’) נאספים.
  • חלוקה למקטעים (Chunking): קבצים גדולים מפוצלים למקטעי טקست קטנים ונוחים לניהול (למשל, 500 תווים).
  • ייצוג וקטורי (Embedding): מודל ייצוג וקטורי ממיר את מקטעי הטקסט הללו לוקטורים מתמטיים המייצגים את המשמעות הסמנטية שלהם.
  • אחסון: ייצוגים וקטוריים אלו מאוחסנים בבסיס נתונים וקטורי ייעודי (כגון Milvus, Pinecone או Qdrant).

שלב 2: אחזור (Retrieval)

כאשר משתמש שואל שאלה:

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

שלב 3: יצירה (Generation)

  1. מקטעי הטקסט המאוחזרים משולבים עם השאילתה המקורית של המשתמש לתבנית הנחיה (prompt) מפורטת.
  2. הנחיה זו נשלחת ל-LLM.
  3. ה-LLM קורא את ההקשר, מחלץ את העובדות הרلوונטיות ומייצר תגובה בשפה טבעית המבוססת על המסמכים שסופקו.

3. כיצד נוצרים ייצוגים וקטוריים (Embeddings)

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

  • תהליך היצירה של וקטור ייצוג:
    1. טוקניזציה: מקטע הטקסט מפורק לחלקים קטנים יותר הנקראים טוקנים (אסימונים).
    2. מודל קידود (Encoder): מקודד ייעודי מבוסס Transformer (כמו BERT או text-embedding-3 של OpenAI) מעבד את הטוקנים.
    3. וקטור רב-ממדי: המודל פולט רשימה של מספרים (בדרך כלל 384, 768 או 1536 ממדים). כל ממד מייצג מאפיין סמנטי או מושג שונה.
  • מיפוי סמנטי: במרחב וקטורי זה, מילים או ביטויים בעלי משמעות דומה ממוקמים קרוב זה לזה. לדוגמה, הוקטור של “חתול” יהיה קרוב יותר ל"חתלתול" מאשר ל"מכונית".
  • מדדי מרחק: בסיסי נתונים וקטוריים מוצאים הקשר רלוונטי על ידי מדידת המרחק בין וקטור השאילתה לוקטורי המסמכים באמצעות נוסחאות מתמטיות כמו דמיון קוסינוס (הזווית בין הוקטורים), מכפלה סקלרית (Dot Product) או מרחק אוקלידי.

4. המדריך המלא לזרימת העבודה במערכת RAG

להלן שלב אחר שלב כיצد בקשה נעה דרך מערכת RAG:

[שאילתת משתמש] ──> [מודל ייצוג וקטורי] ──> [וקטור השאילתה]
[תשובת LLM] <── [LLM] <── [הנחיה] <── [חיפוש בבסיס נתונים וקטורי]
                           (הקשר + שאילתה)
  1. קלט משתמש: משתמש מגיש שאילתה (למשל, “מה היו ההכנסות שלנו ברבעון השלישי?”).
  2. וקטוריזציה של השאילתה: השאילתה מומרת לוקטור על ידי מודל הייצוג הוקטורי.
  3. חיפוש בבסיס הנתונים: בסיס הנתונים הוקטורי משווה את וקטור השאילתה לכל וקטורי המסמכים ומאחזר את K מקטעי הטקסט הקרובים ביותר.
  4. שילוב ההקשר: המקטעים המאוחזרים מוזרקים לתבנית הנחיה (prompt) לצד שאילתת המשתמש המקורית.
  5. הסקת מסקנות של ה-LLM: ה-LLM קורא את ההנחיה המועשרת בהקשר ומייצר תגובה טבעית ומדויקת מבחינה עובדתית.

5. RAG לעומת כוונון עדין (Fine-Tuning): מה עדיף?

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

תכונה RAG (מועשר באחזור) כוונון עדין (Fine-Tuning)
מטרה עיקרית עיגון בידע חיצוני עובדתי התאמת התנהגות, סגנון או פורמט משימה ספציפי
עלות הקמה נמוכה עד בינונית גבוהه (דורש מעבדים גרפיים וצינורות אימון)
עדכונים בזמן אמת גבוהה (פשוט מוסיפים/עורכים מסמכים בבסיס הנתונים הוקטורי) נמוכה (דורש אימון מחדש או כוונון עדין מתמשך)
סיכון להזיות נמוך מאוד (התגובות מבוססות על מסמכי המקור) בינוני עד גבוה (המודל עדיין יכול להזות עובדות)
פרטיות נתונים קלה (בקרת הגישה מנוהلت ברמת בסיס הנתונים) קשה (קשה להגביל גישה לאחר שהנתונים מוטמעים במודל)

6. טכניקות RAG מתקדמות

קל לבנות RAG בסיסי, אך RAG ברמת ייצור דורש טכניקות מתקדמות לטיפול בשאילתות מורכבות:

  • כתיבה מחדש של שאילתות: ניסוח מחדש של שאילתת המשתמש לשיפור דיוק החיפוש הוקטורי.
  • דירוג מחדש (Re-ranking): שימוש במודל משני (כמו cross-encoder) להערכה וסידור מחדش של המסמכים המאוחזרים, כדי להבטיح שהרلوונטיים ביותר יופיעו ראשונים.
  • חיפוש היברידי: שילוב חיפוש מילות מפתח (BM25) עם חיפוש וקטורי כדי ללכוד הן התאמות מדויקות והן משמעויות סמנטיות.
  • חלוקה היררכית למקטעים: אחסון מקטעים קטנים לאחזור מדויק, אך קישורם למקטעי אב גדולים יותר כדי לספק הקשר רחב יותר ל-LLM.

סיכום

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


גלה תובנות AI נוספות בבלוג של Ghaznix →