GPT
R

roberta-base-squad2

קוד פתוח

deepsetcc-by-4.02022-03-02

  • transformers
  • pytorch
  • tf
  • jax
  • rust

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

  • 124Mפרמטרים
  • 514טוקנים בהקשר
  • 2.3 GBמשקל הקבצים
  • 551,712הורדות בחודש

מה זה

מדובר בהתאמה של roberta-base למשימת מענה על שאלות חילוצי, Extractive QA, על גבי מאגר SQuAD 2.0. במקום לנסח תשובה חופשית כמו צ'אטבוט, הוא מקבל שאלה וטקסט ומצביע בדיוק על התווים שבהם נמצאת התשובה.

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

מתאים ל

  • שליפת עובדות בתוך RAG

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

  • חיפוש תשובות במסמכים

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

  • סינון שאלות ללא מענה

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

איפה זה נופל

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

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

שאלות
נפוצות

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

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

איך מתמודדים עם מסמך שארוך מ־514 טוקנים?

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

איך מריצים

אתם מריצים אותו דרך transformers עם pipeline של question-answering או בתוך Haystack כרכיב ExtractiveReader. עם 124 מיליון פרמטרים ומשקל קבצים של 2.3 גיגהבייט, אפשר להריץ אותו בקלות על מעבד רגיל בשרת פשוט, ובכרטיס מסך בסיסי הוא עובד במהירות גבוהה מאוד.

אם אתם חייבים ביצועים כפולים בזמן ריצה, deepset מציעים גם גרסה מזוקקת בשם tinyroberta-squad2 שלפי הנתונים שלהם מגיעה לאיכות דומה בחצי מזמן החישוב. אין סיבה לפנות ל־API חיצוני יקר כשמודל כזה רץ מקומית בלי מאמץ תשתיתי.

from transformers import pipeline

pipe = pipeline("question-answering", model="deepset/roberta-base-squad2")
print(pipe("שלום"))

הרישיון

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

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

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