GPT
B

BERTA

קוד פתוח

sergeyzhmit2025-03-10

  • sentence-transformers
  • safetensors
  • bert
  • feature-extraction
  • russian

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

  • 128Mפרמטרים
  • 512טוקנים בהקשר
  • 491 MBמשקל הקבצים
  • 16,452הורדות בחודש

מה זה

מדובר במודל שנוצר באמצעות זיקוק הידע של FRIDA הגדול, בעל 24 שכבות ווקטורים של 1536 ממדים, אל תוך ארכיטקטורה קומפקטית של 12 שכבות שמפיקה ווקטורים בגודל 768. השינוי הטכני העיקרי מעבר לכיווץ הוא מעבר לשימוש במיצוע וקטורים במקום טוקן הקיטלוג היחיד. התוצאה היא מודל שמכוון ישירות לעבודה עם רוסית ואנגלית דרך ספריית sentence-transformers.

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

מתאים ל

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

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

  • סינון ומיון כותרות

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

  • זיהוי משפטים מקבילים

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

איפה זה נופל

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

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

שאלות
נפוצות

האם המודל מבין ומעבד עברית?

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

למה להשתמש בו במקום במודל FRIDA המקורי?

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

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

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

איך מריצים

טוענים את המשקלים ישירות עם sentence-transformers מגרסה 2.4.0 ומעלה או דרך transformers. המודל שוקל 491 מגה-בייט בלבד, כך שלא צריך כרטיס גרפי ייעודי כדי להתחיל לעבוד. הוא ירוץ בקלות ובמהירות על מעבד רגיל בשרת פשוט, או על כרטיס מסך בסיסי אם יש עומס של אלפי שאילתות בדקה.

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("sergeyzh/BERTA")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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