12 poin oleh xguru 2024-07-03 | 1 komentar | Bagikan ke WhatsApp
  • Rangkaian pipeline data dan transformasi yang dirancang untuk mengekstrak data terstruktur yang bermakna dari teks tidak terstruktur dengan memanfaatkan kemampuan kuat LLM
  • Pendekatan berbasis graf yang memungkinkan tanya jawab terhadap dataset yang belum pernah dilihat sebelumnya
  • Alat yang diperkenalkan pada bulan Februari ini kini dirilis sebagai open source untuk menyediakan pengambilan informasi yang lebih terstruktur dan pembuatan respons yang lebih komprehensif

Fitur utama

  • Secara otomatis mengekstrak knowledge graph yang kaya dari kumpulan dokumen teks menggunakan large language model (LLM)
  • Indeks data berbasis graf ini dapat merepresentasikan struktur semantik data sebelum kueri pengguna dilakukan
  • Mendeteksi "komunitas" node yang terhubung sangat rapat secara hierarkis, lalu membagi graf ke dalam beberapa tingkat dari topik tingkat tinggi hingga topik tingkat rendah
  • Dengan menggunakan LLM untuk merangkum masing-masing komunitas ini, dihasilkan ringkasan hierarkis dataset sehingga pengguna dapat memahami dataset tanpa harus lebih dulu mengetahui pertanyaan apa yang harus diajukan
  • Setiap komunitas menjadi dasar bagi ringkasan komunitas yang menjelaskan entitas dan relasi terkait

Kelebihan dalam menjawab pertanyaan yang mencakup seluruh dataset

  • Bagaimana "ringkasan komunitas" semacam ini dapat membantu untuk pertanyaan global (pertanyaan yang mencakup seluruh dataset), yang tidak dapat ditangani dengan baik oleh pendekatan naive RAG berbasis pencarian vektor?
  • Misalnya, untuk pertanyaan seperti "Apa topik utama dalam dataset?", naive RAG cenderung selalu memberikan jawaban yang menyesatkan
  • Untuk menjawab pertanyaan global, seluruh teks masukan perlu dipertimbangkan
  • Ringkasan komunitas dapat menjawab pertanyaan global tersebut dengan pendekatan map-reduce yang mempertahankan semua konten relevan dari konteks data global:
    1. Mengelompokkan laporan komunitas hingga batas ukuran context window LLM
    2. Memetakan pertanyaan ke setiap kelompok untuk menghasilkan jawaban komunitas
    3. Mereduksi semua jawaban komunitas yang relevan menjadi satu jawaban global akhir

Evaluasi dan hasil

  • Untuk membandingkan pendekatan ini dengan naive RAG dan ringkasan teks sumber hierarkis, digunakan LLM GPT-4 untuk menghasilkan berbagai pertanyaan activity-centered sense-making
  • Untuk jawaban yang dihasilkan, dipilih 3 metrik evaluasi: comprehensiveness (mencakup semua aspek secara rinci), diversity (memberikan beragam sudut pandang), empowerment (mendukung pengambilan keputusan yang terinformasi)
  • GraphRAG menunjukkan performa yang lebih baik daripada naive RAG dalam aspek comprehensiveness dan diversity (~70-80% tingkat kemenangan)
  • Selain itu, GraphRAG juga menunjukkan performa yang lebih baik daripada ringkasan teks sumber dalam aspek tersebut dengan biaya token lebih rendah saat menggunakan ringkasan komunitas tingkat menengah dan rendah (~20-70% penggunaan token per kueri)
  • Untuk komunitas tingkat tertinggi, performanya kompetitif dibandingkan ringkasan teks sumber hierarkis dengan biaya token yang jauh lebih rendah (~2-3% penggunaan token per kueri)

