GPT
C

contriever

קוד פתוח

facebookרישיון לא דווח2022-03-02

  • transformers
  • pytorch
  • bert
  • endpoints_compatible

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

  • 512טוקנים בהקשר
  • 418 MBמשקל הקבצים
  • 7,927,901הורדות בחודש
  • 97לייקים

מה זה

מדובר במודל שמיועד למשימות חיפוש דחוס (dense retrieval), כלומר הפיכת משפטים וקטעי טקסט לוקטורים לצורך השוואה ומציאת קטעים דומים לפי משמעות ולא לפי מילות מפתח בלבד. הוא בנוי על ארכיטקטורת Contriever עם 12 שכבות, ונוצר בתהליך אימון לא מפוקח שתואר במאמר של פייסבוק על למידה נגודית.

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

מתאים ל

  • שליפת פסקאות ראשונית

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

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

    מציאת מידע לפי משמעות ולא לפי התאמת מילים מדויקת, עד 512 טוקנים.

  • בניית אינדקס וקטורי מקומי

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

איפה זה נופל

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

שאלות
נפוצות

האם אפשר להשתמש בפלט של המודל ישר אחרי transformers?

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

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

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("text-generation", model="facebook/contriever")
print(pipe("שלום"))

הקבצים

8 קבצים במאגר, 418 MB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

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