Apa itu RAG?

Kukuh T Wicaksono
9 min readApr 9, 2024

--

Sumber:

Konsep yang dikenal sebagai ‘Retrieval Augmented Generation’, atau RAG, pertama kali muncul dalam sebuah studi akademik yang diterbitkan oleh Meta pada tahun 2020. Meskipun konsep ini memiliki sejarah yang singkat, ia telah menunjukkan potensi yang serius ketika digabungkan dengan teknologi model bahasa besar dan kini berada di pusat kecerdasan buatan generatif, menawarkan kita peluang sebagai kasus penggunaan komersial terbesar yang dapat dimanfaatkan di bidang ini.

RAG meningkatkan kemampuan model bahasa besar dengan massa data di luar model dasar, memungkinkan respons model untuk menghasilkan keluaran yang lebih nyata, lebih individual, dan lebih dapat diandalkan. Oleh karena itu, RAG dapat dikatakan sebagai kerangka kerja yang menyediakan fungsionalitas untuk meningkatkan performa model bahasa besar. Berkat kerangka kerja yang fleksibel dan kuat ini, RAG telah mencapai pertumbuhan signifikan dalam aplikasi model bahasa besar di bidang korporat hanya dalam waktu 3 tahun. Menurut Laporan Retool yang diterbitkan pada tahun 2023, se impressive 36,2% kasus penggunaan model bahasa besar perusahaan kini menggunakan kerangka kerja RAG. RAG menggabungkan kekuatan model bahasa besar dengan data terstruktur dan tidak terstruktur, membuat akses informasi perusahaan menjadi lebih efektif dan cepat dari sebelumnya. Dengan cara ini, layanan kecerdasan buatan yang lebih kompeten dan sukses dapat diproduksi tanpa memerlukan proses sains data seperti persiapan data yang dibutuhkan oleh asisten virtual tradisional, sambil menghabiskan tenaga kerja minimum.

Bagaimana RAG Bekerja?

Proses RAG yang tipikal, seperti digambarkan di bawah ini, memiliki model bahasa besar di intinya, kumpulan dokumen korporat yang digunakan untuk memberi makan model, dan infrastruktur rekayasa prompt untuk meningkatkan generasi respons.

sumber : https://ugurozker.medium.com/advanced-rag-architecture-b9f8a26e2608

Alur kerja RAG menggunakan basis data vektor untuk menemukan konsep dan dokumen yang serupa dengan pertanyaan yang diajukan, dan teknik rekayasa prompt untuk mengonversi data yang relevan ke dalam format yang diharapkan oleh model. Proses RAG ini menjadikannya alat yang kuat bagi perusahaan yang ingin memanfaatkan repositori data yang ada untuk pengambilan keputusan lanjutan dan pengambilan informasi. Untuk melihat langkah aplikasinya secara rinci:

1-Query: Pertanyaan dalam format teks dikirim ke alur RAG melalui asisten virtual atau antarmuka apa pun.

2-(Pengambilan) Pencarian Dokumen: Model melakukan langkah pencarian untuk mengumpulkan informasi relevan dari sumber eksternal. Sumber-sumber ini dapat mencakup basis data, satu set dokumen, atau bahkan hasil pencarian mesin pencari. Proses pencarian bertujuan untuk menemukan fragmen teks atau dokumen yang mengandung informasi relevan dengan input atau permintaan yang diberikan.

3-Augmentasi: Informasi yang diperoleh selama fase pencarian kemudian dikombinasikan dengan input atau prompt asli dan diperkaya dengan membuat draf rekayasa prompt yang dapat digunakan model untuk membuat keluaran. Model dibawa ke format yang diharapkan oleh model bahasa besar dengan menyertakan informasi eksternal dalam draf ini yang dibuat melalui rekayasa prompt.

4-Generasi: Akhirnya, model menghasilkan jawaban dengan mempertimbangkan informasi yang diterima dan input asli. Di sini, bentuk pertama dari pertanyaan yang diajukan ke sistem, dokumen yang diperoleh dari basis data vektor, dan argumen lainnya dievaluasi bersama untuk memastikan bahwa model bahasa besar menghasilkan teks keluaran yang paling akurat.

5-Menjawab: Konten baru yang dibuat oleh model bahasa besar ditransfer ke pengguna.

RAG dapat berguna dalam berbagai tugas pemrosesan bahasa alami, seperti menjawab pertanyaan, generasi percakapan, peringkasan, dan lainnya. Dengan menggabungkan informasi eksternal, model RAG menunjukkan potensi untuk

memberikan jawaban yang lebih akurat dan informatif dibandingkan dengan model tradisional yang hanya mengandalkan data tempat mereka dilatih.

