GPT
N

nomic-embed-text-v1

קוד פתוח

nomic-aiapache-2.02024-01-31

  • sentence-transformers
  • pytorch
  • onnx
  • safetensors
  • nomic_bert

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

  • 137Mפרמטרים
  • 8,192טוקנים בהקשר
  • 1.7 GBמשקל הקבצים
  • 3,743,402הורדות בחודש

מה זה

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

בבדיקות MTEB הוא מציג דיוק מרשים בסיווג סנטימנט פשוט, למשל 91.5% ב־Amazon Polarity, אבל צונח ל־47.3% בסיווג מורכב יותר כמו סקירות מרובות. באחזור מידע מתוך מאגרי שאלות טכניות כמו CQADupstack, מדד ה־NDCG@10 שלו נע סביב 35 עד 56 נקודות, תלוי בתחום הספציפי. זה אומר שהוא מוצא תוכן רלוונטי בעשירייה הראשונה בצורה סבירה מאוד לגודלו, אבל הוא לא תמיד יפגע בול בתוצאה הראשונה.

מתאים ל

  • חיפוש מסמכים ארוכים

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

  • סיווג פניות תמיכה

    דיוק של מעל 84% במאגר Banking77 הופך אותו לפתרון מעולה למיון מהיר של הודעות משתמשים באנגלית.

  • מנוע חיפוש מקומי ופרטי

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

איפה זה נופל

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

נוסף על כך, במבחני אחזור על נושאים מתמטיים או מדעיים מורכבים כמו CQADupstack Mathematica, מדד ה־MAP@1 שלו עומד על 16.6% בלבד. אסור לבנות עליו שיחזיר תשובה מדויקת בניסיון הראשון בשאלות טכניות עמוקות בלי שלב דירוג מחדש אחריו.

אותה משפחה

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

שאלות
נפוצות

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

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

איך משפיע חלון ההקשר הגדול על משאבי הזיכרון?

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

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

הרישיון

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

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

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