GPT
N

nomic-embed-text-v2-moe

קוד פתוח

nomic-aiapache-2.02025-02-07

  • sentence-transformers
  • safetensors
  • nomic_bert
  • sentence-similarity
  • feature-extraction

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

  • 475Mפרמטרים
  • 2,048טוקנים בהקשר
  • 1.8 GBמשקל הקבצים
  • 2,293,748הורדות בחודש

מה זה

במקום להפעיל את כל 475 מיליון הפרמטרים בכל שאילתה, המבנה מפעיל רק 305 מיליון פרמטרים פעילים מתוך שמונה מומחים. התוצאה היא מודל וקטורי רב לשוני שמתחרה ישירות במודלים כבדים ממנו פי שניים, כמו אלה עם מעל 560 מיליון פרמטרים.

במדד MIRACL הרב לשוני הוא מגיע לציון 65.80, שגובר בבירור על מודלים מקבילים בגודל של כ־300 מיליון פרמטרים כמו mGTE ו־mE5. במדד BEIR באנגלית הוא משיג 52.86, שזה שיפור מול דגמים מקבילים אך נמוך במעט מ־Arctic Embed v2 שמגיע ל־55.40. היתרון הנוסף נמצא בתמיכה במטריושקה, שמאפשרת לחתוך את הווקטור מ־768 ממדים ל־256 בלבד, מה שמקצץ את נפח האחסון בבסיס הנתונים פי שלושה עם פגיעה קטנה מאוד בביצועים.

מתאים ל

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

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

  • אינדוקס חסכוני באחסון

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

  • שליפה למערכות RAG

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

איפה זה נופל

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

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

אותה משפחה

nomic-embed-text-v2-moe יצא ב־2 גרסאות שיש להן עמוד כאן. אלה האחרות, לפי כמה מורידים אותן.

שאלות
נפוצות

האם המודל מתאים לטקסטים ארוכים?

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

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

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

למה החיפוש מחזיר תוצאות לא מדויקות?

סביר להניח שלא הוספתם את הקידומת הנדרשת לטקסט. המודל דורש search_query לפני שאילתה ו־search_document לפני מסמך כדי להבין את המשימה.

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("nomic-ai/nomic-embed-text-v2-moe")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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