Insight riset dan arah ke depan

  • Melalui siklus riset awal, telah dibuktikan bahwa LLM dapat berhasil menurunkan knowledge graph yang kaya dari masukan teks tidak terstruktur
  • Graf seperti ini dapat mendukung jenis kueri global baru yang tidak dapat dijawab dengan tepat oleh naive RAG dan terlalu mahal jika menggunakan ringkasan teks sumber hierarkis
  • Saat ini sedang dieksplorasi berbagai pendekatan untuk mengurangi biaya tersebut sambil mempertahankan biaya awal pembuatan indeks graf
  • Pekerjaan terbaru yang secara otomatis menyesuaikan prompt ekstraksi LLM ke domain masalah merupakan contoh cara untuk mengurangi pekerjaan awal yang diperlukan dalam menyesuaikan prompt ini, membuat daftar tipe entitas, dan menyusun contoh few-shot
  • Tujuannya adalah membuat pendekatan RAG berbasis graf lebih mudah diakses oleh pengguna dan use case yang membutuhkan pemahaman data secara menyeluruh, dengan menyediakan GraphRAG dan solution accelerator secara terbuka

1 komentar

 
xguru 2024-07-04
Komentar Hacker News
  • Proyek GraphRAG milik Microsoft menggunakan cara membangun knowledge graph tanpa library ekstraksi terbaru

    • Ini mungkin karena model seperti GPT-4 cukup baik dalam mengikuti instruksi format tertentu
    • Mereka memberikan contoh agar model mengikuti skema yang diinginkan
  • Sangat senang Microsoft merilis GraphRAG sebagai open source

    • Berencana mencoba GraphRAG dan Llama3 di MacBook
    • Menganggap alat ini bisa menjadi game changer
  • Membagikan tautan bagi orang yang mencari informasi lebih rinci tentang metode GraphRAG

  • Proyek GraphRAG menunjukkan bahwa vector database dapat memberikan solusi RAG yang lengkap untuk kueri pencarian yang kompleks

    • Hanya memuat teks ke LLM tidak cukup untuk membangun knowledge graph yang akurat
    • Untuk itu, dibuat GraphRAG-SDK agar dapat menghasilkan ontologi yang stabil
  • Knowledge graph tidak menggantikan semantic search tradisional, tetapi memberikan kemampuan baru saat menjalankan RAG

    • Bisa menavigasi konteks panjang atau menelusuri konteks lain secara konsisten dan efisien
    • Hasil percobaan sebelumnya dalam membuat graf dengan LLM masih kurang memadai
    • Menantikan untuk mencoba ini
  • Jika pemahaman terhadap makalahnya benar, pada saat indexing LLM dijalankan beberapa kali untuk mengekstrak entitas dan membangun graph index

    • Graf dijalankan beberapa kali untuk membuat cluster
    • Pada saat query, semua cluster dijalankan untuk menghasilkan jawaban dari tiap cluster lalu diberi skor
    • Semua jawaban selain yang skornya paling rendah kemudian dijalankan untuk membuat "jawaban global"
    • Kebutuhan komputasi seperti ini mungkin berada pada tingkat yang sulit ditanggung untuk dataset besar
  • Sudah mengerjakan beberapa proyek kecil menggunakan graf dan LLM, dan memastikan pendekatan ini memang efektif

    • Menyadari bahwa hal ini bisa diselesaikan lewat prompt engineering dan beberapa kali pass
    • Akan mencoba ini, dan jika hasilnya bagus akan berupaya keluar dari lingkungan Python
  • Bertanya-tanya apakah ini berkaitan dengan Knowledge Graph RAG Query engine milik LlamaIndex

  • Menarik bahwa perang Rusia-Ukraina dipilih sebagai contoh

    • Bisa jadi ini pilihan yang disengaja untuk membidik kontrak analisis data militer
  • Setelah membaca makalahnya, ingin mencoba proyek ini

    • Sempat ingin mengimplementasikannya sendiri, tetapi mengira kodenya baru akan keluar beberapa minggu kemudian
    • Kesabaran akhirnya membuahkan hasil