GPT
B

bge-m3-GGUF

קוד פתוח

gpustackmit2024-10-31

  • sentence-transformers
  • gguf
  • feature-extraction
  • sentence-similarity
  • text-embeddings-inference

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

  • 4.5 GBמשקל הקבצים
  • 39,280הורדות בחודש
  • 54לייקים

מה זה

המאגר הזה מחזיק המרה לפורמט GGUF של bge-m3, שפותח במקור על ידי BAAI ומבוסס על xlm-roberta. הייחוד של המודל הוא תמיכה משולבת בשלוש שיטות שליפה במקביל, כולל שליפה וקטורית רגילה, התאמת מילים דלילה שדומה ל־BM25, ודירוג רב-וקטורי בסגנון ColBERT. כל זה מגיע עם חלון הקשר של 8192 טוקנים ותמיכה ביותר ממאה שפות.

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

מתאים ל

  • חיפוש היברידי ב־RAG

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

  • אינדוקס מסמכים ארוכים

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

  • חיפוש חוצה שפות

    התאמת שאילתות בשפה אחת למסמכים שנכתבו בשפה אחרת מתוך יותר ממאה שפות נתמכות.

איפה זה נופל

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

שאלות
נפוצות

האם צריך להוסיף הוראה מיוחדת לשאילתות כמו בגרסאות קודמות של BGE?

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

האם חייבים להשתמש בכל שלוש שיטות השליפה שהמודל מציע?

ממש לא. אפשר להשתמש בו כמודל אמבדינג רגיל לגמרי שמחזיר וקטור באורך 1024. השימוש במשקלים הדלילים או ב־ColBERT הוא אופציונלי ודורש תמיכה מתאימה בקוד השליפה.

איך מריצים

המודל שוקל 4.5 גיגה בייט ומחולק ל־17 קבצים שנבנו על בסיס llama.cpp. כדי להריץ אותו מקומית צריך לפחות 6 עד 8 גיגה בייט של זיכרון עבודה פנוי ב־RAM או ב־VRAM, תלוי אם מריצים על מעבד רגיל או מאיץ גרפי. אפשר לטעון אותו ישירות דרך ספריות תומכות GGUF או סביבות שרת מקומיות.

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

ollama run hf.co/gpustack/bge-m3-GGUF:Q4_K_M

איזו גרסה

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

הרישיון

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

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

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