ขนาด Chunk หมายถึง ขนาดของหน่วยการแบ่ง (จำนวน Token หรือจำนวนตัวอักษร) ที่ใช้ในการแบ่งเอกสารเพื่อจัดเก็บลงใน Vector Store ภายใน RAG Pipeline ถือเป็น Parameter สำคัญที่ส่งผลโดยตรงต่อความแม่นยำในการค้นหาและคุณภาพของคำตอบ
Context window ของ LLM มีขีดจำกัด เราไม่สามารถส่งคู่มือภายในองค์กรที่มีหลายร้อยหน้าเข้าไปได้โดยตรง จึงจำเป็นต้องแบ่งเอกสารออกเป็นส่วนย่อยในระดับความละเอียดที่เหมาะสม (chunking) แล้วแปลงเป็นเวกเตอร์ เพื่อให้สามารถค้นหาและดึงเฉพาะส่วนที่เกี่ยวข้องกับคำถามได้ ในกระบวนการนี้ "ควรตัดด้วยขนาดเท่าใด" คือปัญหาของ chunk size
หาก chunk มีขนาดเล็กเกินไป บริบทที่บรรจุอยู่ใน chunk เดียวจะไม่เพียงพอ แม้จะค้นหาพบแต่ LLM ก็ขาดข้อมูลที่จำเป็นสำหรับการสร้างคำตอบ ในทางกลับกัน หากใหญ่เกินไป ข้อมูลที่ไม่เกี่ยวข้องจะปะปนเข้ามาเป็น noise ทำให้ความแม่นยำของคำตอบลดลง และยังเพิ่ม token cost อีกด้วย
โดยทั่วไปมักใช้ประมาณ 256–1,024 token เป็นจุดเริ่มต้น แต่ค่าที่เหมาะสมที่สุดขึ้นอยู่กับโดเมนและลักษณะของคำถาม แนวทางพื้นฐานในทางปฏิบัติคือ หากเป็นเอกสารแบบ Q&A สั้น ๆ อย่าง FAQ ให้ตั้งค่าขนาดเล็ก แต่หากเป็นเอกสารข้อกำหนดทางเทคนิคที่บริบทก่อนหน้าและหลังมีความสำคัญ ให้ตั้งค่าขนาดใหญ่ขึ้น
เพื่อบรรเทาปัญหาบริบทที่ขาดหายไปที่ขอบเขตของ chunk มักนิยมใช้ "overlap" ซึ่งเป็นการทำให้ chunk ที่อยู่ติดกันมีส่วนซ้อนทับกันบางส่วน ตัวอย่างเช่น หาก chunk size คือ 512 token และ overlap คือ 64 token แล้ว 64 token สุดท้ายของ chunk ก่อนหน้าจะถูกรวมไว้ที่ต้นของ chunk ถัดไปด้วย วิธีนี้ช่วยเพิ่มความแม่นยำของการค้นหาด้วย BM25 และ vector search แต่จะทำให้ขนาดของ storage และ index เพิ่มขึ้น


สถาปัตยกรรม RAG รุ่นถัดไปที่ผสมผสาน Knowledge Graph และการค้นหาแบบ Vector เข้าด้วยกัน โดยใช้ประโยชน์จากความสัมพันธ์ระหว่าง Entity เพื่อเพิ่มความแม่นยำในการค้นหา

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

RAG (Retrieval-Augmented Generation) คือเทคนิคที่ทำการค้นหาข้อมูลที่เกี่ยวข้องจากแหล่งความรู้ภายนอก แล้วนำผลลัพธ์ที่ได้มาเพิ่มเติมใน input ของ LLM เพื่อเพิ่มความแม่นยำและความทันสมัยของคำตอบ

ฐานข้อมูลเวกเตอร์คืออะไร? อธิบายครบจบ ตั้งแต่หลักการทำงาน เปรียบเทียบผลิตภัณฑ์หลัก ไปจนถึงการใช้งาน RAG