SynthID: เครื่องมือสำหรับการใส่ลายน้ำและตรวจหาข้อความที่ LLM สร้างขึ้น

ปัญญาประดิษฐ์ (AI) แบบ Generative (GenAI) สามารถสร้างเนื้อหาที่หลากหลายมากขึ้นในวงกว้างอย่างที่ไม่เคยมีมาก่อน แม้ว่าการใช้งานส่วนใหญ่จะมีจุดประสงค์ที่ถูกต้อง แต่เราก็กังวลว่าอาจทำให้เกิดปัญหาการให้ข้อมูลที่ไม่ถูกต้องและการระบุแหล่งที่มาที่ไม่ถูกต้อง การใส่ลายน้ำเป็นเทคนิคหนึ่ง ในการลดผลกระทบที่อาจเกิดขึ้น ลายน้ำที่มนุษย์มองไม่เห็นสามารถใช้กับเนื้อหาที่ AI สร้างขึ้นได้ และโมเดลการตรวจจับสามารถให้คะแนนเนื้อหาแบบกำหนดเองเพื่อระบุแนวโน้มว่าเนื้อหามีลายน้ำหรือไม่

SynthID เป็นเทคโนโลยีจาก Google DeepMind ที่ใช้ใส่ลายน้ำและระบุคอนเทนต์ที่ AI สร้างขึ้นโดยการฝังลายน้ำดิจิทัลลงในรูปภาพ เสียง ข้อความ หรือวิดีโอที่ AI สร้างขึ้นโดยตรง SynthID Text เป็นแบบโอเพนซอร์สเพื่อให้นักพัฒนาซอฟต์แวร์ ใช้ลายน้ำสำหรับการสร้างข้อความได้ คุณสามารถอ่านบทความใน Nature เพื่อดูคำอธิบายทางเทคนิคที่สมบูรณ์ยิ่งขึ้นเกี่ยวกับวิธีการนี้

การใช้งาน SynthID Text ระดับเวอร์ชันที่ใช้งานจริงมีอยู่ใน Hugging Face Transformers v4.46.0 ขึ้นไป ซึ่งคุณสามารถทดลองใช้ได้ใน SynthID Text Space อย่างเป็นทางการ การใช้งานอ้างอิงยังพร้อมให้ใช้งานใน GitHub ซึ่งอาจเป็นประโยชน์สำหรับผู้ดูแลโอเพนซอร์สและผู้มีส่วนร่วมที่ต้องการนําเทคนิคนี้ไปใช้กับเฟรมเวิร์กอื่นๆ

การใช้ลายน้ำ

ในทางปฏิบัติ ข้อความ SynthID คือตัวประมวลผลตรรกะที่ใช้กับไปป์ไลน์การสร้างของโมเดลต่อจาก Top-K และ Top-P ซึ่งช่วยเสริมตรรกะของโมเดลโดยใช้ฟังก์ชัน g เทียมเพื่อเข้ารหัสข้อมูลลายน้ำในลักษณะที่จะช่วยให้คุณระบุได้ว่าข้อความสร้างขึ้นโดยโมเดลหรือไม่ โดยไม่ส่งผลต่อคุณภาพของข้อความมากนัก ดูคำอธิบายทางเทคนิคที่สมบูรณ์เกี่ยวกับอัลกอริทึมและการวิเคราะห์ว่าค่าการกําหนดค่าต่างๆ ส่งผลต่อประสิทธิภาพอย่างไรได้ในบทความ

จะมีการกําหนดค่าลายน้ำเพื่อกำหนดพารามิเตอร์ของฟังก์ชัน g และวิธีใช้ระหว่างการสร้าง การกําหนดค่าลายน้ำแต่ละรายการที่คุณใช้ควรจัดเก็บอย่างปลอดภัยและเป็นส่วนตัว ไม่เช่นนั้นผู้อื่นอาจทำซ้ำลายน้ำของคุณได้โดยง่าย

คุณต้องกำหนดพารามิเตอร์ 2 รายการในการกำหนดค่าลายน้ำทุกครั้ง ดังนี้

  • พารามิเตอร์ keys คือรายการจำนวนเต็มแบบสุ่มที่ไม่ซ้ำกันซึ่งใช้ในการคำนวณคะแนน g ในคำศัพท์ของโมเดล ความยาวของรายการนี้จะกำหนดจำนวนเลเยอร์ของลายน้ำที่จะใช้ ดูรายละเอียดเพิ่มเติมได้ในภาคผนวก C.1 ในบทความ
  • พารามิเตอร์ ngram_len ใช้เพื่อรักษาสมดุลระหว่างความเสถียรและความสามารถในการตรวจจับ โดยยิ่งค่ามีขนาดใหญ่เท่าใด ลายน้ำก็จะยิ่งตรวจจับได้ยากขึ้นเท่านั้น ความยาว 5 คือค่าเริ่มต้นที่ดี

