1 คะแนน โดย GN⁺ 2024-06-25 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เพื่อจับ confabulation ซึ่งเป็นคำตอบผิดที่ดูน่าเชื่อแต่สุ่มของ LLM บทความเสนอวิธีคำนวณความไม่แน่นอนจาก การกระจายเชิงความหมาย ของคำตอบ ไม่ใช่จากลำดับคำ
  • สุ่มตัวอย่างคำตอบหลายครั้งสำหรับคำถามเดียวกัน แล้วจัดกลุ่มคำตอบที่มี การบ่งชี้แบบสองทิศทาง ต่อกันเข้าเป็นคลัสเตอร์ความหมายเดียวกัน จากนั้นคำนวณเอนโทรปีรายคลัสเตอร์
  • จากการประเมิน LLaMA 2 Chat, Falcon Instruct และ Mistral Instruct บน TriviaQA, SQuAD 1.1, BioASQ, NQ-Open และ SVAMP ได้ค่าเฉลี่ย AUROC 0.790 สูงกว่า naive entropy 0.691, P(True) 0.698 และ embedding regression 0.687
  • ในชุดข้อมูลชีวประวัติที่สร้างด้วย GPT-4 ชื่อ FactualBio มีข้ออ้างเชิงข้อเท็จจริง 45 รายการจาก 150 รายการที่สกัดจากชีวประวัติของ 21 คนเป็นข้อมูลผิด และ discrete semantic entropy ซึ่งทำงานได้แม้ไม่มีความน่าจะเป็นของเอาต์พุต แสดงค่า AUROC และ AURAC สูงกว่า self-check และรูปแบบดัดแปลงของ P(True)
  • Semantic entropy สามารถทั่วไปไปยังงานใหม่ได้โดยไม่ต้องมีความรู้โดเมนล่วงหน้าหรือป้ายกำกับเฉพาะงาน แต่ไม่ได้รับประกันความเป็นข้อเท็จจริงของ คำตอบที่ผิดอย่างสม่ำเสมอ เช่น ข้อผิดพลาดในข้อมูลฝึก ความล้มเหลวในการให้เหตุผลเชิงระบบ หรือเอาต์พุตที่ทำให้ผู้ใช้เข้าใจผิด

เป้าหมายของการตรวจจับ: ไม่ใช่ภาพหลอนทั้งหมด แต่เป็น confabulation

  • LLM อย่าง ChatGPT หรือ Gemini แสดงความสามารถด้านการให้เหตุผลและการตอบคำถาม แต่การนำไปใช้งานจริงทำได้ยากขึ้นเนื่องจากความเสี่ยง เช่น การแต่งคดีความทางกฎหมาย ข้อเท็จจริงเท็จในข่าว และโดเมนการแพทย์อย่างรังสีวิทยา
  • สิ่งที่กล่าวถึงในที่นี้ไม่ใช่ภาพหลอนทั้งหมดในความหมายกว้าง แต่คือ confabulation
    • LLM พูดได้ลื่นไหล แต่คำตอบผิดและเป็นแบบสุ่ม
    • แม้ใช้คำสั่งเดียวกัน คำตอบก็เปลี่ยนไปตามรายละเอียดที่ไม่เกี่ยวข้อง เช่น random seed
    • ตัวอย่างเช่น สำหรับคำถาม “target ของ Sotorasib คืออะไร?” บางครั้งตอบคำตอบที่ถูกคือ KRASG12 ‘C’ และบางครั้งก็ตอบคำตอบผิดคือ KRASG12 ‘D’
  • ความล้มเหลวประเภทต่อไปนี้แยกจาก confabulation
    • กรณีที่ ผิดอย่างสม่ำเสมอ เพราะข้อมูลฝึกหรือความเชื่อทั่วไปที่ผิด
    • กรณีที่โมเดล โกหก ระหว่างกระบวนการไล่ตามรางวัล
    • ความล้มเหลวในการให้เหตุผลเชิงระบบหรือความล้มเหลวในการ generalize
  • วิธีนี้มุ่งตรวจจับคำตอบผิดแบบสุ่มที่ดูน่าเชื่อแม้ในสายตามนุษย์ และไม่ได้ให้ การรับประกันความเป็นข้อเท็จจริง ของเอาต์พุตจาก LLM

แนวคิดหลักของ Semantic Entropy

  • การคำนวณเอนโทรปีทั่วไปใช้การกระจายความน่าจะเป็นของ ลำดับโทเค็น ที่โมเดลสร้างขึ้น
    • คำตอบที่ถูกเดียวกันสามารถเขียนได้หลายสำนวน ดังนั้นแม้ความหมายเหมือนกัน แต่ถ้าคำต่างกัน เอนโทรปีอาจถูกวัดว่าสูง
    • naive entropy แยกความหลากหลายของรูปแบบการแสดงออกออกจากความแตกต่างทางความหมายไม่ได้
  • Semantic entropy ประเมินความไม่แน่นอนหลังจากจัดกลุ่มคำตอบแบบ free-form เป็น หน่วยความหมาย
    • จัดคำตอบที่มีความหมายเดียวกันเข้าเป็นคลัสเตอร์ความหมายเดียว
    • รวมความน่าจะเป็นรายคลัสเตอร์เพื่อคำนวณเอนโทรปีในระดับหน่วยความหมาย
  • เมื่อให้ตอบคำถามเดียวกันหลายครั้ง หากเปลี่ยนเพียงรูปแบบการแสดงออกแต่ความหมายเหมือนเดิม จะถือว่ามีความไม่แน่นอนต่ำ และหากมีคำตอบที่มีความหมายต่างกันปะปน จะถือว่ามีความไม่แน่นอนสูง
  • สำหรับโมเดลที่ใช้ความน่าจะเป็นของเอาต์พุตไม่ได้ สามารถใช้ discrete semantic entropy ได้
    • ใช้สัดส่วนของจำนวนตัวอย่างที่อยู่ในแต่ละคลัสเตอร์ความหมายแทนความน่าจะเป็นของโทเค็น
    • ในการทดลองกับ GPT-4 ใช้รูปแบบดัดแปลงนี้เพราะในขณะนั้นไม่สามารถเข้าถึงความน่าจะเป็นของเอาต์พุตและ hidden state ได้
    • รูปแบบ discrete มีประสิทธิภาพใกล้เคียงกับ estimator มาตรฐาน

