生成式人工智慧 (GenAI) 可產生更多樣化的內容,規模遠超乎以往的想像。雖然這類使用行為大多是為了合法目的,但仍有擔憂,認為這可能會導致錯誤資訊和錯誤歸屬問題。水印是減輕這些潛在影響的一種技巧。我們可以為 AI 生成的內容套用人類無法察覺的浮水印,偵測模型則可為任意內容評分,指出內容是否可能已加上浮水印。
SynthID 是 Google DeepMind 開發的技術 直接在內容中嵌入數位浮水印,藉此辨識 AI 生成的內容 AI 生成的圖像、音訊、文字或影片SynthID 文字已採用開放原始碼 ,讓開發人員能夠使用文字生成功能。你可以閱讀 參閱《自然》論文一文,瞭解有關整體 方法的說明。
如要實作實際工作環境等級的 SynthID 文字,請前往 Hugging Face Transformer 4.46.0+ 版,您可在 官方的 SynthID 文字空間。參考實作 以及 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
。 context_history_size
之前符記中重複 n 公克 加上浮水印,可提升可偵測性。
您不需要額外訓練,即可使用模型產生帶有 SynthID 文字浮水印的文字,只需要將浮水印設定傳遞至模型的 .generate()
方法,即可啟用 SynthID 文字邏輯函式處理器。請參閱網誌文章和 Space 中的程式碼範例,瞭解如何在 Transformers 程式庫中套用浮水印。
浮水印偵測與驗證
浮水印偵測功能會以機率為準。Hugging Face Transformers 和 GitHub 提供貝葉斯偵測器。這個偵測器可輸出三種可能的偵測狀態:有浮水印、沒有浮水印或不確定。您可以設定兩個閾值來自訂行為。請參閱「附錄 C.8」 文件。
您可以調整門檻來達到特定的偽陽性和偽陽性 特定提示或文章長度為負值詳情請參閱論文的附錄 C.8。
訓練完成的偵測器完成後,您可以選擇是否要向使用者和大眾公開,以及公開的方式。
- Full-private 選項不會釋出或公開 。
- 「半私密」選項不會釋出偵測器,但會透過 API 公開偵測器。
- public 選項會釋放偵測工具供他人下載及使用。
您和貴機構必須決定哪種偵測驗證方法 是您需求的最佳選擇,因為您能夠 基礎架構和程序
限制
SynthID 文字浮水印非常適合某些轉換,可以裁剪片段 或稍微改寫字詞等 。
- 水印應用程式對事實回應的效果較低,因為在沒有降低準確度的情況下,擴增生成的機會較少。
- 如果 AI 產生的文字經過徹底重寫或翻譯成其他語言,偵測器的可信度分數可能會大幅降低。
SynthID 文字的目的並非直接阻止有動機的對手 傷害。不過,這項功能可讓 AI 產生的內容不易被用於惡意用途,而且還能與其他方法搭配使用,進一步擴大涵蓋的內容類型和平台。