คุณสามารถกําหนดค่าลายน้ำเพิ่มเติมตามความต้องการด้านประสิทธิภาพได้ ดังนี้

  • ตารางการสุ่มตัวอย่างจะกําหนดค่าโดยพร็อพเพอร์ตี้ 2 รายการ ได้แก่ sampling_table_size และ sampling_table_seed คุณควรใช้ sampling_table_size อย่างน้อย\( 2^{16} \) เพื่อให้แน่ใจว่าฟังก์ชัน g จะไม่ลำเอียงและเสถียรเมื่อทำการสุ่มตัวอย่าง แต่โปรดทราบว่าขนาดของตารางการสุ่มตัวอย่างจะส่งผลต่อปริมาณหน่วยความจำที่จําเป็น ณ เวลาอนุมาน คุณใช้จํานวนเต็มใดก็ได้เป็น sampling_table_seed
  • ระบบจะไม่ใส่ลายน้ำใน n-gram ที่ซ้ำกันของโทเค็นก่อนหน้า context_history_size รายการเพื่อปรับปรุงการตรวจจับ

คุณไม่จำเป็นต้องฝึกโมเดลเพิ่มเติมเพื่อสร้างข้อความที่มีลายน้ำข้อความ SynthID โดยใช้โมเดลของคุณ เพียงแค่การกำหนดค่าลายน้ำที่ส่งไปยัง.generate()เมธอดของโมเดลเพื่อเปิดใช้งานตัวประมวลผลลอจิต์ข้อความ SynthID ดูตัวอย่างโค้ดที่แสดงวิธีใส่ลายน้ำในไลบรารี Transformers ได้ที่บล็อกโพสต์และ Space

การตรวจจับและตรวจสอบลายน้ำได้

การตรวจหาลายน้ำเป็นเรื่องที่เป็นไปได้ เรามีเครื่องตรวจหาแบบเบย์เซียนพร้อมให้ใช้งานใน Hugging Face Transformers และบน GitHub เครื่องมือตรวจจับนี้สามารถแสดงผลสถานะการตรวจจับได้ 3 สถานะ ได้แก่ มีลายน้ำ ไม่มีลายน้ำ หรือไม่แน่ใจ และสามารถปรับแต่งลักษณะการทํางานได้โดยการตั้งค่าเกณฑ์ 2 ค่าเพื่อให้ได้อัตราผลบวกลวงและผลลบลวงที่ต้องการ ดูรายละเอียดเพิ่มเติมได้ในภาคผนวก C.8 ในบทความ

โมเดลที่ใช้ตัวแยกวิเคราะห์เดียวกันยังสามารถแชร์การกำหนดค่าและตัวตรวจจับลายน้ำได้ จึงจะแชร์ลายน้ำเดียวกัน ตราบใดที่ชุดข้อมูลการฝึกของตัวตรวจจับมีตัวอย่างจากโมเดลทั้งหมดที่ใช้ลายน้ำร่วมกัน

เมื่อคุณมีเครื่องตรวจที่ผ่านการฝึกแล้ว คุณสามารถเลือกได้ว่าจะแสดงหรือไม่แสดงเครื่องตรวจต่อผู้ใช้และสาธารณชนโดยทั่วไป

  • ตัวเลือกส่วนตัวทั้งหมดจะไม่เผยแพร่หรือแสดงตัวตรวจจับไม่ว่าในทางใดก็ตาม
  • ตัวเลือกแบบกึ่งส่วนตัวจะไม่ปล่อยตัวตรวจจับ แต่จะแสดงผ่าน API
  • ตัวเลือกสาธารณะจะเผยแพร่เครื่องตรวจจับเพื่อให้ผู้อื่นดาวน์โหลดและใช้

คุณและองค์กรต้องตัดสินใจว่าแนวทางการยืนยันการตรวจจับใดเหมาะกับความต้องการของคุณมากที่สุด โดยพิจารณาจากความสามารถของคุณในการสนับสนุนโครงสร้างพื้นฐานและกระบวนการที่เกี่ยวข้อง

ข้อจำกัด

ลายน้ำข้อความ SynthID ทนต่อการเปลี่ยนแปลงบางอย่าง เช่น การตัดข้อความบางส่วน การแก้ไขคำไม่กี่คำ หรือการถอดความเล็กน้อย แต่วิธีนี้มีข้อจำกัด

  • การใช้ลายน้ำมีประสิทธิภาพน้อยกว่าในการตอบกลับที่เป็นข้อเท็จจริง เนื่องจากมีโอกาสน้อยที่จะเพิ่มจำนวนคำตอบโดยไม่ลดความแม่นยำ
  • คะแนนความเชื่อมั่นของตัวตรวจจับอาจลดลงอย่างมากเมื่อมีการเขียนข้อความที่ AI สร้างขึ้นใหม่ทั้งหมดหรือแปลเป็นภาษาอื่น

ข้อความ SynthID ไม่ได้ออกแบบมาเพื่อหยุดสิ่งที่มุ่งหมายให้ฝ่ายตรงข้ามก่อให้เกิดอันตรายโดยตรง อย่างไรก็ตาม การตรวจสอบนี้อาจทำให้การใช้เนื้อหาที่ AI สร้างขึ้นเพื่อวัตถุประสงค์ที่เป็นอันตรายทำได้ยากขึ้น และสามารถนำมารวมกับแนวทางอื่นๆ เพื่อให้ครอบคลุมเนื้อหาและแพลตฟอร์มต่างๆ ได้ดีขึ้น