Dictionary · ความปลอดภัยและสังคม · 228 / 301

Content moderation

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

Content moderation คือชั้นกรองเนื้อหาที่คั่นอยู่ระหว่างเรากับ model โดยตรวจสองทาง ทั้งข้อความที่เราพิมพ์ส่งเข้าไป (prompt) และคำตอบที่ model สร้างออกมา (completion) ถ้าเนื้อหาเข้าเกณฑ์หมวดต้องห้ามที่ผู้ให้บริการกำหนดไว้ ระบบจะบล็อกก่อนที่ข้อความจะเดินทางถึงปลายทาง สิ่งที่คนเข้าใจผิดกันมากที่สุดคือคิดว่าตัว model เป็นคนตัดสินใจปฏิเสธเอง แต่เอกสารของ Microsoft อธิบายว่าระบบกรองของ azure-openai เป็นชุด classification model แยกอีกก้อนหนึ่งที่เอา prompt และ completion มารันซ้ำต่างหาก ฝั่ง openai ยิ่งชัดกว่านั้นเพราะแยกออกมาเป็น endpoint ชื่อ moderation ที่นักพัฒนาเรียกใช้เองได้ตรงๆ เอกสารระบุว่าใช้งานได้ฟรี รับได้ทั้งข้อความและภาพ โดยไฟล์ภาพมีขนาดได้ถึง 20 MB พูดง่ายๆ คือมันเป็นยามหน้าประตูคนละคนกับเจ้าของบ้าน และยามคนนี้อ่านแค่ถ้อยคำที่เห็นตรงหน้า ไม่ได้รู้ว่าคนที่ยืนอยู่หน้าประตูทำอาชีพอะไร

หมวดที่ใช้ตัดสินไม่ใช่ความเห็นลอยๆ แต่เขียนไว้เป็นรายชื่อในเอกสารของแต่ละเจ้า เอกสารของ OpenAI ระบุหมวดของ moderation model ที่ชื่อ omni-moderation-latest ไว้ 13 หมวดย่อย ได้แก่ harassment, harassment/threatening, hate, hate/threatening, illicit, illicit/violent, self-harm, self-harm/intent, self-harm/instructions, sexual, sexual/minors, violence และ violence/graphic โดยผลที่คืนกลับมามีทั้งค่า flagged ที่บอกว่าเข้าข่ายหรือไม่ ค่า categories ที่ระบุว่าเข้าข่ายหมวดไหนบ้าง และค่า category_scores ที่เป็นคะแนนความมั่นใจรายหมวด ส่วนเอกสารของ Microsoft แบ่งหมวดหลักไว้สี่หมวดคือ Hate and Fairness, Sexual, Violence และ Self-Harm แต่ละหมวดไล่ระดับความรุนแรงเป็นสี่ขั้นคือ safe, low, medium และ high เนื้อหาที่ถูกจัดว่าอยู่ขั้น safe จะถูกบันทึกไว้เฉยๆ ไม่ถูกกรองและปรับค่าไม่ได้ นอกจากสี่หมวดหลักยังมีตัวกรองอีกกลุ่มหนึ่งที่เปิดปิดแยกได้ และเอกสารของ Microsoft ระบุค่าเริ่มต้นของแต่ละตัวไว้ชัดเจน Prompt Shields หมวด User Prompt Attacks สำหรับการหลอกที่ผู้ใช้พิมพ์เองอย่าง jailbreak เปิดไว้ให้ตั้งแต่ต้น ส่วนหมวด Indirect Attacks สำหรับคำสั่งแฝงที่แอบมากับเอกสารที่ระบบไปอ่านอย่าง prompt-injection ปิดไว้และต้องเปิดเอง ตัวกรอง Protected Material ที่ดักเนื้อหามีลิขสิทธิ์ทั้งฝั่งข้อความและฝั่งโค้ดก็เปิดไว้ให้ตั้งแต่ต้นเช่นกัน ขณะที่ตัวกรอง Groundedness และตัวกรอง PII ที่ทำงานคล้าย pii-redaction กับคำตอบขาออก ยังอยู่ในสถานะ Preview และปิดไว้เป็นค่าเริ่มต้น เวลาโดนบล็อกจริงจะเห็นสองอาการ ถ้าติดตั้งแต่ prompt ขาเข้า Microsoft ระบุว่า API จะคืน HTTP 400 พร้อมรหัส content_filter แต่ถ้าติดตอนคำตอบกำลังออก ค่า finish_reason จะกลายเป็น content_filter แทน และเอกสารยังมีโหมด streaming ที่กรองไปพร้อมกับตอนที่ข้อความทยอยไหลออกมาเพื่อลดเวลารอ