RAG adalah solusi yang cocok untuk berbagai industri dan kasus penggunaan. Ini memfasilitasi proses pengambilan keputusan yang terinformasi dengan membantu merujuk informasi dari basis data besar atau repositori dokumen di sektor keuangan, hukum, dan kesehatan. Selain itu, terlepas dari sektor, RAG di bidang layanan pelanggan; digunakan untuk memberdayakan asisten virtual dan memberikan jawaban yang akurat dan sesuai konteks kepada pertanyaan pengguna. Selain itu, ia juga memiliki tempat yang penting dalam pembuatan konten yang dipersonalisasi dan sistem rekomendasi dengan memahami preferensi pengguna dan data historis.

Perbedaan Antara RAG dan Metode Tradisional

Sumber: https://ugurozker.medium.com/advanced-rag-architecture-b9f8a26e2608

Model Tradisional Berbasis Klasifikasi

Model bahasa alami tradisional dirancang untuk memilih respons yang sesuai dari satu set respons yang telah ditentukan berdasarkan query input. Model-model ini membandingkan teks input (pertanyaan atau query) terhadap satu set jawaban yang telah ditentukan sebelumnya. Sistem menentukan respons yang paling sesuai dengan mengukur kesamaan antara input dan respons yang berlabel menggunakan teknik seperti algoritma pembelajaran terawasi atau metode pencocokan semantik lainnya. Model berbasis klasifikasi ini efektif untuk tugas seperti menjawab pertanyaan, di mana jawaban seringkali didasarkan pada jenis respons statis dan dapat dengan mudah ditemukan dalam bentuk terstruktur.

Sumber: https://ugurozker.medium.com/advanced-rag-architecture-b9f8a26e2608

Tabel yang membandingkan empat metode yang berbeda dalam pengembangan dan pemanfaatan model bahasa besar (Large Language Models — LLM): “Prompt Engineering,” “RAG (Retrieval Augmented Generation),” “Fine Tuning,” dan “Pre-Train From Scratch.” Inilah ringkasan dari setiap kolom:

Prompt Engineering
- Tujuan: Meningkatkan keakuratan dan keberhasilan hasil yang diberikan oleh LLM.
- Cara Kerja: Membuat template berbasis teks; kueri mengandung deskripsi dokumen yang serupa dan outputnya.
- Keunggulan: Cepat, ekonomis, tidak memerlukan pelatihan atau sumber daya.
- Kebutuhan: Tidak ada yang ditentukan.

RAG
- Tujuan: Memungkinkan LLM menghasilkan respons yang spesifik dan relevan dengan menggunakan evaluasi data eksternal dan data spesifik institusi.
- Cara Kerja: Konten diperoleh dari dataset dinamis dan eksternal yang kemudian diberikan ke model.
- Keunggulan: Bisa bekerja dengan data dinamis dan terkini, akurasi tinggi, spesifikasi bidang yang kuat.
- Kebutuhan: Repositori dokumen atau sumber data eksternal pihak ketiga.

Fine Tuning
- Tujuan: Maturasi model dengan melatih model bahasa besar yang ada untuk bisa diperluas dengan set data baru.
- Cara Kerja: Data dipersiapkan dengan algoritma pembelajaran mendalam dan ditambahkan ke model yang ada sehingga jaringan saraf diperluas.
- Keunggulan: Kemampuan untuk membuat model unik dengan kontrol granular, keahlian tinggi, dan set parameter besar.
- Kebutuhan: Kumpulan data yang disesuaikan atau contoh dokumen.

Pre-Train From Scratch
- Tujuan: Menciptakan model bahasa baru dari awal dengan data mentah.
- Cara Kerja: Algoritma dijalankan pada sumber daya GPU dengan konsumsi energi tinggi untuk mendapatkan model baru.
- Keunggulan: Kontrol maksimum, disiapkan untuk kebutuhan khusus.
- Kebutuhan: Dataset besar dalam ukuran puluhan atau ratusan TB (terabyte).

Tabel ini menyajikan perbandingan metode berdasarkan tujuan penggunaan, bagaimana cara kerjanya, apa keunggulan utamanya, dan apa yang dibutuhkan untuk mengimplementasikannya. Ini berguna untuk memahami pendekatan yang berbeda dalam mengembangkan model bahasa dan skenario mana yang paling cocok untuk metode tertentu.

Model Generasi Berikutnya Berdasarkan Rendering RAG

sumber: https://ugurozker.medium.com/advanced-rag-architecture-b9f8a26e2608

diagram yang menjelaskan sistem RAG (Retrieval Augmented Generation) yang kompleks dan canggih. Diagram ini terbagi menjadi beberapa bagian yang masing-masing menjelaskan proses dan komponen yang berbeda dalam sistem tersebut:

