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

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

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

הטמעה של טקסט SynthID ברמת הייצור זמינה Huming Face Transformers בגרסה 4.46.0+, שאפשר לנסות מרחב הטקסט SynthID הרשמי. יישום של קובצי עזר זמינה גם ב-GitHub, שעשויה להיות שימושית לצורכי קוד פתוח מספקים ותורמים שרוצים להביא את הטכניקה הזו של מסגרות.

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

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

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

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

  • הפרמטר keys הוא רשימה של מספרים שלמים ייחודיים ואקראיים שמשמשים לחישוב ציונים של פונקציית g בלקסיקון של המודל. האורך של הרשימה הזו קובעת כמה שכבות של סימני מים יהיו בשימוש. צפייה נספח ג' 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 במאמר.

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

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

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

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

מגבלות

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

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

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