จากที่ไม่เข้าใจอะไรเลย สู่การสร้างแอป RAG

เมื่อวานนี้ผมใช้เวลาอ่านโน้ต NLP ของตัวเองไปถึง 31 หน้า

ผมไม่เข้าใจอะไรเลย

ผมคิดว่าปัญหาอยู่ที่ตัวผม แต่เปล่าเลย ปัญหาอยู่ที่วิธีการของผม การอ่านโน้ตไม่ใช่การเรียนรู้ โน้ตที่ผมมีมันมีไว้สำหรับผู้เชี่ยวชาญ ไม่ใช่สำหรับมือใหม่

ผมเปลี่ยนวิธีการ ผมหยุดอ่าน แต่เปลี่ยนมาเป็นการตั้งคำถามแทน ผมใช้ตัวอย่างง่ายๆ และปฏิเสธที่จะใช้คำศัพท์เทคนิคจนกว่าจะเข้าใจแนวคิดนั้นจริงๆ

พอถึงสิ้นวัน ผมก็สร้างแอป RAG ได้สำเร็จ และนี่คือวิธีที่ผมเรียนรู้ 4 เสาหลักของ NLP

  1. Bag of Words คอมพิวเตอร์เข้าใจแค่คณิตศาสตร์ การจะประมวลผลข้อความ คุณต้องเปลี่ยนคำให้เป็นตัวเลข

ลองนึกภาพว่าคุณต้องการคัดแยกอีเมลว่าเป็นสแปมหรือไม่ คุณก็แค่ลิสต์คำทุกคำในอีเมลออกมา แล้วนับว่าแต่ละคำปรากฏขึ้นกี่ครั้ง วิธีนี้จะเปลี่ยนอีเมลให้กลายเป็นแถวของตัวเลข

ข้อเสียคืออะไร? มันไม่สนใจลำดับของคำ "Dog bites man" และ "man bites dog" จะดูเหมือนกันทุกประการสำหรับวิธีนี้

  1. TF-IDF Bag of Words ปฏิบัติต่อทุกคำเหมือนกันหมด แต่ "the" ไม่ได้สำคัญเท่ากับ "viagra"

TF-IDF ใช้กฎสองข้อ:

คณิตศาสตร์นี้จะช่วยลดความสำคัญของคำเติม (filler words) อย่าง "the" และเน้นคำที่สำคัญและหายากแทน

  1. Embeddings Bag of Words คิดว่า "money" และ "cash" ไม่เกี่ยวข้องกัน แต่ Embeddings แก้ปัญหานี้ได้

ลองนึกถึงแผนที่ขนาดใหญ่ ทุกๆ คำคือจุดหนึ่งบนแผนที่นั้น คำที่มีความหมายคล้ายกันจะอยู่ใกล้กัน "Money" และ "cash" เป็นเพื่อนบ้านกัน ส่วน "Banana" จะอยู่ไกลออกไป

คอมพิวเตอร์เรียนรู้ตำแหน่งเหล่านี้จากการดูว่าคำนั้นมักจะปรากฏอยู่ใกล้กับคำไหน ถ้า "money" และ "cash" มักจะปรากฏใกล้กับคำว่า "bank" และ "pay" คอมพิวเตอร์ก็จะวางพวกมันไว้ใกล้ๆ กัน

  1. RAG (Retrieval-Augmented Generation) นี่คือจุดที่ทุกอย่างมารวมกัน

หากโน้ตทุกฉบับในไฟล์ของคุณคือจุดหนึ่งบนแผนที่ คุณก็สามารถหาคำตอบได้โดยการหาจุดที่อยู่ใกล้ที่สุด

กระบวนการของ RAG:

วิธีนี้จะช่วยป้องกันไม่ให้ AI เดาสุ่มหรือโกหก แต่มันจะบังคับให้ AI ใช้ข้อมูลจริงของคุณ

ผมสร้างแอป Synapse ของผมโดยใช้ขั้นตอนเหล่านี้ ผมเปลี่ยนจากศูนย์มาเป็นระบบที่ใช้งานได้จริงภายในวันเดียว

บทเรียน: หยุดอ่าน แล้วเริ่มตั้งคำถาม หากคุณไม่สามารถอธิบายแนวคิดด้วยการเปรียบเทียบง่ายๆ ได้ นั่นแปลว่าคุณยังไม่เข้าใจมันจริงๆ จงสร้างบางอย่างขึ้นมาเพื่อพิสูจน์ว่าคุณเข้าใจมันแล้ว

ที่มา: https://dev.to/sabimantock/from-i-understood-nothing-to-building-a-rag-app-4033

ชุมชนการเรียนรู้เพิ่มเติม: https://t.me/GyaanSetuAi