GPT
A

all-roberta-large-v1

קוד פתוח

sentence-transformersapache-2.02022-03-02

  • sentence-transformers
  • pytorch
  • onnx
  • safetensors
  • openvino

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

  • 355Mפרמטרים
  • 514טוקנים בהקשר
  • 11.6 GBמשקל הקבצים
  • 660,105הורדות בחודש

מה זה

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

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

מתאים ל

  • חיפוש סמנטי באנגלית

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

  • ניתוח תגובות ופורומים

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

  • קיבוץ שאלות משתמשים

    זיהוי כפילויות במערכות תמיכה בזכות אימון נרחב על צמדי שאלות ותשובות מאתרי שו"ת.

איפה זה נופל

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

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

שאלות
נפוצות

האם המודל תומך בעברית?

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

מה קורה אם הטקסט שלי ארוך מ־128 טוקנים?

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("sentence-transformers/all-roberta-large-v1")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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