GPT
A

all-MiniLM-L12-v2

קוד פתוח

sentence-transformersapache-2.02022-03-02

  • sentence-transformers
  • pytorch
  • rust
  • onnx
  • safetensors

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

  • 33Mפרמטרים
  • 512טוקנים בהקשר
  • 1.2 GBמשקל הקבצים
  • 3,995,698הורדות בחודש

מה זה

מדובר במודל שמבוסס על הארכיטקטורה של BertModel עם 12 שכבות וסך הכל 33,360,512 פרמטרים, שנועד למפות משפטים ופסקאות למרחב וקטורי של 384 ממדים. הבסיס שלו הוא microsoft/MiniLM-L12-H384-uncased, ועליו בוצע אימון המשך בעזרת למידה ניגודית על מאגר ענק של מעל מיליארד זוגות משפטים שנאספו ממקורות כמו רדיט, סטאק אקסצ'יינג' ומאמרים מדעיים.

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

מתאים ל

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

    שליפת פסקאות קצרות לפי משמעות ולא רק לפי מילות מפתח מדויקות.

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

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

  • אשכול טקסטים קצרים

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

איפה זה נופל

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

שאלות
נפוצות

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

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

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

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("sentence-transformers/all-MiniLM-L12-v2")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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