GPT
S

SFR-Embedding-Code-2B_R

קוד פתוח

Salesforcecc-by-nc-4.02025-01-17

  • sentence-transformers
  • safetensors
  • codexembed2b
  • feature-extraction
  • transformers

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

  • 2.6Bפרמטרים
  • 8,192טוקנים בהקשר
  • 4.9 GBמשקל הקבצים
  • 1,986הורדות בחודש

מה זה

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

במבחן הביצועים CoIR המודל רושם ציון ממוצע של 67.4 ב־NDCG@10. זה ממקם אותו מעל מתחרים מוכרים בקטגוריה כמו CodeSage-Large-v2 שהגיע ל־64.2 וגם מעל Voyage-Code-002 שעומד על 56.3. המשמעות בשטח היא יכולת טובה יותר להחזיר תוצאות רלוונטיות בעשירייה הראשונה של החיפוש, במיוחד כשמחפשים פונקציות לפי תיאור מילולי או מנסים לקשר בין תיעוד למימוש בפועל. סיילספורס שחררה במקביל גם גרסה קטנה יותר של 400M פרמטרים שמגיעה לציון של 61.9, למי שמוכן לוותר על כמה נקודות דיוק תמורת מהירות וחיסכון במשאבים.

מתאים ל

  • חיפוש סמנטי במאגרי קוד

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

  • ניתוח קבצי קוד ארוכים

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

  • מחקר והשוואת מנועי וקטורים

    בדיקת ביצועים פנימית מול גרסת ה־400M ופתרונות קיימים תחת סביבת בדיקות לא מסחרית.

איפה זה נופל

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

שאלות
נפוצות

אפשר להטמיע את המודל הזה בתוך מוצר של החברה שלי?

לא. הרישיון הוא cc-by-nc-4.0 ומגביל את השימוש למחקר בלבד. מעבר לזה, המודל מבוסס על Gemma וכפוף גם לתנאי השימוש של גוגל, כך שאי אפשר להשתמש בו למוצרים מסחריים.

איזה כרטיס מסך צריך בשביל להריץ אותו בפועל?

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("Salesforce/SFR-Embedding-Code-2B_R")
v = m.encode(["שלום עולם"])

הרישיון

הרישיון הוא cc-by-nc-4.0 בשילוב תנאי השימוש של Gemma. השורה התחתונה ברורה. אין אישור לשימוש מסחרי מכל סוג. המודל מיועד למחקר ולניסויים בלבד, ואסור לשלב אותו במוצר שמייצר הכנסות או משרת לקוחות בתשלום.

  • שינוי הקוד
  • חובת ייחוס
  • שימוש מסחרי: לא

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