GPT
B

bce-embedding-base_v1

קוד פתוח

maidalun1020apache-2.02023-12-29

  • sentence-transformers
  • pytorch
  • xlm-roberta
  • feature-extraction
  • sentence-similarity

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

  • 514טוקנים בהקשר
  • 1.1 GBמשקל הקבצים
  • 3,146הורדות בחודש
  • 394לייקים

מה זה

המודל הזה נבנה בידי NetEase Youdao סביב ארכיטקטורת XLM-RoBERTa עם 279 מיליון פרמטרים, במטרה לפתור בעיה מציקה במיוחד, גישור סמנטי ישיר בין אנגלית לסינית בלי להסתמך על תרגום מקדים. הוא מייצר וקטורים שמייצגים את הטקסט ישירות, ומיועד להשתלב בשלב הריקול הראשוני של צנרות RAG לפני מודל דירוג מחדש.

בניגוד לחלק ממודלי השיכוך המודרניים שמחייבים ניסוח הוראות ייעודיות לכל שאילתה, כאן מעבירים את הטקסט כמו שהוא. במבחני MTEB ו־LlamaIndex שהיצרן מציג, המודל השיג תוצאות גבוהות במדדי Hit Rate ו־MRR בהשוואה למודלים מקבילים בגודל base, מה שאומר שבפועל הוא מצליח להביא את הפסקה הנכונה לחמישייה או לעשירייה הראשונה בתדירות גבוהה יותר.

מתאים ל

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

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

  • שלב שליפה ראשוני בצינור RAG

    דולה במהירות בין 50 ל־100 קטעים ראשוניים עבור מודל דירוג המשך.

  • קטלוג שאלות נפוצות דו־לשוני

    מזהה כוונת משתמש באנגלית מול מאגר תשובות קיים בסינית בלי הוראות.

איפה זה נופל

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

שאלות
נפוצות

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

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

האם חייבים להשתמש במודל הדירוג שמצורף אליו?

לא חובה, אבל הוא מתוכנן לעבוד איתו. המודל הנוכחי נועד להחזיר בין 50 ל־100 תוצאות בסיסיות, והדיוק המרבי מתקבל כשמעבירים את התוצאות למודל reranker.

כמה טקסט אפשר להכניס בכל קריאה למודל?

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("maidalun1020/bce-embedding-base_v1")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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