GPT
M

MiniCPM-Embedding

קוד פתוח

openbmbרישיון לא דווח2024-09-04

  • transformers
  • safetensors
  • mteb
  • sentence-transformers
  • feature-extraction

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

  • 2.7Bפרמטרים
  • 512טוקנים בהקשר
  • 5.1 GBמשקל הקבצים
  • 13,887הורדות בחודש

מה זה

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

במדדי ההערכה הסיניים כמו C-MTEB הוא מציג ציון של 76.76, שזה מעט מעל מודלים גדולים ממנו בהרבה כמו gte-Qwen2-7B. באנגלית הוא מקבל 58.56 ב־BEIR, שזו תוצאה סבירה לגודל שלו, אבל החוזק האמיתי שלו נמצא בשליפה צולבת, שם הוא עוקף את המתחרים עם 72.95 במבחן MKQA.

מתאים ל

  • חיפוש מסמכים סינית לאנגלית

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

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

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

  • איחזור מבוסס הנחיות ייעודיות

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

איפה זה נופל

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

שאלות
נפוצות

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

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

למה מודל וקטורי צריך 2.7 מיליארד פרמטרים?

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

האם אני חייב להזין הנחיה בכל שאילתה?

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

איך מריצים

כדי להריץ אותו צריך כרטיס מסך עם לפחות 6 עד 8 גיגה זיכרון כדי לטעון את 5.1 הגיגה של המשקלים ב־bfloat16 או float16 יחד עם הקצאת זיכרון לשאילתות. ההרצה נעשית ישירות דרך ספריית sentence-transformers הרגילה, תוך הפעלת trust_remote_code, ויש תמיכה מובנית ב־Flash Attention 2.

אם אתם צריכים לחפש רק באנגלית פשוטה ולא מעורבת, כנראה שעדיף להשתמש במודל קטן ומהיר בהרבה כמו bge-small או לקרוא ל־API חיצוני מוכן. מודל של 2.7 מיליארד פרמטרים מייצר עומס חישובי כבד משמעותית ממודלי embedding קלאסיים מבוססי BERT.

from transformers import pipeline

pipe = pipeline("feature-extraction", model="openbmb/MiniCPM-Embedding")
print(pipe("שלום"))

הרישיון

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

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