- ชุดไปป์ไลน์ข้อมูลและการแปลงข้อมูลที่ออกแบบมาเพื่อใช้ความสามารถอันทรงพลังของ LLM ในการดึงข้อมูลเชิงโครงสร้างที่มีความหมายออกจากข้อความไม่มีโครงสร้าง
- แนวทางแบบกราฟที่ทำให้สามารถถาม-ตอบกับชุดข้อมูลที่ไม่เคยเห็นมาก่อนได้
- เป็นเครื่องมือที่เคยเปิดตัวในเดือนกุมภาพันธ์ และตอนนี้เปิดเป็นโอเพนซอร์สเพื่อมอบการค้นคืนข้อมูลที่มีโครงสร้างมากขึ้นและการสร้างคำตอบที่ครอบคลุม
ฟีเจอร์หลัก
- ใช้โมเดลภาษาขนาดใหญ่ (LLM) เพื่อดึง knowledge graph ที่มีรายละเอียดอย่างอัตโนมัติจากชุดเอกสารข้อความ
- ดัชนีข้อมูลแบบกราฟนี้สามารถสะท้อนโครงสร้างเชิงความหมายของข้อมูลได้ก่อนที่ผู้ใช้จะส่งคำค้น
- ตรวจจับ "community" ของโหนดที่เชื่อมโยงกันอย่างหนาแน่นในลักษณะเชิงลำดับชั้น เพื่อแบ่งกราฟออกเป็นหลายระดับตั้งแต่หัวข้อระดับสูงไปจนถึงหัวข้อระดับล่าง
- เมื่อใช้ LLM สรุปแต่ละ community เหล่านี้ จะได้บทสรุปแบบลำดับชั้นของชุดข้อมูล ทำให้เข้าใจชุดข้อมูลได้โดยไม่จำเป็นต้องรู้ล่วงหน้าว่าควรถามอะไร
- แต่ละ community ทำหน้าที่เป็นรากฐานของบทสรุป community ที่อธิบายเอนทิตีและความสัมพันธ์ที่เกี่ยวข้อง
ข้อดีของคำตอบสำหรับคำถามที่ครอบคลุมทั้งชุดข้อมูล
- "บทสรุป community" เหล่านี้ช่วยตอบคำถามระดับ global (คำถามที่ครอบคลุมทั้งชุดข้อมูล) ซึ่งแนวทาง naive RAG ที่อิง vector search ยังทำได้ไม่ดีอย่างไร?
- ตัวอย่างเช่น คำถามอย่าง "หัวข้อหลักของชุดข้อมูลคืออะไร?" มักทำให้ naive RAG ให้คำตอบที่ทำให้เข้าใจผิดอยู่เสมอ
- การตอบคำถามระดับ global จำเป็นต้องพิจารณาข้อความนำเข้าทั้งหมด
- บทสรุป community สามารถตอบคำถามระดับ global เหล่านี้ได้โดยใช้แนวทาง map-reduce ที่คงเนื้อหาที่เกี่ยวข้องทั้งหมดของบริบทข้อมูลระดับ global เอาไว้:
- จัดกลุ่มรายงาน community ตามขนาด context window ของ LLM
- แมปคำถามไปยังแต่ละกลุ่มเพื่อสร้างคำตอบระดับ community
- รีดิวซ์คำตอบระดับ community ที่เกี่ยวข้องทั้งหมดให้เป็นคำตอบระดับ global สุดท้าย
การประเมินและผลลัพธ์
- เพื่อเปรียบเทียบแนวทางนี้กับ naive RAG และการสรุป source text แบบลำดับชั้น จึงใช้ LLM GPT-4 สร้างคำถามหลากหลายแบบที่เน้นการทำความเข้าใจเชิงกิจกรรม
- เลือกตัวชี้วัดการประเมิน 3 แบบสำหรับคำตอบที่สร้างขึ้น: comprehensiveness (ครอบคลุมทุกแง่มุมอย่างละเอียด), diversity (ให้มุมมองที่หลากหลาย), empowerment (สนับสนุนการตัดสินใจอย่างมีข้อมูล)
- GraphRAG แสดงประสิทธิภาพเหนือกว่า naive RAG ในด้าน comprehensiveness และ diversity (~อัตราชนะ 70-80%)
- นอกจากนี้ GraphRAG ยังทำผลงานได้ดีกว่าการสรุป source text โดยใช้ต้นทุนโทเค็นต่ำกว่าในด้านเหล่านี้ เมื่อใช้บทสรุป community ระดับกลางและระดับล่าง (~ใช้โทเค็นต่อคำค้น 20-70%)
- สำหรับ community ระดับสูงสุด พบว่ามีประสิทธิภาพแข่งขันได้กับการสรุป source text แบบลำดับชั้น และมีต้นทุนโทเค็นต่ำกว่ามาก (~ใช้โทเค็นต่อคำค้น 2-3%)
อินไซต์จากงานวิจัยและทิศทางในอนาคต
- จากรอบการวิจัยเบื้องต้น ได้พิสูจน์ว่า LLM สามารถสร้าง knowledge graph ที่มีรายละเอียดจากอินพุตข้อความไม่มีโครงสร้างได้สำเร็จ
- กราฟเหล่านี้สามารถรองรับคำค้นระดับ global รูปแบบใหม่ที่ naive RAG ไม่สามารถสร้างคำตอบที่เหมาะสมได้ และการสรุป source text แบบลำดับชั้นมีต้นทุนสูงเกินไป
- ขณะนี้กำลังสำรวจแนวทางหลากหลายเพื่อลดต้นทุนเหล่านี้ โดยยังคงต้นทุนล่วงหน้าของการสร้างดัชนีกราฟไว้
- งานล่าสุดเกี่ยวกับการปรับ prompt สำหรับการสกัดข้อมูลด้วย LLM ให้เข้ากับโดเมนปัญหาโดยอัตโนมัติ เป็นตัวอย่างของวิธีลดงานล่วงหน้าที่จำเป็นสำหรับการปรับแต่ง prompt เหล่านี้ การระบุประเภทเอนทิตี และการสร้างตัวอย่างแบบ few-shot
- เป้าหมายคือทำให้แนวทาง RAG แบบกราฟเข้าถึงได้ง่ายขึ้นสำหรับผู้ใช้และกรณีใช้งานที่การทำความเข้าใจข้อมูลแบบองค์รวมมีความสำคัญ โดยเปิดให้ GraphRAG และตัวเร่งการพัฒนาโซลูชันใช้งานได้สาธารณะ
1 ความคิดเห็น
ความเห็นบน Hacker News
โปรเจกต์ GraphRAG ของ Microsoft ใช้วิธีสร้าง knowledge graph ได้แม้ไม่มีไลบรารีสำหรับ extraction รุ่นใหม่
ดีใจมากที่ Microsoft เปิดซอร์ส GraphRAG
มีการแชร์ลิงก์สำหรับคนที่กำลังมองหาข้อมูลเพิ่มเติมเกี่ยวกับ GraphRAG Method
โปรเจกต์ GraphRAG แสดงให้เห็นว่า vector database สามารถมอบโซลูชัน RAG ที่สมบูรณ์สำหรับคำค้นหาที่ซับซ้อนได้
knowledge graph ไม่ได้มาแทนที่ semantic search แบบดั้งเดิม แต่เพิ่มความสามารถใหม่เมื่อนำไปใช้กับ RAG
ถ้าเข้าใจงานวิจัยถูกต้อง ตอนทำ indexing จะรัน LLM หลายรอบเพื่อดึง entity และสร้าง graph index
เคยทำโปรเจกต์เล็ก ๆ หลายงานโดยใช้กราฟกับ LLM และยืนยันได้ว่าแนวทางนี้ใช้ได้ผล
สงสัยว่าเกี่ยวข้องกับ Knowledge Graph RAG Query engine ของ LlamaIndex หรือไม่
น่าสนใจที่เลือกสงครามรัสเซีย-ยูเครนมาเป็นตัวอย่าง
หลังจากอ่านงานวิจัยแล้วก็อยากลองโปรเจกต์นี้