SynthID: כלים להוספת סימן מים ולזיהוי טקסט שנוצר על ידי LLM

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

SynthID היא טכנולוגיה של Google DeepMind שמאפשרת להוסיף סימני מים לתוכן שנוצר על ידי AI ולזהות אותו. לשם כך, הטכנולוגיה מטמיעה סימני מים דיגיטליים ישירות בתמונות, בקטעי אודיו, בטקסט או בסרטונים שנוצרו על ידי AI. SynthID Text זמין כקוד פתוח כדי לאפשר למפתחים להוסיף סימני מים ליצירת טקסט. תוכלו לקרוא את המאמר ב-Nature כדי לקבל תיאור טכני מקיף יותר של השיטה.

הטמעה של SynthID Text ברמת הייצור זמינה ב-Hugging Face Transformers v4.46.0 ואילך, ואפשר לנסות אותה ב-SynthID Text Space הרשמי. יש גם הטמעת עזר זמינה ב-GitHub, שיכולה להיות שימושית למנהלי קוד פתוח ולתורמים שרוצים להשתמש בשיטה הזו במסגרות אחרות.

הוספת סימן מים

באופן מעשי, SynthID Text הוא מעבד לוגיטים, שמוחל על צינור עיבוד הנתונים ליצירת המודל אחרי Top-K ו-Top-P, שמוסיף לוגיטים של המודל באמצעות פונקציית g פסאודו-אקראית כדי לקודד מידע של סימון מים באופן שיעזור לכם לקבוע אם הטקסט נוצר על ידי המודל, בלי להשפיע באופן משמעותי על איכות הטקסט. במאמר מפורט תיאור טכני מלא של האלגוריתם, וניתוח של ההשפעה של ערכי הגדרה שונים על הביצועים.

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

צריך להגדיר שני פרמטרים בכל הגדרה של סימן מים:

  • הפרמטר keys הוא רשימה של מספרים שלמים ייחודיים ואקראיים שמשמשים לחישוב ציונים של פונקציית g בלקסיקון של המודל. האורך של הרשימה הזו קובע את מספר השכבות של סימני המים שיחולו. פרטים נוספים זמינים נספח C.1 במאמר.
  • הפרמטר ngram_len משמש לאיזון בין חוזק לבין יכולת זיהוי. ככל שהערך גדול יותר, כך קל יותר לזהות את סימן המים, אבל הוא גם יותר רגיש לשינויים. אורך של 5 הוא ערך ברירת מחדל טוב.

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

  • טבלת דגימה מוגדרת על ידי שני מאפיינים, sampling_table_size ו-sampling_table_seed. כדאי להשתמש ב-sampling_table_size של\( 2^{16} \) לפחות כדי להבטיח פונקציית g ללא הטיות ויציבות בזמן הדגימה, אבל חשוב לזכור שהגודל של טבלת הדגימה משפיע על כמות הזיכרון הנדרשת בזמן ההסקה. אפשר להשתמש בכל מספר שלם שרוצים בתור sampling_table_seed.
  • n גרם שחוזר על עצמו ב-context_history_size האסימונים הקודמים לא מסומן בסימני מים כדי לשפר את יכולת הזיהוי.

כדי ליצור טקסט עם סימן מים של SynthID Text באמצעות המודלים שלכם, לא נדרש אימון נוסף, אלא רק הגדרת סימן מים שמועברת לשיטה .generate() של המודל כדי להפעיל את מעבד הלוגיטים של SynthID Text. בפוסט בבלוג ובמרחב תוכלו למצוא דוגמאות קוד שממחישות איך להחיל סימן מים בספריית Transformers.

זיהוי ואימות של סימני מים

זיהוי סימני מים הוא הסתברותי. גלאי בייסיאני זמין ב-Hugging Face Transformers וב-GitHub. הגלאי הזה יכול להפיק שלושה מצבי זיהוי אפשריים – עם סימן מים, ללא סימן מים או לא בטוח – וניתן להתאים אישית את ההתנהגות על ידי הגדרת שני ערכי סף כדי להשיג שיעור מסוים של תוצאות חיוביות שגויות ותוצאות שליליות שגויות. פרטים נוספים זמינים בנספח C.8 במאמר.

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

אחרי שתתאמנו את הגלאי, תוכלו לבחור אם לחשוף אותו למשתמשים שלכם ולציבור הרחב, ואם כן, איך לעשות זאת.

  • באפשרות פרטית לחלוטין, הגלאי לא יפורסם או ייחשף בשום צורה.
  • האפשרות semi-private לא משחררת את המזהה, אבל חושפת אותו באמצעות API.
  • האפשרות גלוי לכולם מאפשרת לאחרים להוריד את הגלאי ולהשתמש בו.

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

מגבלות

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

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

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