GPT
M

mdeberta-v3-base-squad2

קוד פתוח

timpal0lmit2022-11-30

  • transformers
  • pytorch
  • safetensors
  • deberta-v2
  • question-answering

פתרון חילוץ תשובות רב לשוני מבוסס DeBERTaV3 שאומן ישירות על SQuAD2.0. הוא מתאים למי שרוצה לשלוף תשובה מדויקת מתוך טקסט בלי להמציא מילים ובלי לשלם לפי טוקן.

  • 278Mפרמטרים
  • 512טוקנים בהקשר
  • 2.1 GBמשקל הקבצים
  • 73,957הורדות בחודש

מה זה

במקום לייצר טקסט חופשי, המודל הזה מבצע Extractive QA בלבד. נותנים לו שאלה וקטע קריאה, והוא מחזיר את המיקום המדויק שבו מופיעה התשובה מילה במילה. הבסיס שלו הוא mDeBERTa-v3 עם 12 שכבות שאומן מראש על מאגר CC100 הרב לשוני, ועבר כאן כוונון עדין של שלושה אפוקים על דאטה סט SQuAD2.0.

בבדיקה על סט הפיתוח של SQuAD2.0 הוא הגיע לציון F1 כולל של 84.00 ודיוק מדויק של 80.88. הנתון המעניין באמת הוא היכולת לזהות שאין תשובה בטקסט, תחום שבו הוא מציג F1 של 82.10 על קרוב לששת אלפים דוגמאות ריקות. הוא עושה פחות הזיות ממודלים יוצרים כי הוא כבול לתוכן הנתון, אבל אם הניסוח דורש הסקת מסקנות שלא כתובה שחור על גבי לבן, הוא פשוט לא ימצא אותה.

מתאים ל

  • שליפת תשובות מתוך צ'אנק

    מציאת משפט מדויק מתוך מקטע של עד 512 טוקנים במערכות חיפוש.

  • זיהוי שאלות ללא מענה

    סינון שאלות שאין להן מענה במסמך בזכות אימון ייעודי על SQuAD2.0.

  • בוט תמיכה מבוסס מאמרים

    החזרת ציטוט מתוך מדריך טכני בלי חשש מהמצאות והזיות של מודל יוצר.

איפה זה נופל

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

שאלות
נפוצות

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

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

איך מתמודדים עם חלון של 512 טוקנים במסמכים ארוכים?

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

איך מריצים

טוענים אותו דרך transformers ישירות לתוך פייפליין של question-answering בכמה שורות פייתון. עם 278 מיליון פרמטרים ומשקל קבצים של 2.1 גיגה בייט בפורמט float32, אפשר להריץ אותו בקלות על מעבד רגיל, או על כרטיס מסך בסיסי עם 4 גיגה זיכרון כדי לקבל זמני תגובה של מילישניות.

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

from transformers import pipeline

pipe = pipeline("question-answering", model="timpal0l/mdeberta-v3-base-squad2")
print(pipe("שלום"))

הרישיון

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

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

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