อัลกอริทึม: การสุ่มตัวอย่าง การจัดคลัสเตอร์ความหมาย และการคำนวณเอนโทรปี

  • ขั้นตอนประกอบด้วยสามขั้น
    • การสร้าง: สุ่มตัวอย่างคำตอบหลายรายการสำหรับอินพุตเดียวกัน
    • การจัดคลัสเตอร์: จัดคำตอบเป็นกลุ่มที่มีความหมายเหมือนกัน
    • การประมาณเอนโทรปี: รวมความน่าจะเป็นของลำดับที่อยู่ในคลัสเตอร์ความหมายเดียวกันเพื่อคำนวณเอนโทรปี
  • ความเท่าเทียมทางความหมายถูกประมาณด้วย การบ่งชี้แบบสองทิศทาง
    • หากประโยค A บ่งชี้ประโยค B และประโยค B ก็บ่งชี้ประโยค A จะถือว่ามีความหมายเดียวกัน
    • “The capital of France is Paris” และ “Paris is the capital of France” บ่งชี้กันและกัน จึงถูกประมวลผลเป็นความหมายเดียวกัน
    • คำตอบสั้นอย่าง “Paris” อาจมีความหมายเดียวกับคำตอบที่ยาวกว่าได้เฉพาะภายในบริบทของคำถามเท่านั้น
  • ใช้ LLM ทั่วไปและเครื่องมือ NLI ในการตัดสินการบ่งชี้
    • ในการทดลอง QA และคณิตศาสตร์ เลือกใช้ GPT-3.5 เพราะสอดคล้องกับการประเมินของมนุษย์และมีประสิทธิภาพดีในการตรวจจับ confabulation
    • มีการพิจารณาโมเดล NLI อย่าง DeBERTa-Large-MNLI ด้วย
  • การสุ่มตัวอย่างใช้ temperature 1, nucleus sampling P=0.9 และ top-K sampling K=50
    • สำหรับการประเมินความถูกต้องของโมเดล ใช้การสร้างครั้งเดียวที่ temperature ต่ำ 0.1
  • เนื่องจากประโยคยาวมีปัญหาที่ผลคูณความน่าจะเป็นของโทเค็นเล็กลง จึงใช้ การทำ normalization ตามความยาว ในการเปรียบเทียบ log probability

การประเมินคำถาม-คำตอบและโจทย์คณิตศาสตร์

  • เป้าหมายการประเมินคือชุดข้อมูลที่ต้องการคำตอบแบบ free-form
    • TriviaQA: ความรู้แบบควิซ
    • SQuAD 1.1: การอ่านทำความเข้าใจจาก Wikipedia
    • BioASQ: การถามตอบด้านชีววิทยาศาสตร์
    • NQ-Open: คำถาม open-domain ที่มาจากคำค้นจริงใน Google Search
    • SVAMP: โจทย์คณิตศาสตร์แบบเรื่องราวระดับประถม
  • ในแต่ละชุดข้อมูล สุ่มตัวอย่าง train 400 รายการและ test 400 รายการ
    • ตัว semantic entropy เองไม่ได้ใช้ข้อมูล train
    • ไม่ได้ให้ context passage เดิมของชุดข้อมูล เพื่อทำให้ปัญหายากขึ้นและกระตุ้น confabulation
  • โมเดลที่ใช้มีดังนี้
    • LLaMA 2 Chat 7B, 13B, 70B
    • Falcon Instruct 7B, 40B
    • Mistral Instruct 7B
  • ความยาวเฉลี่ยของคำตอบระดับ sentence-length คือ 96±70 ตัวอักษร และ semantic entropy ทำค่า AUROC เฉลี่ยสูงสุดใน 30 ชุดผสมของงานและโมเดล
    • semantic entropy: 0.790
    • naive entropy: 0.691
    • P(True): 0.698
    • embedding regression: 0.687
  • ประสิทธิภาพของ semantic entropy คงที่เมื่อแยกตามตระกูลและขนาดโมเดล
    • อยู่ในช่วง AUROC 0.78~0.81 ครอบคลุม LLaMA, Falcon และ Mistral
    • ตั้งแต่ขนาด 7B ถึง 70B ก็ยังสูงกว่า baseline
  • P(True) มีแนวโน้มดีขึ้นเมื่อโมเดลมีขนาดใหญ่ขึ้น จึงอาจแข่งขันได้มากขึ้นในสภาพแวดล้อมที่โมเดลมีความสามารถสูงและซื่อสัตย์เข้าใจได้ดี
  • การประเมินการตรวจจับคำตอบผิดรวมทั้ง confabulation และคำตอบผิดเชิงระบบที่ semantic entropy ไม่ได้มุ่งเป้าโดยตรง
    • ถึงอย่างนั้น ผลที่ semantic entropy นำหน้าวิธีอื่นบ่งชี้ว่า confabulation เป็นหมวดหมู่หลักของข้อผิดพลาดในการสร้างจริง

ความถูกต้องแบบอิงการปฏิเสธและตัวชี้วัดการประเมิน

  • AUROC ใช้กับเหตุการณ์ทวิภาคเพื่อแยกว่าคำตอบเฉพาะผิดหรือไม่
    • ค่ามีช่วง 0~1 โดย 1 หมายถึงตัวจำแนกที่สมบูรณ์ และ 0.5 หมายถึงตัวจำแนกที่ไม่มีข้อมูล
  • AURAC คือพื้นที่ใต้โค้ง rejection accuracy
    • วัดความถูกต้องของโมเดลสำหรับคำถามที่เหลือ เมื่อปฏิเสธคำถามที่ถูกตัดสินว่ามีโอกาสเกิด confabulation สูง
    • สรุปการปรับปรุงความถูกต้องที่ผู้ใช้จะได้สัมผัสในหลาย threshold
  • Semantic entropy สามารถใช้ได้ในสถานการณ์ต่อไปนี้
    • ไม่ตอบคำถามที่มีแนวโน้มสูงว่าจะก่อให้เกิด confabulation
    • แจ้งผู้ใช้ว่าคำตอบเฉพาะมีความน่าเชื่อถือต่ำ
    • เสริมกระบวนการที่มีหลักฐานรองรับมากกว่า เช่น การค้นหาหรือขั้นตอนแบบ retrieval
  • การตัดสินถูกผิดของคำตอบระดับ sentence-length ทำแบบอัตโนมัติโดยให้ GPT-4 ตัดสินว่าความหมายของ reference answer และ proposed answer ตรงกันหรือไม่
    • ในเอกสารเสริมแยกต่างหาก มีการตรวจสอบคุณภาพการประเมินอัตโนมัติด้วยการเปรียบเทียบกับการตัดสินของมนุษย์

