RAG: ให้ AI เปิดเอกสารก่อนตอบ
กลับมาที่น้องเฟิร์นฝ่าย HR ตอนต้นบท ผู้ช่วย AI หาเอกสาร "วันหยุดประจำปี" เจอทั้งที่พิมพ์ว่า "ลาพักร้อน" ได้ยังไง
เทคนิคนี้ชื่อ แร็ก (Retrieval-Augmented Generation, RAG)เทคนิคค้นเอกสารที่เกี่ยวข้องด้วย embedding แล้วแนบให้ AI อ่านก่อนตอบ เหมือนสอบแบบเปิดหนังสือดูคำศัพท์ทั้งหมด (Retrieval-Augmented Generation) ทำงาน 5 ขั้น:
- หั่นเอกสารเป็นชิ้นเล็กๆ เรียกว่า ชิ้นเอกสาร (chunk)ท่อนสั้นๆ ที่หั่นออกมาจากเอกสารยาว เพื่อให้ค้นและแนบเข้า prompt ได้พอดีดูคำศัพท์ทั้งหมด
- แปลงแต่ละ chunk เป็น เอ็มเบดดิง (embedding)การแปลงคำหรือข้อความเป็นชุดตัวเลข (เวกเตอร์) ข้อความที่ความหมายใกล้กันจะได้ตัวเลขใกล้กันดูคำศัพท์ทั้งหมด เก็บไว้ล่วงหน้า
- พอมีคำถาม แปลงคำถามเป็น embedding ด้วย
- การค้นคืน (retrieval)ขั้นตอนหาชิ้นเอกสารที่ความหมายใกล้คำถามที่สุด มักใช้ cosine similarity ของ embeddingดูคำศัพท์ทั้งหมด chunk ที่ cosine สูงสุด k ชิ้น
- แนบ chunk เหล่านั้นเข้าไปใน prompt แล้วสั่งว่า "ตอบจากเอกสารนี้"
ลองเล่นด้วยคำถาม "ลาพักร้อนได้กี่วัน" กับเอกสาร 3 ชิ้น เลื่อน k แล้วดู prompt ที่ประกอบเสร็จด้านล่าง
ทำไมช่วยได้? ในบทที่ 1 เราเห็นว่า อาการมั่ว (hallucination)เมื่อ AI ตอบข้อมูลที่ไม่จริงอย่างมั่นใจ เพราะมันถูกฝึกให้เขียนสิ่งที่ฟังดูน่าจะใช่ ไม่ใช่สิ่งที่จริงดูคำศัพท์ทั้งหมด เกิดเพราะโมเดลเดาคำที่ "ฟังดูน่าจะใช่" เมื่อไม่มีข้อมูลจริง RAG ยื่นข้อมูลจริงให้ก่อน มันจึงเดาจากเอกสาร ไม่ใช่จากความจำลางๆ
RAG = ค้นเอกสารที่ความหมายใกล้คำถามที่สุดด้วย embedding แล้วยื่นให้ AI อ่านก่อนตอบ

มังคุด
เหมือนสอบแบบเปิดหนังสือ!