GPT
I

inf-retriever-v1

קוד פתוח

inflyapache-2.02024-12-23

  • sentence-transformers
  • safetensors
  • qwen2
  • feature-extraction
  • transformers

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

  • 7.1Bפרמטרים
  • 131,072טוקנים בהקשר
  • 13.2 GBמשקל הקבצים
  • 3,211הורדות בחודש

מה זה

מדובר במודל וקטורי לאחזור מידע שמבוסס על המודל gte-Qwen2-7B-instruct של עליבאבא. הדבר המרכזי שהוא מביא לשולחן הוא שילוב בין גודל משמעותי של שבעה מיליארד פרמטרים לבין תמיכה באורך קלט של מעל מאה ושלושים אלף טוקנים, נתון שמתאים למסמכים שלמים בלי צורך לחתוך אותם לחתיכות קטנות מדי.

במדדי ההערכה הסיניים של C-MTEB הוא מציג תוצאות גבוהות במיוחד במשימות חיפוש כלליות ומסחר, כמו ציון ndcg@10 של 90.66 במאגר DuRetrieval וציון 85.119 ב־MMarcoRetrieval. לעומת זאת, במבחני שליפה מורכבים יותר באנגלית, כמו שאלות טכניות מרובות ממאגרי CQADupstack, הציונים שלו מתכנסים סביב 40 עד 50 נקודות, מה שמראה שהיתרון הבולט שלו נשאר סביב דאטה בסינית או מסמכים בעלי מבנה מוגדר.

מתאים ל

  • חיפוש בקבצי ענק באנגלית

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

  • מערכות אחזור מידע בסינית

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

  • שלב סינון ראשוני ב־RAG

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

איפה זה נופל

המודל הוכשר ונבדק רק על אנגלית וסינית, ואין בו שום התייחסות או התאמה לעברית. אם תנסו לתת לו טקסטים בעברית, הביצועים שלו יהיו בלתי צפויים וסביר להניח שגרועים. בנוסף, למרות שהוא מדורג גבוה בתחומים מסוימים, במשימות אחזור בתחום הרפואי והמשפטי הוא הציג ביצועים פושרים יחסית, כמו ציון של 37.727 ב־AILAStatutes וציון 43.308 ב־CmedqaRetrieval. נקודה נוספת היא הגודל שלו, הוא איטי וכבד מדי לשימושים שדורשים זמן תגובה של מילישניות בודדות.

אותה משפחה

inf-retriever יצא ב־2 גרסאות שיש להן עמוד כאן. אלה האחרות, לפי כמה מורידים אותן.

שאלות
נפוצות

האם המודל הזה מתאים לעבודה עם עברית?

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

האם אפשר להריץ אותו על מחשב נייד רגיל?

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

איך מחברים אותו לקוד קיים?

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

איך מריצים

כדי להריץ אותו צריך כרטיס מסך רציני. משקל המשקולות בלבד תופס 13.2 גיגה בייט בפורמט bfloat16, כך שצריך לפחות כרטיס עם 24 גיגה בייט זיכרון וידאו כמו RTX 3090 או A10 רק כדי לטעון אותו, ועוד יותר מזה אם מנצלים חלק משמעותי מחלון ההקשר העצום שלו. הטעינה נעשית ישירות דרך ספריית sentence-transformers.

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("infly/inf-retriever-v1")
v = m.encode(["שלום עולם"])

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש
  • שימוש בפטנטים

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