GPT
D

dragon-multiturn-query-encoder

קוד פתוח

nvidiaother2024-04-30

  • transformers
  • pytorch
  • bert
  • feature-extraction
  • en

nvidia עומדים גם מאחורי NVIDIA AI, ויש עליו סקירה כאן.

מקודד שאילתות שמיועד לחילוץ מידע מתוך שיחות מתמשכות. הוא לוקח את היסטוריית הצ'אט יחד עם השאלה הנוכחית כדי למצוא מסמכים רלוונטיים במערכות חיפוש.

  • 512טוקנים בהקשר
  • 418 MBמשקל הקבצים
  • 205,747הורדות בחודש
  • 61לייקים

מה זה

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

התוצאות במבחני ChatRAG Bench מציגות ממוצע top-1 של 53.0 לעומת 46.3 במודל Dragon המקורי. השיפור מורגש במיוחד במשימות מורכבות כמו INSCIT, שם הציון קפץ מ־27.5 ל־47.4. המשמעות בשטח ברורה: הוא מתמודד טוב בהרבה עם שינויי נושא והפניות לשאלות קודמות בתוך שיחה, במקום לאבד את ההקשר.

מתאים ל

  • שליפת מידע בבוטים

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

  • הרחבת שאילתות שיחה

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

  • רכיב שליפה למערכות RAG

    דיוק החלק של השאילתה בצמד הדואלי מול מאגר מסמכים קיים.

איפה זה נופל

הבעיה המרכזית היא חלון הקשר קצרצר של 512 טוקנים. אם יש לכם שיחה שנמשכת מעבר לכמה חילופי דברים, תצטרכו לחתוך או לסכם את ההיסטוריה, אחרת טקסט פשוט ייזרק החוצה. בנוסף, המודל אומן על אנגלית בלבד, כך שאינו מתאים לשיחות בעברית. במבחן QuAC הוא אפילו הציג ירידה קלה לעומת קודמו, מ־56.8 ל־54.8 ב־top-1.

שאלות
נפוצות

האם המודל הזה מספיק כדי לבנות מנוע חיפוש שלם?

לא. מדובר רק במקודד השאילתות. כדי לחפש במסמכים שלכם, חובה להשתמש במודל המשלים dragon-multiturn-context-encoder כדי לייצר וקטורים לטקסטים עצמם.

איך המודל מתמודד עם שיחות ארוכות בעברית?

הוא לא מתאים לזה. האימון נעשה באנגלית בלבד, וחלון ההקשר מוגבל ל־512 טוקנים בלבד, מה שיגרום לאיבוד מידע מהיר בשיחות ממושכות.

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("feature-extraction", model="nvidia/dragon-multiturn-query-encoder")
print(pipe("שלום"))

הרישיון

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

הרישיון המלא בעמוד המודל ↗