GPT
A

all_datasets_v4_MiniLM-L6

קוד פתוח

flax-sentence-embeddingsרישיון לא דווח2022-03-02

  • sentence-transformers
  • pytorch
  • bert
  • feature-extraction
  • sentence-similarity

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

  • 512טוקנים בהקשר
  • 87.4 MBמשקל הקבצים
  • 5,518הורדות בחודש
  • 38לייקים

מה זה

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

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

מתאים ל

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

    הוא אומן על מיליוני שאלות מ־Reddit ומ־Yahoo, ולכן מזהה ניסוחים שונים של אותה שאלה.

  • סינון כפילויות במאגרי מידע

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

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

    נפח של 87.4 מגה-בייט מאפשר להריץ אותו ישירות בתוך אפליקציית דסקטופ בלי לפנות לרשת.

איפה זה נופל

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

שאלות
נפוצות

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

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

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

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("flax-sentence-embeddings/all_datasets_v4_MiniLM-L6")
v = m.encode(["שלום עולם"])

הרישיון

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

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