GPT
D

deberta-v3-base-prompt-injection-v2

קוד פתוח

protectaiapache-2.02024-04-20

  • transformers
  • onnx
  • safetensors
  • deberta-v2
  • text-classification

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

  • 184Mפרמטרים
  • 512טוקנים בהקשר
  • 1.4 GBמשקל הקבצים
  • 817,520הורדות בחודש

מה זה

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

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

מתאים ל

  • סינון קלט משתמש באנגלית

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

  • שכבת אבטחה לפני סוכן אוטונומי

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

  • סריקת היסטוריית שיחות מקומית

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

איפה זה נופל

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

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

אותה משפחה

deberta-v3-base-prompt-injection יצא ב־2 גרסאות שיש להן עמוד כאן. אלה האחרות, לפי כמה מורידים אותן.

שאלות
נפוצות

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

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

למה לא להעביר גם את הוראות המערכת לבדיקה אצלו?

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

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

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("text-classification", model="protectai/deberta-v3-base-prompt-injection-v2")
print(pipe("שלום"))

הרישיון

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

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

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