ปัญหาที่กระทบงานจริงมากที่สุดคือผลบวกลวง เพราะเกณฑ์อ่านถ้อยคำ ไม่ได้อ่านเจตนา ตารางระดับความรุนแรงของ Microsoft ยกตัวอย่างใบสั่งยาและการวินิจฉัยโรคไว้เป็นหนึ่งในรายการของหมวด Sexual ระดับ low โดยระดับ low ของหมวดนี้กำกับขอบเขตไว้ว่าหมายถึงข้อความที่พาดพิงเรื่องเพศแบบไม่โจ่งแจ้ง ส่วนเนื้อหาที่มีคำเกี่ยวกับเรื่องเพศแต่ใช้ในบริบททั่วไปที่ปลอดภัย เช่น การแพทย์ การศึกษา และวิทยาศาสตร์ ตารางเดียวกันจัดไว้ที่ระดับ safe ซึ่งบันทึกไว้เฉยๆ ไม่ถูกกรอง แปลว่าองค์กรที่ตั้งเกณฑ์เข้มถึงระดับ low เพราะกลัวปัญหา จะเสี่ยงให้เอกสารการแพทย์ที่แตะเรื่องเพศ เช่น เวชระเบียนสูตินรีเวชหรือผลตรวจโรคติดต่อทางเพศสัมพันธ์ โดนกรองไปด้วย ขณะที่ค่าเริ่มต้นซึ่งเอกสารกำหนดไว้ที่ระดับ medium ทั้งขาเข้าและขาออกสำหรับ model กลุ่มข้อความ ยังปล่อยผ่าน กลับกันมีของบางอย่างที่ค่าเริ่มต้นบล็อกอยู่แล้ว เพราะตารางเดียวกันจัดการอ้างถึงเหตุกราดยิงที่เป็นข่าวและการอ้างถึงเหตุการณ์ฆ่าล้างเผ่าพันธุ์ในเชิงประวัติศาสตร์ โดยไม่ได้สนับสนุนหรือยกย่อง ไว้ที่หมวด Violence ระดับ medium ซึ่งเท่ากับเกณฑ์เริ่มต้นพอดี งานสำนวนคดี งานข่าว และงานสอนประวัติศาสตร์จึงสะดุดได้ตั้งแต่ยังไม่ทันปรับอะไร อีกจุดที่คนไทยควรรู้คือเอกสารของ Microsoft ระบุรายชื่อภาษาที่ใช้ train และทดสอบ model กรองข้อความไว้แปดภาษา คือ English, German, Japanese, Spanish, French, Italian, Portuguese และ Chinese ซึ่งไม่มีภาษาไทย และเขียนกำกับไว้ตรงๆ ว่าภาษาอื่นใช้ได้แต่ความแม่นยำและอัตราผลบวกลวงแตกต่างกันไป ข่าวดีคือความเข้มปรับได้จริง ไม่ใช่ของตายตัว ฝั่ง Microsoft ให้เลื่อนเกณฑ์ของสี่หมวดหลักได้สามระดับแยกกันระหว่างขาเข้ากับขาออก ส่วนการปิดกรองทั้งหมดหรือให้บันทึกอย่างเดียวโดยไม่บล็อก ต้องผ่านการอนุมัติผ่านแบบฟอร์ม Limited Access Review: Modified Content Filters ก่อน โดยเอกสารระบุว่าสิทธิ์ยื่นคำขอเปิดให้เฉพาะลูกค้าและคู่ค้าที่มีทีมดูแลบัญชีของ Microsoft หรืออยู่ในโครงการที่เข้าเกณฑ์เท่านั้น ทั้งยังเขียนกำกับไว้ว่าเวลานี้ยังสมัครเข้าเป็นลูกค้ากลุ่มดังกล่าวไม่ได้ องค์กรทั่วไปจึงทำได้แค่ขยับระดับความเข้ม ฝั่ง gemini เอกสารของ Google ให้ตั้งค่าสี่หมวดคือ Harassment, Hate speech, Sexually explicit และ Dangerous ซึ่งเวลาเรียกผ่าน API ใช้ชื่อ HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT และ HARM_CATEGORY_DANGEROUS_CONTENT ตามลำดับ โดยตั้งได้เองรายคำขอ ตั้งแต่ OFF ไปจนถึง BLOCK_LOW_AND_ABOVE โดยระบุว่าค่าเริ่มต้นของ Gemini รุ่น 2.5 และ 3 คือ Off แต่กันไว้ว่าการตั้งค่าหลวมกว่าปกติอาจถูกตรวจสอบตามเงื่อนไขการใช้งาน และส่วนที่เกี่ยวกับความปลอดภัยของเด็กแก้ไม่ได้ สิ่งที่ทีมงานควรทำจึงมีสามอย่าง อ่านค่าที่ระบบส่งกลับมาทุกครั้งว่าถูกกรองด้วยหมวดไหน เก็บเคสที่โดนบล็อกทั้งที่ถูกต้องไว้เป็นหลักฐานก่อนขอปรับเกณฑ์ และวาง human-review ไว้รับงานที่ค้างอยู่ที่ด่าน เพราะเอกสารของ Microsoft ยังเตือนอีกข้อว่าถ้าระบบกรองล่มหรือทำงานไม่ทัน คำขอจะวิ่งผ่านไปโดยไม่ถูกกรองเลย และเราจะรู้ได้ก็ต่อเมื่อไปไล่ดูค่าที่คืนกลับมาเท่านั้น