การสร้างชีวประวัติยาว: การทดลอง FactualBio

  • ในย่อหน้ายาวมีหลายประพจน์ปะปนกัน จึงยากที่จะตัดสินความเท่าเทียมทางความหมายของทั้งย่อหน้าโดยตรง
    • หากสร้างย่อหน้าเดิมใหม่ อาจเกิดความแตกต่างด้าน ลำดับข้อเท็จจริงหรือโครงสร้างย่อหน้า แทนที่จะเป็นความไม่แน่นอนของข้อเท็จจริงเอง
  • FactualBio เป็นชุดข้อมูลชีวประวัติที่สร้างโดย GPT-4 v.0613
    • ใช้บุคคล 21 คนที่เป็นที่รู้จักถึงระดับมีหน้า Wikipedia แต่ไม่มีชีวประวัติรายละเอียดออนไลน์มากนัก
    • สกัดประพจน์เชิงข้อเท็จจริง 150 รายการจากชีวประวัติที่สร้างขึ้นโดยอัตโนมัติ
    • จาก 150 รายการ มี 45 รายการที่ถูกตัดสินว่าเป็นข้ออ้างผิดในการติดป้ายกำกับด้วยมือ
  • สำหรับการสร้างข้อความยาว ใช้ขั้นตอนต่อไปนี้
    • แยกย่อหน้าออกเป็น ข้ออ้างเชิงข้อเท็จจริง รายการย่อย
    • สร้างคำถามอัตโนมัติที่สามารถทำให้ข้ออ้างเชิงข้อเท็จจริงแต่ละรายการเป็นคำตอบได้
    • ให้ LLM เดิมสร้างคำตอบใหม่สำหรับแต่ละคำถาม
    • ใส่คำตอบใหม่และข้ออ้างเชิงข้อเท็จจริงเดิมร่วมกันเพื่อคำนวณ semantic entropy
    • เฉลี่ย semantic entropy ของหลายคำถามเพื่อให้ได้คะแนนความไม่แน่นอนของข้ออ้างเชิงข้อเท็จจริงนั้น
  • สำหรับแต่ละข้อเท็จจริง สร้างคำถาม 6 ข้อ และสร้างคำตอบใหม่ 3 รายการต่อคำถาม
    • คำนวณเอนโทรปีโดยรวมข้ออ้างเชิงข้อเท็จจริงเดิมไว้ด้วย เพื่อรักษา grounding กับ claim เดิม
    • หากคำตอบปฏิเสธอย่าง “not available”, “not provided”, “unknown”, “unclear” เกินครึ่ง จะประมวลผลความไม่แน่นอนเชิงความหมายเป็นค่าสูงสุด
  • ใน FactualBio, discrete semantic entropy ทำค่า AUROC และ AURAC สูงกว่า self-check baseline และรูปแบบดัดแปลงของ P(True) สำหรับ paragraph-length
    • ใน rejection accuracy, discrete semantic entropy ดีกว่าจนถึงจุดที่ปฏิเสธคำถาม 20% และ ณ จุดนั้น P(True) นำหน้าเล็กน้อย

ข้อจำกัดและความเป็นไปได้ในการประยุกต์ใช้

  • Semantic entropy สามารถนำไปใช้กับ LLM หรือ foundation model ที่คล้ายกันได้โดยไม่ต้องแก้สถาปัตยกรรมโมเดล
  • แม้ในสภาพแวดล้อมการเข้าถึงแบบจำกัดที่ไม่มีความน่าจะเป็นของเอาต์พุต ก็สามารถใช้ รูปแบบ discrete ได้
  • ต่างจากวิธี supervised learning ตรงที่ไม่ต้องมีตัวอย่าง confabulation ที่ติดป้ายกำกับ และสามารถ generalize ไปยังงานใหม่ได้โดยไม่ต้องมีความรู้โดเมนล่วงหน้า
    • วิธี supervised อย่าง embedding regression จะมีประสิทธิภาพแย่ลงเมื่อการกระจายของข้อมูลฝึกและข้อมูลใช้งานจริงต่างกัน
  • วิธีนี้ไม่ได้แก้สถานการณ์ที่ LLM ผิดอย่างมั่นใจ โดยตรง
    • เป้าหมายการเรียนรู้ที่สร้างพฤติกรรมอันตรายอย่างเป็นระบบ
    • ข้อผิดพลาดในการให้เหตุผลเชิงระบบ
    • เอาต์พุตที่ทำให้ผู้ใช้เข้าใจผิดอย่างเป็นระบบ
    • กรณีเหล่านี้อาจแสดงอาการคล้าย confabulation แต่ต้องมีการจัดการแยกต่างหาก
  • แนวทางนี้เป็นการนำเครื่องมือประเมินความไม่แน่นอนของ machine learning เชิงความน่าจะเป็นมาใช้กับการสร้างภาษาแบบ free-form โดยยึดความหมายเป็นเกณฑ์ สามารถ generalize ไปยังงานใหม่ได้โดยไม่ต้องมีข้อมูลเฉพาะงาน และช่วยระบุสถานการณ์ที่ผู้ใช้ควรระมัดระวังมากขึ้น