1. Indexing (Pengindeksan)
— Chunking: Memecah teks menjadi potongan-potongan kecil untuk diproses lebih lanjut.
— Indexing by Domain: Pengindeksan berdasarkan domain atau bidang tertentu.
— Customized Embedding Model: Menggunakan model yang telah disesuaikan untuk menciptakan representasi yang kaya dari data.
— Hierarchical Indexing: Mengatur data dalam struktur hierarki untuk akses yang lebih efisien.

2. Query Improvement (Peningkatan Query)
— Virtual Queries: Menggunakan pertanyaan yang dibuat secara virtual untuk memperoleh hasil yang lebih baik.
— Virtual Documents: Menciptakan dokumen virtual yang membantu dalam memperbaiki proses pencarian.
— RAG Fusion: Menggabungkan beberapa pertanyaan untuk mendapatkan pandangan yang lebih komprehensif.
— HyDE: Menggunakan dokumen bantuan untuk mengklarifikasi dan meningkatkan pertanyaan yang kurang jelas.

3. Query Routing (Penentuan Rute Query)
— Logical Routing: Memilih database yang tepat berdasarkan pertanyaan yang diajukan.
— Semantic Routing: Mencocokkan dan mengambil data berdasarkan kesamaan semantik.

4. Retrieve (Pengambilan)
— RAG Fusion: Mengurutkan dokumen yang dikembalikan dari pertanyaan virtual berdasarkan relevansi.
— CRAG: Melakukan koreksi atau pengambilan ulang hasil untuk meningkatkan kualitas.

5. Database (Basis Data)
— Menyediakan berbagai jenis basis data seperti vektor, graf, dan relasional untuk mendukung proses pengambilan informasi.

6. Augmentation (Pengayaan)
— Prompt Engineering: Menggabungkan data yang diperoleh dalam fase query dan pencarian untuk menghasilkan konten yang lebih kaya.

7. Generation (Pembangkitan)
— Menggunakan repositori model bahasa besar untuk mengevaluasi konten permintaan yang dikirim dan membuat respons.

Diagram ini menunjukkan alur kerja dari sistem yang mengambil pertanyaan, meningkatkan dan menyalurkan query tersebut melalui berbagai basis data dan teknologi, untuk menghasilkan jawaban yang lebih tepat dan informatif. Ini merupakan kerangka kerja untuk memahami bagaimana pertanyaan kompleks dan berlapis dapat dipecahkan dan dijawab dengan menggunakan teknologi canggih dalam AI dan machine learning.

Berbeda dengan metode tradisional, model kecerdasan buatan produktif menciptakan jawaban atau konten dari awal alih-alih mencocokkan konten yang ada. Model ini menggunakan algoritma yang lebih kompleks, seringkali berbasis jaringan saraf, untuk menghasilkan teks atau respons yang mirip manusia. Tidak seperti metode yang biasa kita kenal, mereka tidak perlu mengasosiasikannya dengan kelas yang ada karena mereka menciptakan konten baru. Untuk alasan ini, ia membawa semua keuntungan dan kekuatan pembelajaran tanpa pengawasan. Dengan model-model ini, yang didasarkan pada pembelajaran tanpa pengawasan, mereka belajar menghasilkan jawaban dengan memprediksi kata atau urutan kata berikutnya berdasarkan konten yang disediakan oleh query. Kemampuan untuk menghasilkan respons baru yang sesuai konteks membuat model berbasis AI generatif sangat serbaguna dan cocok untuk tugas seperti penulisan kreatif, terjemahan, dan dialog di mana respons harus kaya konten.

Salah satu hal pertama yang harus dipertimbangkan saat mengembangkan aplikasi RAG untuk organisasi Anda adalah untuk secara akurat mengidentifikasi jenis pertanyaan yang muncul dalam alur kerja dan data untuk kerangka kerja RAG yang Anda buat dan proses apa yang akan menanganinya.

Keuntungan Menggunakan RAG

RAG menawarkan beberapa keuntungan, terutama dalam skenario di mana akses ke informasi eksternal dan data terkini berguna. Beberapa keuntungan utama adalah:

1. Relevansi Kontekstual: Model RAG dapat menghasilkan respons dinamis yang lebih relevan secara kontekstual dan informatif. Teks yang dibuat dengan menggabungkan informasi dari sumber eksternal lebih berakar pada informasi dunia nyata saat ini, menghasilkan jawaban yang lebih akurat dan sensitif terhadap konteks.

2. Pemeriksaan Fakta dan Verifikasi: Karena model RAG menerima informasi dari sumber eksternal yang dapat diandalkan, mereka dapat melakukan pemeriksaan fakta dan verifikasi selama proses produksi. Ini membantu mengurangi penciptaan informasi palsu atau menyesatkan dan memastikan keakuratan konten yang dibuat.

