GPT
B

bge-base-zh-v1.5

קוד פתוח

BAAImit2023-09-12

  • sentence-transformers
  • pytorch
  • bert
  • feature-extraction
  • sentence-similarity

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

  • 512טוקנים בהקשר
  • 391 MBמשקל הקבצים
  • 859,542הורדות בחודש
  • 109לייקים

מה זה

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

גרסה 1.5 הגיעה בעיקר כדי לפתור בעיה בגרסאות הקודמות, שבהן טווח ציוני הדמיון נדחס למעלה, וכדי לתפקד היטב באחזור גם בלי להוסיף הנחיות טקסטואליות מפורשות לשאילתה. בלוח המבחנים C-MTEB למשימות בסינית, הדגם הזה קיבל ציון ממוצע של 63.13, שמציב אותו ממש צמוד לגרסת ה־large הגדולה ממנו בהרבה, ומעל מודלים מתחרים בגודל דומה.

מתאים ל

  • חיפוש סמנטי בסינית

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

  • שליפת מידע ליישומי שפה

    הווקטורים מתאימים ישירות למסדי נתונים וקטוריים שמזינים מודלי שפה.

  • סיווג וקיבוץ טקסטים

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

איפה זה נופל

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

בגלל אימון בטמפרטורה נמוכה של 0.01, ציוני הדמיון נעים בדרך כלל בין 0.6 ל־1, כך שציון מעל 0.5 אינו מעיד בהכרח על דמיון סמנטי. אתם חייבים להסתמך על סדר התוצאות היחסי או לכייל סף גבוה של 0.85 ומעלה, ולא להניח שציון מוחלט משקף קרבה.

אותה משפחה

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

שאלות
נפוצות

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

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

האם חובה להוסיף הנחיה לכל שאילתה בזמן חיפוש?

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

למה שני משפטים שונים מקבלים ציון דמיון של 0.7?

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

איך מריצים

אתם יכולים לטעון את המשקלים ישירות דרך ספריית sentence-transformers, FlagEmbedding או LangChain. הקבצים שוקלים 391 מגה-בייט בלבד, כך שלא צריך שרת מפלצתי. מעבד רגיל יספיק לריצה בקצב סביר, וכרטיס מסך פשוט יריץ אותו בקלות רבה.

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("BAAI/bge-base-zh-v1.5")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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