GPT
B

bge-large-zh

קוד פתוח

BAAImit2023-08-02

  • transformers
  • pytorch
  • safetensors
  • bert
  • feature-extraction

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

  • 326Mפרמטרים
  • 512טוקנים בהקשר
  • 2.4 GBמשקל הקבצים
  • 11,704הורדות בחודש

מה זה

המודל פותח על ידי BAAI כדי לתרגם טקסטים בסינית לווקטורים בגודל 1024 ממדים. הוא בנוי על ארכיטקטורת BERT עם עשרים וארבע שכבות, ונועד לתמוך במשימות כמו אחזור מידע, סיווג וחיפוש סמנטי עבור מסדי נתונים וקטוריים. בזמן יציאתו הוא דורג במקום הראשון במבחן הביצועים C-MTEB עם ציון ממוצע של 64.20, ועקף מודלים כמו multilingual-e5 ומודלים מסחריים כמו text-embedding-ada-002 של OpenAI במשימות אלה.

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

מתאים ל

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

    הוא מציג ציון של 71.53 באחזור מידע במבחן C-MTEB, מה שמבטיח שליפה מדויקת של פסקאות.

  • אינדוקס מסדי נתונים ל־LLM

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

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

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

איפה זה נופל

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

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

אותה משפחה

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

שאלות
נפוצות

למה ציוני הדמיון בין משפטים שונים לגמרי יוצאים מעל 0.5?

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

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

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

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

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("feature-extraction", model="BAAI/bge-large-zh")
print(pipe("שלום"))

הרישיון

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

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

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