חיפושים חמים: מערכות RAG יכולות לפתור את תופעת ההזיות של LLMs, אבל כדי לבנות אחת טובה תצטרכו לקבל הרבה החלטות קריטיות (ולקוות שתגיעו הכי קרוב למושלם) האתגר העיקרי בבניית מערכת RAG הוא להגיע לרמת איכות ודיוק מקסימליים (צילום: Dreamstime)מאת דניאל פליישר, חוקר AI ב-Intel Labsמודלי שפה גדולים (LLMs) מציעים פתרונות מתקדמים לאתגרי פיתוח, אך לעתים, מה לעשות, הם שוגים. המטרה של מערכות RAG היא לפתור את הבעיה הזאת, באמצעות גישה חדשה לשיפור דיוק ואמינות המודלים. איך הן עושות את זה, האם ההייפ מוצדק וכיצד נוכל לבנות מערכת RAG משלנו? כדי לענות על השאלות האלה, בדקתי את האתגרים בגישה זו אל מול היתרונות שהיא מציעה בשדרוג האינטראקציה שלנו עם AI.לפני שנצלול, בואו נדבר רגע על LLMs. למעשה, מדובר בייצוג מתמטי של שפה טבעית באמצעות הסתברויות: מודל השפה יכול לחשב הסתברות לכל משפט בשפה שבה אימנו אותו, וכך הוא יכול לייצר משפטים חדשים, מילה אחר מילה. מודל השפה למעשה “ממשיך את המשפט”: מזינים התחלה של משפט, והוא ממשיך. השימושים הם כמעט אינסופיים: אפשר לבקש מהמודל לענות על שאלות, לסכם טקסטים, לחבר שירים, לכתוב פונקציות בשפות תכנות שונות ואפילו לייצר תמונות בצורה סינתטית.אבל לא הכל מושלם, ואחד הפגמים בתפקוד של LLMs הוא ההזיות המוכרות לכולנו – אותם מקרים שבהם מודלי שפה מספקים תשובות שגויות עובדתית, לא רלוונטיות או מופרכות לחלוטין. כדי להוסיף חטא על פשע, מודלי השפה לא תמיד מסייגים את תשובותיהם ועונים בביטחון מלא, ולכן ההזיות הן מסוכנות וקשות לגילוי.אחת הדרכים להתמודד עם תופעת ההזיות היא RAG: Retrieval Augmented Generation (או בעברית, “כתיבת טקסט בעזרת שליפה והעשרה בידע”). בשיטה זו, מודל השפה נעזר בידע חיצוני שאותו הוא שולף או מקבל לצורך השלמת המשימה, כדי שהתשובות יהיו מדויקות יותר. RAG הוא שם כולל לכל הטכניקות לבניית מערכות שבהן מחברים מודלי שפה לידע חיצוני לצורך שיפור התוצאות.מערכת RAG כוללת מאגר ידע כגון בסיס נתונים, אוסף של מסמכים ואפילו כלי חיפוש בגוגל. כשאנחנו מזינים בקשה למערכת, היא מאתרת פיסות מידע רלוונטיות בתוך מאגרי הידע. אלה עוברים יחד עם הבקשה המקורית אל מודל השפה, והוא עונה על הבקשה – בתקווה שהתשובה תהיה מלאה, מדויקת ורלוונטית, בזכות המידע שהמודל קיבל. אחזור מידע (retrieval) רלוונטי והעברתו למודל השפה משפרים באופן מוכח ומשמעותי את הביצועים של מודלי שפה במגוון משימות המצריכות ידע – כולל מענה על שאלות (Q&A), מיון (Classification), סיכום ועוד.למערכות RAG ישנם שימושים שונים, והיתרון המובהק שלהן הוא היכולת לרתום מאגרי ידע במטרה להשלים את המשימה. מאגרים אלה הם הדרך העיקרית להוסיף ידע חדש ולעדכן ידע קיים במודלי השפה, ולכן הם מוצלחים כל כך. בנוסף, בחירה דינמית של מאגרי הידע פותחת את הדלת למודלי שפה מותאמים אישית.קחו לדוגמה עוזר אישי (digital assistant). במקרה הזה מערכת ה-RAG מחוברת למאגרי ידע מקצועיים. בזכות היכולות של מודל השפה, המערכת יכולה לשוחח בשפה טבעית על מגוון נושאים טכניים, לייעץ ולענות על שאלות. בנוסף, המערכת יכולה להפנות את המשתמש למקורות הידע עצמם (באמצעות ציטוט, citation), כמעין עוזר מחקר.דוגמה נוספת היא שימוש בידע של המשתמש עצמו, כלומר – מאגר הידע מבוסס על הדאטה של המשתמש, וכך מערכת ה-RAG מתאימה לו את תשובותיה. המשתמש יכול להעלות אוסף קבצים אישיים למערכת ולבקש ממנה לסכם נושאים המופיעים במסמכים, לשאול היכן נמצא דיון בנושא כזה או אחר, לבקש שתרכיב מצגת סיכום מהמסמכים וכן הלאה.כאשר ניגשים לבנות מערכת RAG צריך לקבל החלטות רבות. בשלב הראשון עלינו לבחור מודל שפה – פתוח או סגור. מודל סגור הוא מודל מסחרי איתו עובדים בעזרת ממשק API, ואין לנו גישה לאופן פעולת המודל או המשקולות שלו. לעומתו, במודל פתוח גם הקוד וגם המשקולות נגישים לבחינה, אימון והגשה (inference). את המודל הפתוח ניתן להתאים לעולם התוכן שלנו בעזרת אימון fine tuning. בחלק מהמקרים הגשה עצמית של מודלים פתוחים עשויה להיות עדיפה על פני מודלים סגורים, אך היא מצריכה מיומנות.החלק השני בבניית מערכת RAG הוא חיבור למאגרי ידע. לחיבור הזה ישנם היבטים רבים, הכוללים את אופן אינדוקס הידע, עיבוד מקדים של הטקסט והתמונות, חלוקה לפסקאות או משפטים, ניקוי, עיבוד של דאטה טבלאי, המרת הדאטה לייצוג וקטורי (vector embedding) שיכול לשפר את איכות החיפוש, חיפוש מבוסס מילים, חיפוש סמנטי או שילוב שלהם, מספר הדוגמאות לאחזור, מיון רלוונטיות, סינון, שיכתוב הדוגמאות, סיכום ועוד. זה ממש על קצה המזלג, ורק על השלב הזה יכולתי לכתוב מאמר שלם. החלק הזה קריטי, כי כמו שאומרים – garbage in, garbage out: אם אחזור הידע יהיה לא מדויק ולא רלוונטי מספיק, איכות התשובות של מודל השפה תפגענה מיד, והסיכוי להזיות יגדל.לאחר מכן ניתן להוסיף מרכיבים למערכת: מודלי שפה נוספים שנבחרים בצורה דינמית על פי אופי המשימה; שימוש בכמה מאגרי ידע במקביל; שימוש בכלים המודדים את איכות המסמכים שנמצאו, כך שניתן יהיה ללקט את קטעי המידע הרלוונטיים ביותר מתוך המסמכים שחזרו; מודלי שפה שיודעים לבקש ביצוע אחזור נוסף אם הם לא מצאו עדיין את התשובה שחיפשו; והרשימה ממשיכה, כיאה לתחום מחקר פעיל ביותר.האתגר העיקרי בבניית מערכת RAG הוא להגיע לרמת איכות ודיוק מקסימליים. כל חלקי המערכת משפיעים על התשובות הסופיות, ולכן מוכרחים לתכנן אותה בקפדנות. כחלק מההכנה, כדאי לבחון ולהשוות מודלי שפה על מנת להגיע לשילוב ראוי של עלות מול דיוק. בחירת מאגרי הידע, אופי האחסון, אחזור והצגת הידע למודל הם קריטיים בייצור תשובות נכונות ורלוונטיות בזמן ריצה סביר. כדי לבחון את טיב המערכת שבניתם, ניתן להשתמש בדוגמאות מתויגות (דוגמאות המכילות תשובות ידועות מראש) ולבצע בחינה ידנית או אוטומטית של התוצאות.המורכבות הגדולה נובעת בעיקר מההתנהגות הלא צפויה לעתים של LLMs. לדוגמה, בחלק קטן מהמקרים מודל השפה ישגה, אפילו שהידע שקיבל מכיל את התשובה הנכונה. הסיבות לא ברורות נובעות מסתירה בין הידע הפנימי של המודל לידע המוצג בפניו. הצוות שלנו חוקר דרכים בהן ניתן לשלוט בהתנהגות המודלים במקרים כאלה, בעזרת הוראות מותאמות ואימון נוסף.יחד עם זאת, ניתן לשפר את איכות המערכת כולה באמצעות התאמת המודל לביצוע משימות RAG. לצורך כך, הצוות שלנו פיתח כלי קוד פתוח שמאפשר לאמן ולשפר את יכולות ה-RAG של מודלי שפה.כדי לבנות מערכת RAG איכותית ומדויקת, נדרשת הבנה עמוקה של ההיבטים השונים שלה. כמובן שאי אפשר לוותר על תהליך ניסוי וטעיה, שעוזר לשפוך אור על הפשרות השונות הכרוכות בעיצוב המערכת. רק כך נוכל לבנות את המערכת האידיאלית לבעיה שאותה אנחנו מנסים לפתור.מערכות RAG מייצגות ארכיטקטורה חדשה המשלבת מודלי שפה עם מאגרי נתונים. בזכות השילוב הזה יש להם פוטנציאל לבצע משימות עתירות ידע, כגון עוזרים דיגיטליים מותאמים אישית, צ’אטבוט בשירות לקוחות ומערכות ידע ארגוניות. ואם לשפוט לפי המחקר הפעיל בתחום, זוהי רק ההתחלה.הכותב הוא חוקר במעבדת ה־NLP בארגון Intel Labs. במעבדה נחקרות סוגיות הקשורות למודלי שפה כגון RAG ,Efficient Inference, עבודה עם קונטקסטים ארוכים, שימוש בסוכנים ועוד.אינטל ממשיכה להוביל את תחום הבינה המלאכותית עם הפתרונות המתקדמים ביותר לתעשייה. מעבדי Xeon מהדור השישי והמאיצים הייעודיים Gaudi 3 מאפשרים לארגונים להאיץ את פיתוח והטמעת יישומי AI בקנה מידה גדול, תוך שמירה על יעילות גבוהה ותמורה כלכלית יוצאת דופן. אינטל מציעה גישה פתוחה וגמישה המאפשרת שילוב חלק של חומרה ותוכנה ממגוון ספקים, ובכך נותנת לארגונים את הכלים הדרושים להם להאצת השימוש ב- GenAI ובמודלים גדולים, כמו גם להקטנת התלות במערכות קנייניות של יצרנים אחרים. מרכזי הפיתוח של אינטל בישראל, שממוקמים בחיפה, פתח תקווה, ירושלים וקריית גת, משחקים תפקיד מפתח בעיצוב הדור הבא של טכנולוגיות עיבוד ו-AI , וממשיכים להניע את החדשנות הגלובלית של החברה באמצעות שילוב של ביצועים, גמישות וחדשנות מתמדת.כאן אפשר לבחור תחומי עניין, ואנחנו נתאים לך כתבות באופן אישי. הכתבות יופיעו כאן וברחבי האתר, והסימון שלנו יהיה הנה הכתבות שהתאמנו לך אישית. רוצה לרענן העדפות? בבקשה, אנחנו לא שופטים זה המקום להכיר את החברות, המשרדים וכל מי שעושה את ההייטק בישראל (ויש גם מלא משרות פתוחות!) #תוכן מקודםהניוזלטר שלנו עושה את האקסטרה מייל עם העדכונים והחדשות של השבוע© כל הזכויות שמורות לגיקטייםפיתוח אתריםdesigned by designed by | פיתוח אתריםבגלל זה אנחנו מקפידים שהן לא יציקו, אבל הן מאפשרות לנו לתת לכם תוכן בחינם.
פרסומות עוזרות לנו להתקיים ולהתמקד במה שחשוב: ליצור עבורך תוכן מקצועי ומעניין. כדי להמשיך ליהנות מגיקטיים, כדאי להסיר את החסימה מהאתר שלנו. אנחנו מבטיחים לא להציף.