GPT
B

bge-m3-korean

קוד פתוח

upskyyרישיון לא דווח2024-08-09

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

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

  • 568Mפרמטרים
  • 8,194טוקנים בהקשר
  • 2.1 GBמשקל הקבצים
  • 43,510הורדות בחודש

מה זה

מדובר במודל שמתבסס על bge-m3 ועבר אימון נוסף על מערכי הנתונים KorSTS ו־KorNLI. הוא ממיר משפטים ופסקאות לוקטור צפוף בן 1024 ממדים, שמתאים לחיפוש סמנטי, זיהוי ניסוחים דומים, סיווג וחלוקה לקבוצות. ההבדל המרכזי מול מודלים קטנים יותר הוא תמיכה בטקסטים ארוכים במיוחד, עד 8192 טוקנים, מה שמאפשר לבלוע מסמכים שלמים בלי לחתוך אותם מראש.

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

מתאים ל

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

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

  • זיהוי כפילויות ופראפרזות

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

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

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

איפה זה נופל

המודל אומן ספציפית על דאטה קוריאני של NLI ו־STS. המשמעות היא שאם הטקסט שלכם בעברית או באנגלית, השינויים שנעשו כאן עלולים לקלקל את היכולות המקוריות של bge-m3 הרב לשוני, ולא הייתי נוגע בו בלי בדיקה השוואתית מול מודל הבסיס. בנוסף, הכרטיס מציג רק בדיקות על sts-dev ולא מספק נתונים על משימות חיפוש מורכבות בעולם האמיתי כמו שליפת מסמכים מתוך מאגרים טכניים גדולים.

שאלות
נפוצות

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

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

כמה זיכרון דרוש כדי לקודד טקסטים ארוכים?

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

איך מריצים

טוענים אותו ישירות דרך ספריית sentence-transformers בשלוש שורות קוד פשוטות, כשהוא מוגדר מראש לעשות mean pooling על הפלט של שכבות הטרנספורמר. משקל הקבצים עומד על 2.1 גיגה בייט בפורמט float32 עם כ־568 מיליון פרמטרים. בשביל הרצה מקומית או בשרת, כרטיס מסך פשוט עם 4 עד 6 גיגה זיכרון יספיק לעבודה שוטפת, ואפשר לדחוף אותו גם על מעבד רגיל אם השיהוי לא קריטי עבורכם.

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

from sentence_transformers import SentenceTransformer

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

הרישיון

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

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