GPT
U

USER-bge-m3

קוד פתוח

deepvkapache-2.02024-07-05

  • sentence-transformers
  • safetensors
  • xlm-roberta
  • sentence-similarity
  • feature-extraction

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

  • 359Mפרמטרים
  • 8,194טוקנים בהקשר
  • 1.3 GBמשקל הקבצים
  • 280,889הורדות בחודש

מה זה

מדובר במודל וקטורים שממפה משפטים ופסקאות למרחב של 1024 ממדים, עם חלון הקשר של 8,194 טוקנים. הבסיס שלו הוא גרסה מצומצמת של bge-m3 שנוקתה משפות אחרות כדי לתמוך רק ברוסית ובאנגלית. המפתחים אימנו שני מודלים נפרדים על מאגרי מידע סימטריים ואסימטריים עם פונקציית הפסד AnglE, ואז מיזגו אותם עם מודל המקור כדי למנוע שכחה של יכולות קודמות.

במבחני encodechka הוא מציג שיפור קל לעומת bge-m3 המקורי עם ממוצע של 0.799 לעומת 0.787, כשעיקר הקפיצה מורגשת במשימות NLI שבהן הוא עלה מ־0.51 ל־0.58. במבחני MTEB ברוסית הממוצע הכללי עלה מ־0.689 ל־0.706 על פני 30 מאגרים, בזכות שיפור בסיווג ובהשוואת זוגות משפטים.

מתאים ל

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

    חלון של 8,194 טוקנים מאפשר להמיר מאמרים ודוחות מלאים ברוסית לווקטור יחיד בלי לחתוך אותם.

  • סיווג טקסטים ומאמרים

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

  • זיהוי יחסים בין משפטים

    האימון עם פונקציית AnglE הקפיץ משמעותית את הביצועים בהשוואת זוגות ובמשימות NLI.

איפה זה נופל

היוצרים מודים בכרטיס שהם לא בדקו לעומק קידוד דליל או multi-vector, למרות שהארכיטקטורה המקורית של bge-m3 תומכת בזה. בנוסף, בתוצאות MTEB המודל נחלש דווקא במשימות אחזור מידע מ־0.945 ל־0.934, ובדירוג מחדש מ־0.698 ל־0.688. אם אתם בונים מנוע חיפוש פרופר ולא סיווג, שווה לבדוק אם הגרסה המקורית לא מביאה תוצאות מדויקות יותר.

שאלות
נפוצות

האם המודל תומך בטקסטים בעברית?

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

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

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

איך מריצים

אתם טוענים את המשקלים ישירות דרך ספריית sentence-transformers בשתי שורות קוד, או בעזרת transformers הרגילה של Hugging Face. המודל שוקל 1.3 ג'יגה בייט ומחזיק 359 מיליון פרמטרים בדיוק של float32, כך שכרטיס מסך בסיסי עם 4 עד 6 ג'יגה בייט של זיכרון יספיק לחלוטין לריצה שוטפת.

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("deepvk/USER-bge-m3")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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