แนะนำ Contextual Retrieval
- เพื่อให้โมเดล AI มีประโยชน์ในบริบทเฉพาะ จำเป็นต้องมีความรู้พื้นหลัง
- แชตบอตสนับสนุนลูกค้าจำเป็นต้องมีความรู้เกี่ยวกับธุรกิจเฉพาะนั้น และบอตวิเคราะห์กฎหมายจำเป็นต้องมีความรู้มหาศาลเกี่ยวกับคดีในอดีต
- โดยทั่วไปนักพัฒนาจะใช้ Retrieval-Augmented Generation (RAG) เพื่อเพิ่มพูนความรู้ของโมเดล AI
- โซลูชัน RAG แบบดั้งเดิมมักลบบริบทออกระหว่างการเข้ารหัสข้อมูล จึงมักไม่สามารถค้นคืนข้อมูลที่เกี่ยวข้องได้
วิธีการของ Contextual Retrieval
- Contextual Retrieval เป็นวิธีที่ปรับปรุงขั้นตอนการค้นคืนของ RAG อย่างมาก
- ใช้เทคนิคย่อยสองอย่างคือ Contextual Embeddings และ Contextual BM25
- ลดจำนวนการค้นคืนที่ล้มเหลวได้ 49% และเมื่อรวมกับการ re-ranking จะลดได้สูงสุดถึง 67%
- สามารถนำโซลูชัน Contextual Retrieval ไปใช้งานได้อย่างง่ายดายด้วย Claude
การใช้พรอมป์ต์ที่ยาวขึ้นแบบตรงไปตรงมา
- หากฐานความรู้มีขนาดไม่เกิน 200,000 โทเคน การส่งฐานความรู้ทั้งหมดให้โมเดลอาจเป็นวิธีที่ดีกว่า
- เมื่อใช้ฟีเจอร์ prompt caching ของ Claude แนวทางนี้จะเร็วกว่าและคุ้มค่ากว่า
- เมื่อฐานความรู้มีขนาดใหญ่ขึ้น ก็จำเป็นต้องมีโซลูชันที่ขยายขนาดได้ดีกว่า
แนวคิดพื้นฐานของ RAG
- RAG ใช้สำหรับจัดการฐานความรู้ขนาดใหญ่
- ระบบจะแบ่งฐานความรู้ออกเป็นชิ้นข้อความขนาดเล็ก และใช้โมเดล embedding เพื่อเข้ารหัสความหมาย
- จากนั้นจัดเก็บไว้ในฐานข้อมูลเวกเตอร์เพื่อค้นคืนตามความคล้ายคลึงเชิงความหมาย
- BM25 มีประสิทธิภาพในการค้นหาคำหรือวลีที่ตรงกันแบบเป๊ะ
ข้อจำกัดของ RAG แบบดั้งเดิม
- กระบวนการแบ่งเอกสารออกเป็นชิ้นเล็ก ๆ อาจทำลายบริบทได้
- ตัวอย่างเช่น สำหรับคำถามที่ค้นหาข้อมูลการเงินของบริษัทแห่งหนึ่ง อาจมีการส่งคืนชิ้นข้อมูลที่ไม่มีบริบทเพียงพอ
การใช้งาน Contextual Retrieval
- เพิ่มบริบทเชิงอธิบายให้กับแต่ละชิ้นข้อมูลเพื่อสร้างดัชนี embedding และ BM25
- ใช้ Claude เพื่อสร้างบริบทแบบกระชับสำหรับแต่ละชิ้นข้อมูล
- สามารถลดต้นทุนได้ด้วยการใช้ prompt caching
การปรับปรุงประสิทธิภาพ
- Contextual Embeddings ลดอัตราความล้มเหลวในการค้นคืนได้ 35%
- เมื่อรวม Contextual Embeddings และ Contextual BM25 เข้าด้วยกัน จะลดอัตราความล้มเหลวในการค้นคืนได้ 49%
ข้อพิจารณาในการนำไปใช้
- ควรพิจารณาวิธีแบ่งเอกสารเป็นชิ้น การเลือกโมเดล embedding และพรอมป์ต์ contextualization แบบกำหนดเอง
- การรวมชิ้นข้อมูลให้มากขึ้นจะเพิ่มโอกาสในการครอบคลุมข้อมูลที่เกี่ยวข้อง
การเพิ่มประสิทธิภาพด้วย re-ranking
- การ re-ranking ช่วยปรับปรุงคุณภาพคำตอบด้วยการส่งต่อเฉพาะชิ้นข้อมูลที่เกี่ยวข้องมากที่สุดไปยังโมเดล
- Contextual Embedding และ Contextual BM25 ที่ผ่านการ re-ranking แล้ว ลดอัตราความล้มเหลวในการค้นคืนได้ 67%
บทสรุป
- การรวม Embeddings และ BM25 เข้าด้วยกันช่วยให้ได้ผลลัพธ์ที่ดีกว่า
- embedding ของ Voyage และ Gemini มีประสิทธิภาพมากที่สุด
- การส่งชิ้นข้อมูล 20 อันดับแรกไปยังโมเดลมีประสิทธิภาพสูงสุด
- การเพิ่มบริบทช่วยปรับปรุงความแม่นยำในการค้นคืนอย่างมาก
- การ re-ranking ช่วยเพิ่มประสิทธิภาพได้มากยิ่งขึ้น
สรุปโดย GN⁺
- Contextual Retrieval เป็นวิธีที่สามารถเพิ่มความแม่นยำในการค้นคืนของโมเดล AI ได้อย่างมาก
- มีประโยชน์อย่างยิ่งเมื่อต้องจัดการกับฐานความรู้ขนาดใหญ่
- สามารถนำไปใช้งานได้อย่างคุ้มค่าด้วยฟีเจอร์ prompt caching ของ Claude
- โปรเจ็กต์อื่นที่มีความสามารถคล้ายกัน ได้แก่ GPT-3 ของ OpenAI และ BERT ของ Google
1 ความคิดเห็น
ความเห็นจาก Hacker News
ความเห็นแรก
ความเห็นที่สอง
ความเห็นที่สาม
ความเห็นที่สี่
ความเห็นที่ห้า
ความเห็นที่หก
ความเห็นที่เจ็ด
ความเห็นที่แปด
ความเห็นที่เก้า
ความเห็นที่สิบ