GPT
A

all-MiniLM-L6-v2

קוד פתוח

sentence-transformersapache-2.02022-03-02

  • sentence-transformers
  • pytorch
  • tf
  • rust
  • onnx

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

  • 23Mפרמטרים
  • 512טוקנים בהקשר
  • 932 MBמשקל הקבצים
  • 253,331,994הורדות בחודש

מה זה

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

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

מתאים ל

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

    הוא ממיר שאילתות ומאגר קצר לווקטורים של 384 ממדים במהירות גבוהה.

  • איתור שאלות כפולות

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

  • חלוקה לקבוצות נושא

    הווקטורים הדחוסים שהוא מייצר מתאימים למיון מהיר של הודעות קצרות.

איפה זה נופל

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

שאלות
נפוצות

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

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

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

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

צריך כרטיס מסך מיוחד כדי להריץ אותו בסביבת ייצור?

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

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

הרישיון

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

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

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