ตัวอย่างจากบทสนทนาจริง

ฝ่ายกฎหมาย: ผมให้ AI ช่วยสรุปสำนวนคดีทำร้ายร่างกายให้หน่อย มันขึ้นว่าทำให้ไม่ได้ ทั้งที่เป็นเอกสารที่เปิดเผยต่อสาธารณะอยู่แล้ว ตกลง AI มันตัดสินว่าผมกำลังจะทำอะไรผิดเหรอครับ

ทีม IT: ไม่ใช่ครับ ตัวที่บล็อกคือชั้น content filter ซึ่งอยู่นอกตัว model และดูแค่ถ้อยคำในเอกสาร ไม่รู้ว่าคนใช้เป็นทนายหรือใคร ผมไล่ดูค่าที่ระบบส่งกลับมาแล้ว มันแจ้งว่าถูกกรองด้วยหมวดความรุนแรงครับ

ฝ่ายกฎหมาย: แปลว่างานสำนวนต้องเลิกใช้ AI ไปเลยใช่ไหม

ทีม IT: ไม่ถึงขนาดนั้นครับ เกณฑ์ความเข้มของแต่ละหมวดปรับได้เองทุกบัญชี ส่วนการขอปิดกรองทั้งหมดมีแบบฟอร์มอยู่จริง แต่เอกสารระบุว่าเปิดให้เฉพาะลูกค้าและคู่ค้าที่มีทีมดูแลบัญชีของ Microsoft หรืออยู่ในโครงการที่เข้าเกณฑ์เท่านั้น องค์กรทั่วไปจึงต้องแก้ด้วยการขยับเกณฑ์เป็นหลัก ระหว่างนี้รบกวนส่งงานที่โดนบล็อกทั้งที่ควรผ่านมาให้ผมสัก 10 ชิ้น จะได้รู้ว่าควรขยับหมวดไหน

ระวังสับสนกับ

  • guardrails : guardrails เป็นคำรวมของรั้วทุกชนิดที่ล้อมระบบ AI ตั้งแต่กติกาใน system prompt สิทธิ์ในการเรียกเครื่องมือ ไปจนถึงขั้นตอนอนุมัติของคน ส่วน content moderation คือรั้วเฉพาะชั้นที่จำแนกว่าเนื้อหาเข้าข่ายหมวดต้องห้ามหรือไม่
  • constitutional-ai : เป็นวิธีฝึกให้ตัว model เองรู้จักปฏิเสธตั้งแต่ตอน training ผลลัพธ์จึงฝังอยู่ในน้ำหนักของ model ขณะที่ content moderation เป็นชั้นภายนอกที่รันตอนใช้งานจริง เปิดปิดและปรับเกณฑ์ได้โดยไม่ต้องแตะตัว model
  • jailbreak : jailbreak คือฝั่งคนพยายามหลบด่าน ส่วน content moderation คือตัวด่าน สองคำนี้จึงอยู่คนละฝั่งของด่านเดียวกัน แต่การหลบด่านหลายแบบเล็งไปที่กติกาใน system prompt และการฝึกของตัว model ไม่ได้เล็งมาที่ชั้นกรองเนื้อหาเสมอไป และผู้ให้บริการบางเจ้าทำตัวกรองแยกไว้ดักการหลบด่านโดยเฉพาะ
  • hallucination : ชั้นกรองเนื้อหาตรวจว่าข้อความเข้าข่ายอันตรายหรือไม่ ไม่ได้ตรวจว่าจริงหรือไม่จริง คำตอบที่มั่วแต่สุภาพจึงผ่านด่านนี้ได้สบาย การตรวจความถูกต้องเป็นงานของตัวกรองคนละตัว

ดูคำนี้ใน Knowledge Atlas →

■ ไม่อยากพลาดของใหม่

อ่านจบแล้วอยากตามเรื่อง AI แบบนี้ต่อทุกวัน เรามีสรุปข่าวภาษาไทยส่งทาง LINE ทุกเช้า กดเพิ่มเพื่อนไว้ได้เลย ไม่มีค่าใช้จ่าย

เพิ่มเพื่อนใน LINE →
QR เพิ่มเพื่อน LINE ของ TRAINIAC AIคอมพิวเตอร์สแกนด้วยมือถือได้เลย

Constitutional AIContent provenance