ข้อมูลและโค้ด

  • การทดลองการสร้าง short-phrase และ sentence-length ใช้ชุดข้อมูลสาธารณะ และวิธีการเข้าถึงรวมอยู่ในโค้ดที่เปิดเผยแล้ว
  • FactualBio เวอร์ชันสาธารณะมีให้เป็นส่วนหนึ่งของ codebase สำหรับทำซ้ำการทดลอง paragraph-length
  • ตำแหน่งเผยแพร่โค้ด

1 ความคิดเห็น

 
GN⁺ 2024-06-25
ความคิดเห็นจาก Hacker News
  • ดูเหมือนคอมเมนต์จะเถียงกันเรื่องความหมายของคำหรือการ ทำให้ LLM เป็นมนุษย์ แต่แนวทางนี้มีปัญหาจริงในเชิงคณิตศาสตร์อยู่
    สำหรับข้อความอินพุตใด ๆ จะมีการแจกแจงของข้อความเอาต์พุตที่สอดคล้องกัน และวิธีที่สุ่มตัวอย่างหลายครั้งแล้วประเมินเอนโทรปีหรือความไม่สอดคล้องกันนั้น ดูเหมือนจะอาศัยสมมติฐานว่าเรารู้ คุณสมบัติของการแจกแจงเอาต์พุต นั้นอยู่แล้ว
    ตัวอย่างเช่น สำหรับคำถาม “Tom Cruise มีชื่อเสียงจากอะไร?” คำตอบอย่าง “movie star”, “katie holmes”, “topgun”, “scientology” ซึ่งอยู่ห่างกันมากในปริภูมิเวกเตอร์ ล้วนถูกได้
    ในทางกลับกัน สำหรับ “Taylor Swift มีชื่อเสียงจากอะไร?” หากได้คำตอบที่ใกล้กันในเชิงความหมายอย่าง “standup comedy”, “comedian”, “comedy actress” ทั้งหมดก็อาจเป็นภาพหลอนได้
    หากการรู้การแจกแจงของลำดับคำที่ถูกต้องสำหรับอินพุตหนึ่ง ๆ คือปัญหาที่ LLM ต้องแก้อยู่แล้ว ก็ไม่มีทางตัดสินได้ว่าคำตอบถูกหรือไม่จากการประเมินเฉพาะการแจกแจงเอาต์พุต
    มีโมเดลสถิติที่ประเมินความไม่แน่นอนของเอาต์พุตจากโครงข่ายประสาทเทียม แต่ดูไม่ค่อยเป็นไปได้ในทางปฏิบัติสำหรับขนาดของ LLM และการประมาณแบบบางส่วนที่ใช้แค่ 1–2 เลเยอร์สุดท้ายเป็นการตัดทอนความไม่แน่นอนของทั้งเครือข่ายออกไปอย่างหนัก
    ภาพหลอนที่ผมเจอก็มักเป็นกรณีที่ดูสมจริงมากและดูใกล้คำตอบที่ถูก เช่น การเปลี่ยนชื่อตัวแปรหรือแต่งคีย์การตั้งค่าขึ้นมา แต่จริง ๆ แล้วผิด

    • คำตอบที่มีความไม่แน่นอนสูง ตามนิยามแล้วมีความน่าจะเป็นต่ำ ดังนั้นถ้าถามหลายครั้ง ก็น่าจะได้คำตอบที่ต่างกันในเชิงความหมาย มากกว่าการได้คำตอบหายากแบบเดิมซ้ำ ๆ ว่า Taylor Swift เป็นคอเมเดียน
      ถ้าข้อมูลฝึกบอกว่า Taylor Swift เป็นคอเมเดียน นั่นก็ไม่ใช่ปัญหาภาพหลอน
    • เหมือนเป็นการอธิบายเชิงเทคนิคมากขึ้นของสิ่งที่ผมรู้สึกด้วยหัวสายวิทยาการคอมพิวเตอร์ที่ไม่ค่อยมีคณิตศาสตร์
      ฟังดูคล้ายกับการ ลด temperature ไม่ได้ดึงออกมาจากความจริงที่มีหลักฐานรองรับได้ดีขึ้น แต่เหมือนขยับไปทางที่มีความน่าจะเป็นมากกว่าในปริภูมิเวกเตอร์ อยากรู้ว่าเข้าใจแบบนี้ถูกไหม
    • ข้อทักท้วงนั้นสมเหตุสมผล แต่ในตัวอย่าง Taylor Swift ถ้าเป็นโมเดลที่มีรากฐานดี ผมคิดว่าคงมีโอกาสต่ำที่จะตอบ “คอเมเดียน” ซึ่งไม่มีในข้อมูลฝึกซ้ำ ๆ หลายครั้งติดกัน
      ในตัวอย่าง Tom Cruise ทั้งหมดเป็นความจริงและมีพื้นฐานในข้อมูลฝึก ดังนั้นเทคนิคนี้อาจตัดสินผิดเป็น ผลบวกว่ามีภาพหลอน ได้
      อย่างไรก็ตาม ตัวอย่างใน论文เป็น คำถามที่มีคำตอบเดียว เช่น “ยาตัวนี้ออกฤทธิ์กับตัวรับใด?” หรือ “หอไอเฟลอยู่ที่ไหน?” จึงดูเหมือนอาจช่วยได้สำหรับการใช้งานแบบนั้น
    • พูดอีกแบบคือ “ถ้าสุ่มตัวอย่างแล้วประเมินความคล้ายกันระหว่างตัวอย่าง จะรู้ได้ว่าการแจกแจงกระจายตัวแค่ไหน แต่ไม่รู้ว่าการแจกแจงนั้นถูกต้องหรือไม่”
      เราสุ่มตัวอย่างจากการแจกแจงแบบเกาส์แล้วบอกค่าเบี่ยงเบนมาตรฐานได้ แต่บอกไม่ได้ว่าการแจกแจงนั้นถูกต้องหรือเปล่า
      อาจมีการแจกแจงที่แม่นยำมากของตัวแปรที่มีเอนโทรปีสูง และในทางกลับกัน การแจกแจงที่แน่นหนาและมีค่าเบี่ยงเบนมาตรฐานต่ำก็อาจผิดได้เฉย ๆ หากไม่รู้ล่วงหน้าว่าเอาต์พุตควรมีหน้าตาอย่างไร การสุ่มตัวอย่างอย่างเดียวก็รู้ไม่ได้
    • วิธีใน论文ไม่ได้เป็นแค่ “สุ่มตัวอย่างหลายครั้งแล้วประเมินเอนโทรปีหรือความไม่สอดคล้องกันเท่านั้น”
      แต่สุ่มคำตอบหลายชุด จัดกลุ่มตามความคล้ายกันเชิงความหมาย แล้วรวมความน่าจะเป็นของคำตอบในแต่ละกลุ่มก่อนทำ normalization
      เช่น นำ “music:0.8, musician:0.9, concert:0.7, actress:0.5, superbowl:0.6” มาจัดเป็น [music, musician, concert] → MUSIC, [actress] → ACTING, [superbowl] → SPORTS แล้วคำนวณออกมาเป็น MUSIC:0.686, SPORTS:0.171, ACTING:0.143
      บทความนิยามสิ่งที่ต้องการป้องกันไว้อย่างชัดเจนว่าเป็น การปั้นเรื่อง (confabulation) กล่าวคือข้ออ้างที่ลื่นไหลแต่ผิดและเป็นไปตามอำเภอใจ ซึ่งเปลี่ยนไปอย่างไวต่อรายละเอียดที่ไม่เกี่ยวข้อง เช่น random seed
      ความเข้าใจผิดที่พบบ่อยน่าจะฝังอยู่ในชุดข้อมูลอย่างแข็งแรง และวิธีนี้ออกแนวลงโทษคำตอบที่โดดเดี่ยวจากคำตอบที่เป็นไปได้อื่น ๆ ในเชิงความหมาย อีกทั้ง likelihood ก็คลุมเครือ
      บทความเปรียบเทียบเฉพาะผลการตรวจจับ และไม่ได้เสนอวิธี sampling ที่ปรับปรุงแล้วโดยใช้การตรวจจับนั้น หากนำไปใส่ในเทคนิคการสร้างข้อความ ก็จะมีต้นทุนสูงมากเพราะต้องให้โมเดลสร้างเพิ่มราว 10 เท่า
      โค้ด: https://github.com/jlko/semantic_uncertainty
  • สถาปัตยกรรม LLM ในปัจจุบันมุ่งเน้นไปที่ด้านการค้นคืนเป็นหลัก และน้ำหนักที่เรียนรู้มาก็เพียงลู่เข้าไปสู่การทำนายโทเค็นถัดไปให้ดีเท่านั้น
    ผมคิดว่าความสามารถในการนำข้อมูลนี้ไปใส่ไว้ในระบบตรรกะก็ควรเป็นเป้าหมายการเรียนรู้ด้วย
    หากเพิ่ม การตรวจสอบรูปแบบความรู้ ในขั้นการเรียนรู้เข้าไปในการทำนายโทเค็นถัดไป LLM ก็จะรักษาความสอดคล้องของการสร้างความรู้ และจะสามารถเห็นภาพหลอนที่ถูกต้อง กล่าวคือสิ่งที่ใกล้เคียงกับจินตนาการได้
    กระบวนการอาจเป็นการใช้โมเดลขนาดใหญ่ที่มีอยู่แปลงข้อมูลฝึกเดิมให้เป็นความสัมพันธ์เชิงตรรกะรูปแบบ ให้สร้างคำตอบหลายชุด จากนั้นใช้ชุดข้อมูลเสริมแรงนั้นฝึก LLM ใหม่ที่ไม่เพียงทำนายโทเค็นถัดไป แต่ยังเอาต์พุตความสัมพันธ์เชิงรูปแบบระหว่างความรู้เดิมกับข้อความใหม่ที่สร้างขึ้นด้วย
    เครือข่ายสามารถปรับน้ำหนักให้เหมาะที่สุดควบคู่ไปกับความแม่นยำในการสร้างโทเค็น เพื่อให้โค้ดเชิงรูปแบบที่สร้างขึ้นได้ความแม่นยำสูงในตัวตรวจสอบพิสูจน์
    โดยส่วนตัวแล้ว ภาษาไม่เหมือนเป็นรากฐานของสติปัญญา แต่เป็นสิ่งรองลงมา และรากฐานดูใกล้เคียงกับการจำลองเหมือนความฝันที่มีสิ่งต่าง ๆ ซึ่งสอดคล้องกันมากกว่า ส่วนภาษารู้สึกเหมือนเป็นเครื่องมือที่ใช้อธิบายสิ่งนั้น

    • ข้อเสนอนี้พาย้อนกลับไปสู่ข้อถกเถียงคลาสสิกระหว่างแนวทาง แบบบนลงล่างเชิงรูปแบบ กับแนวทาง แบบล่างขึ้นบนที่ไม่เป็นรูปแบบ เมื่อสร้างระบบจัดการความรู้เชิงความหมาย
      แนวทางบนลงล่างถูกลองใช้มากในยุคก่อนบิ๊กดาต้า ก่อนโมเดลเชิงความน่าจะเป็น แต่ต้องอาศัยการคัดสรรด้วยมือมหาศาล และความรู้ก็ยังไม่เพียงพอ
      การมาถึงของบิ๊กดาต้าไม่ได้แก้ปัญหาการคัดสรร และเมื่อทำให้การคัดสรรเป็นอัตโนมัติไม่ได้ ยิ่งขยายขนาดก็ยิ่งแย่ลง
      เมื่อ AI เปลี่ยนไปทางความน่าจะเป็นราวทศวรรษ 1990 โมเดลความน่าจะเป็นเชิงความสัมพันธ์ในปัจจุบันจึงเป็นไปได้ และไม่เห็นความหวังว่าแนวทางที่คัดสรรมากกว่าและเป็นรูปแบบมากกว่าจะเอาชนะสิ่งเหล่านี้ได้
      ไม่ว่าจะใส่ การคิดแบบประเภทที่ 2 อย่างการให้เหตุผลหรือเหตุปัจจัยเข้าไปใน LLM อย่างไร การนำไปใช้ก็ยังต้องเป็นแบบความน่าจะเป็น·ไม่เป็นรูปแบบ·ล่างขึ้นบนต่อไป
      เป็นที่ชัดเจนแล้วว่าวิธีที่มนุษย์คัดสรรความสัมพันธ์เชิงตรรกะ·ความหมายลงในโมเดลความรู้ด้วยมือ ไม่เพียงพอต่อขนาดที่จำเป็นและการรับมือกับความเปราะบาง
    • ตรรกะเองก็มีปัญหาเฉพาะตัวมากมาย
      ลองดู “Godel, Escher, Bach” หรือคิดดูว่าทำไม OWL มีมา 20 ปีแล้วแต่แทบไม่มีส่วนแบ่งตลาด
      เหตุผลที่ผู้คนลองคำตอบสารพัดนอกเหนือจาก RETE เพื่อจัดการโค้ดอะซิงโครนัส เหตุผลที่ “การประมวลผลเหตุการณ์ซับซ้อน” ยังเป็นสาขาเฉพาะแทนที่จะเป็นคู่แข่งของตัวรันงานอย่าง Celery และเหตุผลที่ Drools ไม่สามารถออกข้อความผิดพลาดที่คนเข้าใจได้ ก็อยู่ในบริบทเดียวกัน
    • ปัญหาเกิดขึ้นกับสิ่งใหม่ที่โมเดลไม่เคยเห็น และคำถามที่แม้แต่มนุษย์ก็ไม่รู้คำตอบ
      ปัญหาภาพหลอนทั้งหมดให้ความรู้สึกเหมือนเป็นปัญหาการหยุดทำงานที่เพิ่มขั้นตอนเข้าไปอีกหน่อย บางทีเราอาจต้องถาม ChatGPT ว่า P=NP หรือไม่
    • ในขั้นแรก CYC อาจเป็นคำตอบที่ใช้ได้
      จากประสบการณ์ของผม มันพอเรียกได้ว่าเป็นสคีมาความสัมพันธ์ที่มีความหมายสำหรับ DAG มีเวอร์ชันโอเพนซอร์สด้วย แต่บริษัทไม่ได้ดูแลโดยตรงแล้ว
      https://cyc.com
      https://github.com/asanchez75/opencyc
    • การตรวจสอบรูปแบบของความรู้หรือความสัมพันธ์เชิงตรรกะงั้นหรือ แล้วจะตรวจสอบนิยาย SF หรือบทกวีในเชิงรูปแบบอย่างไร?
      แล้วปฏิทรรศน์ที่มีอยู่ในธรรมชาติ หรือทฤษฎีที่ขัดแย้งกันแต่แต่ละทฤษฎีถูกต้องตามตรรกะจะทำอย่างไร?
      พูดน่ะง่าย แต่ในความเป็นจริงก็เท่ากับเสนอว่า “ถ้าแก้ ปัญหา NP-hard ที่เรายังแก้ไม่เป็นได้ มันก็จะทำงาน”
  • จะเรียกสิ่งนี้ว่าภาพหลอนก็ได้ แต่ถ้าใช้คำอื่น อาจมองได้ว่าระบบเหล่านี้ ตั้งฉากกับความจริง
    หมายความว่ามันไม่เกี่ยวข้องอะไรกับจริงหรือเท็จเลย
    แนวคิดนี้ก็ถูกแสดงไว้ในบทความนี้ด้วย: https://link.springer.com/article/10.1007/s10676-024-09775-5

    • คล้ายกับการถามว่าการแจกแจงความน่าจะเป็นนั้นจริงหรือเป็นคนโกหก
      การพูดเหมือนอัลกอริทึมมีลักษณะส่วนบุคคลเป็น ความผิดพลาดเชิงหมวดหมู่
    • บทความที่ลิงก์ไว้เป็นเรื่องการตรวจจับว่า LLM เลือกแบบสุ่มในระดับข้อเท็จจริงหรือเลือกอย่างสอดคล้อง
      ความสุ่มที่สร้างขึ้นตามขั้นตอนอาจยอดเยี่ยมสำหรับงานอย่างการระดมสมอง และความสอดคล้องเป็นสัญญาณว่ามันกำลังทำซ้ำบางสิ่งที่ปรากฏค่อนข้างสอดคล้องในสื่อการเรียนรู้ด้วย
      ดังนั้นมันอาจจริงหรือเท็จก็ได้ แต่มีความเป็นไปได้มากขึ้นว่าถูกนำมาจากที่ไหนสักแห่ง
      การรู้ว่าข้อมูลสุ่มมากแค่ไหนดูเหมือนเป็นความก้าวหน้าเล็ก ๆ
    • LLM ถูกฝึกด้วยเป้าหมายว่า “ไม่ว่าอะไรจะเกิดขึ้น จงตอบอย่างน้อยสามย่อหน้า” และคำตอบแบบนั้นมักถูกชอบมากกว่าการเงียบหรือคำตอบไม่เป็นมิตรอย่าง “คุณกำลังพูดเรื่องอะไร?”
      ถ้าเช่นนั้น ในทางปฏิบัติก็เท่ากับสอนให้มันพูด เรื่องเหลวไหลที่ดูน่าเชื่อ
      คล้ายกับการสอนในคลาสอิมโพรไวส์ให้รักษาบทสนทนาให้น่าสนใจ และอย่าพูด “ไม่” กับนักแสดงคู่
    • รู้สึกสงสัยว่าความจริงร่วมกันจะถูกบิดให้เข้ากับ LLM ไม่ใช่ในทางกลับกัน
      สิ่งที่คอมพิวเตอร์พูดอาจกลายเป็น “ความจริง”
    • LLM เหล่านี้ดูใกล้เคียงกับ จิตไร้สำนึก มากกว่าจิตสำนึก
      ถ้าเป็น Jung คงเรียกว่า “antinomy” เป้าหมายไม่ใช่การแทนความจริง แต่คือการแทนผลรวมของคำตอบที่เป็นไปได้
  • สิ่งที่ LLM ทำท้ายที่สุดแล้วไม่ใช่ “ภาพหลอน” ทั้งหมดหรือ?
    หากจะรู้ว่ามันเกิดภาพหลอนหรือไม่ ก็ต้องรู้อยู่แล้วว่าคำตอบที่ถูกต้องคืออะไร ถ้าสร้างระบบที่รู้ว่าคำตอบถูกหรือไม่ได้ ก็ไม่จำเป็นต้องใช้ LLM อีกต่อไป

    • เดิมทีคำว่าภาพหลอนสื่อถึงความล้มเหลวของจิตที่สมบูรณ์ดี
      สิ่งที่ LLM ปัจจุบันทำ เรียกว่า การพูดเหลวไหล น่าจะตรงกว่า ยิ่งเรื่องเหลวไหลนั้นดีขึ้น สัดส่วนที่บังเอิญถูกก็เพียงค่อย ๆ สูงขึ้นเท่านั้น
    • ในทุกเธรดเกี่ยวกับหัวข้อนี้ จำเป็นต้องมีคนมาคอยจับผิดคำว่า “ภาพหลอน” ทั้งที่เป็นศัพท์ที่ใช้กัน established และสื่อความหมายได้ดีอยู่แล้วหรือไง เริ่มเหนื่อยขึ้นเรื่อย ๆ
    • มนุษย์เองก็แต่งเรื่องขึ้นมาทั้งหมด
      บางครั้งมันสอดคล้องโดยอิงกับพลวัตทางกายภาพ·สังคม และบางครั้งก็ไม่
      เนื่องจากระบบที่ถูกต้องอย่างชัดเจนเสมอเป็นไปไม่ได้ เราจึงต้องการ ระบบที่แสวงหาความสอดคล้อง
    • ถ้าได้อ่านบทความ ก็น่าจะรู้ว่ากระบวนการสร้างคำตอบด้วย LLM เป็นส่วนสำคัญของกระบวนการตรวจสอบข้อเท็จจริง
  • ในช่วงนี้ บริษัท AI อาจควรนำเสนอแชตบอตเป็นเพียง เครื่องมือสร้างข้อความ ที่ถูกปรับทิศทางเล็กน้อยจะดีกว่า
    แบบนั้นผู้คนก็จะใช้งานได้ตามความเหมาะสม
    มันมีบางอย่างที่ดูเหมือนความเข้าใจเล็กน้อย และอาจทำให้เลียนแบบการให้เหตุผลทีละขั้นได้บ้าง แต่ 95% ของความสามารถแบบกล่องดำนี้คือการสร้างข้อความ
    จริง ๆ แล้วไม่ใช่การสร้างข้อเท็จจริงหรือการสร้างความรู้ และใกล้เคียงกับคู่ซ้อมด้นสดมากกว่าสารานุกรม ซึ่งคนในวงการเทคโนโลยีก็รู้กันหมด
    ไม่แน่ใจว่าปัญหาที่ LLM ทำให้ผู้คนเข้าใจผิดจำเป็นต้องใช้วิธีแก้แบบเอนโทรปีของคำตอบที่ชาญฉลาดหรือไม่ วิธีนั้นน่าสนใจ และน่าจะให้การปรับปรุงจริงในลักษณะการใส่คะแนนความมั่นใจให้กับข้อความที่กล่าว
    แต่แค่ไม่ทำการตลาดตัวสร้างข้อความด้วยแมชชีนเลิร์นนิงให้ดูเกือบเป็น AGI ก็น่าจะลดความเสียหายส่วนใหญ่และช่วยได้มากกว่าไม่ใช่หรือ

    • ตอนนี้กำลังทำงานกับ LLM เพื่อสร้างฟรอนต์เอนด์ด้วย React และ Redux ซึ่งเป็นเทคโนโลยีที่แทบไม่รู้ทั้งคู่
      เมื่อถามคำถาม LLM ก็ให้คำตอบและโค้ด JavaScript มา และ JavaScript ของผมเองก็ขึ้นสนิมไปพอสมควรแล้ว
      โค้ดทั้งหมดคอมไพล์ได้ และส่วนใหญ่ทำงานตามที่คาดไว้ มีข้อผิดพลาดอยู่บ้าง แต่ LLM อธิบายข้อผิดพลาดที่ผมไม่เข้าใจและให้โค้ดแก้ไขที่ใช้งานได้
      โดยรวมเป็นประสบการณ์ที่ยอดเยี่ยมเหมือนทำงานกับเมนเทอร์ และสำหรับผมที่เป็นมือใหม่ก็ช่วยประหยัดเวลาไปได้มาก แน่นอนว่ายังต้องตรวจสอบผลลัพธ์
      ตัวเลข 95% มาจากไหน? และไม่สำคัญหรอกว่ามันเป็นการสร้างข้อความหรือการสร้างข้อเท็จจริง·ความรู้ มันเป็นเครื่องมือที่มีคุณค่าจริง ๆ และดีกว่าสิ่งใด ๆ ที่ผมเคยใช้มาอย่างมาก
  • วิธีที่ว่า “สำหรับแต่ละคำถาม ให้สุ่มตัวอย่างคำตอบที่เป็นไปได้หลายคำตอบ แล้วใช้อัลกอริทึมจัดกลุ่มคำตอบที่มีความหมายคล้ายกันเข้าด้วยกัน” นั้นสมเหตุสมผลสำหรับคำถามที่มี คำตอบถูกแบบปรนัยเพียงข้อเดียว
    ในกรณีที่มีคำตอบที่ถูกต้องได้เท่าเทียมกันหลายแบบ อาจไม่ได้ช่วยมากนัก
    ถึงอย่างนั้นก็ยังดีพอสำหรับการประยุกต์ใช้กับเสิร์ชเอนจิน

  • พอเห็นแนวคิด เอนโทรปีเชิงความหมาย ก็ทำให้นึกถึงหลังเหตุการณ์ Enron ที่มีธนาคารแห่งหนึ่งสร้าง “bullshitometer” เพื่อวัดระดับคำพูดไร้สาระในข่าวประชาสัมพันธ์
    จำชื่อธนาคารนั้นไม่ได้ แต่ได้ยินว่าพอเอาไปใช้กับข่าวประชาสัมพันธ์ของ Enron แล้วสามารถแสดงให้เห็นว่าคาดการณ์การล่มสลายของบริษัทได้

  • ในสถิติมีแนวคิดที่เรียกว่า การวิเคราะห์ความไว
    วิธีนี้ก็ดูคล้ายกันอยู่บ้าง แต่ทางเลือกที่น่าสนใจอาจเป็นการแก้ไขอินพุตในแบบที่คิดว่ายังคงรักษาความหมายไว้ แล้วดูว่าความหมายของเอาต์พุตเปลี่ยนไปอย่างไร
    แน่นอนว่าส่วนที่ยากคือการเปลี่ยนอินพุตโดยไม่เปลี่ยนความหมาย แต่ก็ไม่ได้ดูเป็นไปไม่ได้เสียทีเดียว
    อย่างน้อยก็สั่งให้ LLM ลองเปลี่ยนอินพุตโดยไม่เปลี่ยนความหมายได้ เพียงแต่มันอาจแก้ไปในทิศทางที่สอดคล้องกับการเข้าใจอินพุตผิดของโมเดล ทำให้หลังแก้แล้วเข้ากับเอาต์พุตหลอนมากขึ้นก็ได้

  • เข้าใจได้ว่า เอนโทรปีเชิงความหมาย ซึ่งดูเหมือนต้องใช้ LLM ที่ถูกฝึกให้ตรวจจับความเท่าเทียมกันทางความหมาย อาจจับอาการหลอนได้ดีกว่า
    แต่ยังไม่เห็นชัดว่าความเท่าเทียมกันทางความหมายแก้ปัญหาการหลอนได้โดยตรงอย่างไร
    ตอนนี้สงสัยว่ามันใกล้เคียงกับฮิวริสติกสำหรับจับอาการหลอนมากกว่า
    อีกทั้งการต้องใช้ LLM ตัวที่สองสำหรับตรวจจับความเท่าเทียมกันทางความหมายเพื่อจับเหตุการณ์แบบนี้ ก็ดูซับซ้อนโดยไม่จำเป็น
    ถ้ามีชุดข้อมูลความเท่าเทียมกันทางความหมาย ผมน่าจะใส่เข้าไปโดยตรงในกระบวนการฝึก LLM หลักมากกว่าฝึก LLM ตัวที่สอง

    • ผมยังไม่ได้เข้าใจงานวิจัยนี้มากพอที่จะวิจารณ์ได้เต็มที่ แต่ชุดข้อมูลความเท่าเทียมกันทางความหมายสามารถผนวกเข้ากับการฝึกได้
      อย่างไรก็ตาม หากเอาฟังก์ชันชัดเจนหลาย ๆ อย่าง เช่น “ทำ AUC ให้ดีในเชิงความหมาย” มาผสมกันเพื่อชดเชยจุดอ่อนของโมเดลซับซ้อนที่มีเป้าหมายเชิงการรับรู้ไม่ชัดเจน มันก็ยังดูแปลกอยู่ดี
      เราไม่รู้ด้วยซ้ำว่าผสมได้ดีหรือไม่ หรือกำลังใส่ผลลัพธ์·ความเสี่ยง·อคติที่คาดเดายากเข้าไปในการฝึกหรือเปล่า
      สำหรับงานที่นิยามแคบอย่าง “สามารถตัดสินความเท่าเทียมกันทางความหมายได้หรือไม่” เราสามารถสร้างโมเดลที่ดีและมีความเสี่ยงไม่รู้จักน้อยกว่าได้ และเมื่อใช้โมเดลนั้นในแบบที่ค่อนข้างชัดเจน ความเสี่ยงที่ไม่รู้ก็ลดลง
      ดังนั้นการใช้ตัวประมาณที่มีอคติเล็กน้อยสองตัวเพื่อไปถึงฮิวริสติกที่เฉพาะเจาะจงและสมเหตุสมผล อาจปลอดภัยและใช้ได้ทั่วไปกว่ามาก เมื่อเทียบกับการผสมข้อมูลเข้าไปในส่วนผสมซับซ้อนที่มีอยู่เดิมแล้วหวังว่าผลที่มันมีส่วนร่วมจะคาดการณ์ได้
    • การจับอาการหลอนมีประโยชน์มากในหลายแอปพลิเคชัน
      ผมกำลังทำวิจัยเกี่ยวกับการลดผลกระทบของข้อผิดพลาดเชิงข้อเท็จจริงในคำตอบของ LLM สำหรับหน่วยงานรัฐ ซึ่งหากให้คำตอบที่ไม่ตรงกับข้อเท็จจริงก็อาจผิดกฎหมายได้
      หากตรวจจับได้ด้วยความแม่นยำเพียงพอ ระบบก็สามารถปฏิเสธการตอบและขอให้ผู้ใช้ติดต่อหน่วยงานแทน
      แน่นอนว่าการฝึกโมเดลไม่ให้ตอบผิดตั้งแต่แรกย่อมดีกว่า
      ความซับซ้อนที่ไม่จำเป็นยังเกิดขึ้นจากการใช้ LLM กล่องดำ เชิงพาณิชย์ที่ฝึกไว้ล่วงหน้าและเข้าถึงผ่าน API ด้วย น่าเสียดายที่ในแอปพลิเคชันส่วนใหญ่ LLM ถูกใช้แบบนี้
      อาจปรับจูนแบบละเอียดผ่าน API ได้ก็จริง แต่สำหรับชุดข้อมูลสังเคราะห์ขนาดใหญ่แบบนี้ มันยุ่งยาก มีข้อจำกัด และแพงมาก
      อ่านจากบทความอย่างเดียวแล้วเข้าใจยากว่า “เอนโทรปีเชิงความหมาย” คำนวณอย่างเป็นรูปธรรมอย่างไร ถ้าสนใจ โค้ดจะเข้าใจง่ายกว่ามาก: https://github.com/jlko/semantic_uncertainty/blob/master/sem...
  • เป็นไอเดียที่ค่อนข้างฉลาด คือการถามคำถามเดิมซ้ำหลายครั้ง แล้วตรวจดูว่าโมเดล ตอบต่างกันหรือไม่
    “การตรวจสอบ” ทำโดยโมเดลอีกตัว และ “ความต่าง” วัดด้วยเอนโทรปี