3. Peningkatan Penyertaan Pengetahuan: Model RAG dapat secara efektif menggunakan basis pengetahuan eksternal atau dokumen untuk meningkatkan jawaban mereka. Ini sangat berguna dalam tugas menjawab pertanyaan, di mana model dapat mengakses informasi relevan dari berbagai sumber untuk menyediakan jawaban

Tantangan Implementasi RAG

RAG adalah alat yang sangat canggih, tetapi memiliki beberapa tantangan dalam implementasi dan tata kelolanya.

Integrasi Multi-Saluran/Sumber
Ketika banyak sumber data eksternal yang berbeda formatnya, kompleksitas meningkat. Penting untuk memproses atau memeriksa data ini terlebih dahulu agar tidak ada duplikasi antar dataset.

Kualitas Data
Data harus konsisten dan representatif. Jika kualitas konten sumber yang diakses aplikasi buruk, jawaban yang dihasilkan tidak akan akurat. Oleh karena itu, perlu ada peningkatan kualitas data sebelum mengintegrasikan sumber data.

Skalabilitas
Seiring bertambahnya jumlah data, menjadi sulit untuk mengelola kinerja sistem RAG. Untuk mengelola masalah ini, solusi seperti basis data vektor harus digunakan.

Optimasi Pencarian
Agar model menghasilkan keluaran yang benar dan diinginkan, pencarian kesamaan pertama dari basis data vektor harus berkinerja tinggi. Jika konten yang hilang atau salah dipilih sebagai hasil dari pencarian vektor, ini akan menyebabkan kegagalan dalam membuat draf rekayasa permintaan yang tepat untuk langkah selanjutnya. Draf ini digunakan sebagai masukan untuk permintaan model bahasa besar, dan masukan yang tidak efisien akan menghasilkan keluaran yang juga tidak efisien.

Sistem RAG yang Kompleks dan Lanjutan

Chunking Dokumen
Dalam pemrosesan bahasa alami, “chunking” berarti membagi teks menjadi bagian-bagian kecil yang singkat dan berarti. Sistem RAG dapat menemukan konteks yang relevan lebih cepat dan akurat dalam potongan teks yang lebih kecil daripada dalam dokumen besar. Memilih ukuran potongan yang optimal adalah tentang mencapai keseimbangan antara menangkap semua informasi penting tanpa mengorbankan kecepatan. Bagian yang lebih besar dapat menangkap lebih banyak konteks tetapi memperkenalkan lebih banyak kebisingan dan membutuhkan lebih banyak waktu dan biaya komputasi untuk diproses. Bagian yang lebih kecil memiliki kebisingan lebih sedikit tetapi mungkin tidak sepenuhnya menangkap konteks yang diperlukan.

CRAG
CRAG merupakan cara untuk memeriksa atau meningkatkan hasil pencarian, yang merupakan langkah pertama dalam alur kerja RAG. Masalah umum dalam semua proses RAG adalah tidak bisa mendapatkan hasil yang diinginkan dari tumpukan dokumen selama fase pencarian. Gagal mendapatkan dokumen yang paling akurat yang dibutuhkan mengakibatkan ekspresi permintaan yang tidak lengkap dan penyesatan model bahasa di langkah terakhir. Oleh karena itu, penting untuk dapat memeriksa apakah hasil pencarian benar-benar menghasilkan dokumen yang tepat.

RAG Fusion
Dalam sistem pencarian tradisional, pengguna biasanya memasukkan satu query untuk menemukan informasi. Pendekatan ini sederhana, tetapi memiliki keterbatasan. Sebuah query tunggal mungkin tidak mencakup cakupan penuh dari topik minat pengguna atau mungkin terlalu sempit untuk menghasilkan hasil yang komprehensif. RAG Fusion mengatasi keterbatasan inheren RAG dengan membuat banyak query pengguna dan mengurutkan hasilnya. Metode ini bertujuan untuk menjembatani kesenjangan antara apa yang secara eksplisit ditanyakan pengguna dan apa yang ingin mereka tanyakan, bergerak lebih dekat untuk mengungkap pengetahuan transformatif yang sering kali tersembunyi.

Poin sensitif yang perlu dipertimbangkan adalah kedalaman RAG-Fusion yang kadang-kadang dapat menyebabkan banjir informasi. Keluaran bisa sangat detail sehingga luar biasa. Untuk mengurangi ini, bisa diatur dengan menginstruksikan model untuk memberikan bobot lebih kepada query asli dalam rekayasa permintaan.

--

--

Responses (1)