potongan Mendalami Generasi Retrieval-Augmented di LLM - Unite.AI
Terhubung dengan kami

Kecerdasan Buatan

Menyelami Lebih Dalam Generasi Retrieval-Augmented di LLM

mm

Diterbitkan

 on

Pengambilan Ilustrasi Augmented Generation menggunakan Midjourney

Bayangkan Anda seorang Analis, dan Anda memiliki akses ke Model Bahasa Besar. Anda gembira dengan prospek yang dibawanya ke dalam alur kerja Anda. Namun kemudian, Anda bertanya tentang harga saham terkini atau tingkat inflasi saat ini, dan Anda mendapat jawaban:

“Maaf, tapi saya tidak bisa memberikan data real-time atau pasca-cutoff. Data latihan terakhir saya hanya sampai Januari 2022.”

Model Bahasa Besar, dengan segala kekuatan linguistiknya, tidak memiliki kemampuan untuk memahami 'sekarang'. Dan di dunia yang serba cepat, 'sekarang' adalah segalanya.

Penelitian telah menunjukkan bahwa model bahasa terlatih (LLM) berukuran besar juga merupakan gudang pengetahuan faktual.

Mereka telah dilatih mengenai begitu banyak data sehingga mereka menyerap banyak fakta dan angka. Jika disetel dengan baik, mereka dapat mencapai hasil luar biasa pada berbagai tugas NLP.

Namun masalahnya: kemampuan mereka untuk mengakses dan memanipulasi pengetahuan yang disimpan ini, terkadang tidak sempurna. Terutama ketika tugas yang dihadapi bersifat padat pengetahuan, model-model ini mungkin tertinggal dibandingkan arsitektur yang lebih terspesialisasi. Ini seperti memiliki perpustakaan dengan semua buku di dunia, tetapi tidak ada katalog untuk menemukan apa yang Anda butuhkan.

ChatGPT OpenAI Mendapat Peningkatan Penjelajahan

Pengumuman OpenAI baru-baru ini tentang kemampuan penelusuran ChatGPT merupakan lompatan signifikan menuju Retrieval-Augmented Generation (RAG). Dengan ChatGPT yang kini dapat menjelajahi internet untuk mendapatkan informasi terkini dan kredibel, hal ini mencerminkan pendekatan RAG yang secara dinamis menarik data dari sumber eksternal untuk memberikan respons yang lebih kaya.

Saat ini tersedia untuk pengguna Plus dan Perusahaan, OpenAI berencana segera meluncurkan fitur ini ke semua pengguna. Pengguna dapat mengaktifkannya dengan memilih 'Jelajahi dengan Bing' di bawah opsi GPT-4.

Fitur Penjelajahan Baru Chatgpt

Chatgpt Fitur Penjelajahan 'Bing' Baru

 Rekayasa yang cepat memang efektif tetapi tidak cukup

Anjuran berfungsi sebagai pintu gerbang menuju pengetahuan LLM. Mereka memandu model, memberikan arahan untuk responsnya. Namun, menyusun prompt yang efektif bukanlah solusi lengkap untuk mendapatkan apa yang Anda inginkan dari LLM. Namun, mari kita lakukan beberapa praktik baik yang perlu dipertimbangkan saat menulis prompt:

  1. Kejelasan: Perintah yang terdefinisi dengan baik menghilangkan ambiguitas. Ini harus jelas, memastikan bahwa model memahami maksud pengguna. Kejelasan ini sering kali menghasilkan respons yang lebih koheren dan relevan.
  2. Konteks: Khusus untuk input yang luas, penempatan instruksi dapat mempengaruhi output. Misalnya, memindahkan instruksi ke akhir perintah yang panjang seringkali dapat memberikan hasil yang lebih baik.
  3. Presisi dalam Instruksi: Kekuatan pertanyaan, yang sering disampaikan melalui kerangka “siapa, apa, di mana, kapan, mengapa, bagaimana”, dapat memandu model menuju respons yang lebih terfokus. Selain itu, menentukan format atau ukuran keluaran yang diinginkan dapat lebih menyempurnakan keluaran model.
  4. Menangani Ketidakpastian: Penting untuk memandu model tentang cara merespons ketika model merasa tidak yakin. Misalnya, menginstruksikan model untuk membalas dengan “Saya tidak tahu” ketika tidak yakin dapat mencegah model menghasilkan jawaban yang tidak akurat atau “berhalusinasi” tanggapan.
  5. Berpikir Langkah demi Langkah: Untuk instruksi yang kompleks, memandu model agar berpikir secara sistematis atau membagi tugas menjadi beberapa subtugas dapat menghasilkan keluaran yang lebih komprehensif dan akurat.

Terkait pentingnya prompt dalam memandu ChatGPT, artikel lengkapnya dapat ditemukan di artikel di Bersatu.ai.

Tantangan dalam Model AI Generatif

Rekayasa cepat melibatkan penyesuaian arahan yang diberikan kepada model Anda untuk meningkatkan kinerjanya. Ini adalah cara yang sangat hemat biaya untuk meningkatkan akurasi aplikasi AI Generatif Anda, hanya memerlukan sedikit penyesuaian kode. Meskipun rekayasa cepat dapat meningkatkan keluaran secara signifikan, penting untuk memahami keterbatasan yang melekat pada model bahasa besar (LLM). Dua tantangan utama adalah halusinasi dan pemutusan pengetahuan.

  • Halusinasi: Ini mengacu pada contoh ketika model dengan yakin mengembalikan respons yang salah atau dibuat-buat. Meskipun LLM tingkat lanjut memiliki mekanisme bawaan untuk mengenali dan menghindari keluaran tersebut.
Halusinasi di LLM

Halusinasi di LLM

  • Batasan Pengetahuan: Setiap model LLM memiliki tanggal akhir pelatihan, yang tidak diketahui peristiwa atau perkembangannya. Keterbatasan ini berarti bahwa pengetahuan model dibekukan pada tanggal pelatihan terakhirnya. Misalnya, model yang dilatih hingga tahun 2022 tidak akan mengetahui kejadian pada tahun 2023.
Pemutusan pengetahuan di LLMS

Pemutusan pengetahuan di LLM

Generasi yang ditambah pengambilan (RAG) menawarkan solusi terhadap tantangan ini. Hal ini memungkinkan model untuk mengakses informasi eksternal, mengurangi masalah halusinasi dengan menyediakan akses ke data kepemilikan atau data spesifik domain. Untuk pembatasan pengetahuan, RAG dapat mengakses informasi terkini di luar tanggal pelatihan model, sehingga memastikan keluarannya mutakhir.

Hal ini juga memungkinkan LLM untuk menarik data dari berbagai sumber eksternal secara real time. Ini bisa berupa basis pengetahuan, database, atau bahkan internet yang sangat luas.

Pengantar Generasi Pengambilan-Augmented

Retrieval-augmented generation (RAG) adalah kerangka kerja, bukan teknologi spesifik, yang memungkinkan Model Bahasa Besar memanfaatkan data yang belum dilatih. Ada beberapa cara untuk mengimplementasikan RAG, dan cara terbaik bergantung pada tugas spesifik Anda dan sifat data Anda.

Kerangka kerja RAG beroperasi secara terstruktur:

Masukan Cepat

Prosesnya dimulai dengan masukan atau perintah pengguna. Ini bisa berupa pertanyaan atau pernyataan yang mencari informasi spesifik.

Pengambilan dari Sumber Eksternal

Daripada langsung menghasilkan respons berdasarkan pelatihannya, model tersebut, dengan bantuan komponen retriever, menelusuri sumber data eksternal. Sumber-sumber ini dapat berkisar dari basis pengetahuan, database, dan penyimpanan dokumen hingga data yang dapat diakses melalui internet.

Memahami Pengambilan

Pada intinya, pengambilan mencerminkan operasi pencarian. Ini tentang mengekstraksi informasi paling relevan sebagai respons terhadap masukan pengguna. Proses ini dapat dibagi menjadi dua tahap:

  1. Pengindeksan: Bisa dibilang, bagian paling menantang dari keseluruhan perjalanan RAG adalah mengindeks basis pengetahuan Anda. Proses pengindeksan secara garis besar dapat dibagi menjadi dua tahap: Memuat dan Memisahkan. Dalam alat seperti LangChain, proses ini disebut “loader"Dan"splitter“. Loader mengambil konten dari berbagai sumber, baik itu halaman web atau PDF. Setelah diambil, pemisah kemudian mengelompokkan konten ini menjadi potongan-potongan kecil, mengoptimalkannya untuk penyematan dan pencarian.
  2. Menanyakan: Ini adalah tindakan mengekstraksi bagian pengetahuan yang paling relevan berdasarkan istilah pencarian.

Meskipun ada banyak cara untuk mendekati pengambilan, mulai dari pencocokan teks sederhana hingga menggunakan mesin pencari seperti Google, sistem Retrieval-Augmented Generation (RAG) modern mengandalkan pencarian semantik. Inti dari pencarian semantik terletak pada konsep embeddings.

Penyematan sangat penting dalam cara Model Bahasa Besar (LLM) memahami bahasa. Ketika manusia mencoba mengartikulasikan bagaimana mereka memperoleh makna dari kata-kata, penjelasannya sering kali kembali ke pemahaman yang melekat. Jauh di dalam struktur kognitif kita, kita menyadari bahwa “anak” dan “anak” adalah sinonim, atau bahwa “merah” dan “hijau” keduanya menunjukkan warna.

Meningkatkan Prompt

Informasi yang diambil kemudian digabungkan dengan prompt asli, menciptakan prompt yang ditambah atau diperluas. Perintah tambahan ini memberikan konteks tambahan kepada model, yang sangat berharga jika datanya spesifik untuk domain atau bukan bagian dari korpus pelatihan asli model.

Menghasilkan Penyelesaian

Dengan perintah tambahan di tangan, model kemudian menghasilkan penyelesaian atau respons. Respons ini tidak hanya didasarkan pada pelatihan model tetapi juga berdasarkan data real-time yang diambil.

Generasi Pengambilan-Augmented

Generasi Pengambilan-Augmented

Arsitektur RAG LLM Pertama

Makalah penelitian Meta yang diterbitkan pada tahun 2020 “Retrieval-Augmented Generation untuk Tugas NLP Intensif Pengetahuan” memberikan pandangan mendalam tentang teknik ini. Model Retrieval-Augmented Generation menambah proses pembangkitan tradisional dengan mekanisme pengambilan atau pencarian eksternal. Hal ini memungkinkan model untuk menarik informasi yang relevan dari sejumlah besar data, sehingga meningkatkan kemampuannya untuk menghasilkan respons yang akurat secara kontekstual.

Begini cara kerjanya:

  1. Memori Parametrik: Ini adalah model bahasa tradisional Anda, seperti model seq2seq. Ia telah dilatih tentang sejumlah besar data dan mengetahui banyak hal.
  2. Memori Non-Parametrik: Anggap saja ini sebagai mesin pencari. Ini adalah indeks vektor padat, katakanlah, Wikipedia, yang dapat diakses menggunakan neural retriever.

Jika digabungkan, keduanya menghasilkan model yang akurat. Model RAG pertama-tama mengambil informasi yang relevan dari memori non-parametriknya dan kemudian menggunakan pengetahuan parametriknya untuk memberikan respons yang koheren.

MODEL RAG ASLI OLEH META

Model RAG Asli Oleh Meta

1. Proses Dua Langkah:

RAG LLM beroperasi dalam proses dua langkah:

  • Pengambilan: Model pertama-tama mencari dokumen atau bagian yang relevan dari kumpulan data yang besar. Hal ini dilakukan dengan menggunakan mekanisme pengambilan padat, yang menggunakan penyematan untuk mewakili kueri dan dokumen. Penyematan tersebut kemudian digunakan untuk menghitung skor kesamaan, dan dokumen dengan peringkat teratas diambil.
  • Generasi: Dengan dokumen-dokumen relevan teratas di tangan, dokumen-dokumen tersebut kemudian disalurkan ke generator urutan-ke-urutan di samping kueri awal. Generator ini kemudian menghasilkan hasil akhir, menggambar konteks dari kueri dan dokumen yang diambil.

2. Pengambilan Padat:

Sistem pengambilan tradisional sering kali mengandalkan representasi renggang seperti TF-IDF. Namun, RAG LLM menggunakan representasi padat, di mana kueri dan dokumen dimasukkan ke dalam ruang vektor kontinu. Hal ini memungkinkan perbandingan kesamaan yang lebih bernuansa, menangkap hubungan semantik lebih dari sekadar pencocokan kata kunci.

3. Generasi Urutan-ke-Urutan:

Dokumen yang diambil bertindak sebagai konteks yang diperluas untuk model pembuatan. Model ini, yang sering kali didasarkan pada arsitektur seperti Transformers, kemudian menghasilkan keluaran akhir, memastikan hasilnya koheren dan relevan secara kontekstual.

Pencarian Dokumen

Pengindeksan dan Pengambilan Dokumen

Untuk pengambilan informasi yang efisien, terutama dari dokumen berukuran besar, data sering kali disimpan dalam database vektor. Setiap bagian data atau dokumen diindeks berdasarkan vektor penyematan, yang menangkap esensi semantik konten. Pengindeksan yang efisien memastikan pengambilan informasi yang relevan dengan cepat berdasarkan perintah input.

Database Vektor

Basis Data Vektor

Sumber: Redis

Basis data vektor, terkadang disebut penyimpanan vektor, adalah basis data khusus yang mahir dalam menyimpan dan mengambil data vektor. Dalam bidang AI dan ilmu komputer, vektor pada dasarnya adalah daftar angka yang melambangkan titik dalam ruang multidimensi. Tidak seperti database tradisional, yang lebih terbiasa dengan data tabular, database vektor unggul dalam mengelola data yang secara alami sesuai dengan format vektor, seperti penyematan dari model AI.

Beberapa database vektor terkenal termasuk Annoy, Faiss oleh Meta, milvus, dan biji pinus. Basis data ini sangat penting dalam aplikasi AI, membantu berbagai tugas mulai dari sistem rekomendasi hingga pencarian gambar. Platform seperti AWS juga menawarkan layanan yang disesuaikan untuk kebutuhan basis data vektor, seperti Amazon OpenSearch Service dan Amazon RDS for PostgreSQL. Layanan ini dioptimalkan untuk kasus penggunaan tertentu, memastikan pengindeksan dan pembuatan kueri yang efisien.

Memotong untuk Relevansi

Mengingat banyak dokumen bisa sangat luas, teknik yang dikenal sebagai “chunking” sering digunakan. Hal ini melibatkan pemecahan dokumen besar menjadi bagian-bagian yang lebih kecil dan koheren secara semantik. Potongan-potongan ini kemudian diindeks dan diambil sesuai kebutuhan, memastikan bahwa bagian dokumen yang paling relevan digunakan untuk penambahan cepat.

Pertimbangan Jendela Konteks

Setiap LLM beroperasi dalam jendela konteks, yang pada dasarnya adalah jumlah informasi maksimum yang dapat dipertimbangkan sekaligus. Jika sumber data eksternal memberikan informasi yang melebihi jendela ini, maka informasi tersebut perlu dipecah menjadi bagian-bagian yang lebih kecil agar sesuai dengan jendela konteks model.

Manfaat Memanfaatkan Retrieval-Augmented Generation

  1. Akurasi yang Ditingkatkan: Dengan memanfaatkan sumber data eksternal, RAG LLM dapat menghasilkan respons yang tidak hanya berdasarkan data pelatihannya tetapi juga berdasarkan informasi paling relevan dan terkini yang tersedia di korpus pengambilan.
  2. Mengatasi Kesenjangan Pengetahuan: RAG secara efektif mengatasi keterbatasan pengetahuan yang melekat pada LLM, baik karena penghentian pelatihan model atau tidak adanya data khusus domain dalam korpus pelatihannya.
  3. Multifungsi: RAG dapat diintegrasikan dengan berbagai sumber data eksternal, mulai dari database milik organisasi hingga data internet yang dapat diakses publik. Hal ini membuatnya dapat beradaptasi dengan berbagai aplikasi dan industri.
  4. Mengurangi Halusinasi: Salah satu tantangan LLM adalah potensi “halusinasi” atau munculnya informasi yang salah atau dibuat-buat. Dengan menyediakan konteks data real-time, RAG dapat mengurangi kemungkinan keluaran tersebut secara signifikan.
  5. Skalabilitas: Salah satu manfaat utama RAG LLM adalah kemampuannya untuk berkembang. Dengan memisahkan proses pengambilan dan pembuatan, model ini dapat secara efisien menangani kumpulan data yang sangat besar, sehingga cocok untuk aplikasi dunia nyata yang memiliki banyak data.

Tantangan dan Pertimbangan

  • Overhead Komputasi: Proses dua langkah ini memerlukan komputasi yang intensif, terutama ketika menangani kumpulan data yang besar.
  • Ketergantungan Data: Kualitas dokumen yang diambil berdampak langsung pada kualitas pembuatan. Oleh karena itu, memiliki korpus pengambilan yang komprehensif dan terkurasi dengan baik sangatlah penting.

Kesimpulan

Dengan mengintegrasikan proses pengambilan dan pembuatan, Retrieval-Augmented Generation menawarkan solusi kuat untuk tugas-tugas intensif pengetahuan, memastikan keluaran yang terinformasi dan relevan secara kontekstual.

Janji nyata RAG terletak pada potensi penerapannya di dunia nyata. Untuk sektor-sektor seperti layanan kesehatan, di mana informasi yang tepat waktu dan akurat merupakan hal yang sangat penting, RAG menawarkan kemampuan untuk mengekstraksi dan menghasilkan wawasan dari literatur medis yang luas dengan lancar. Di bidang keuangan, di mana pasar berkembang dari waktu ke waktu, RAG dapat memberikan wawasan berbasis data secara real-time, sehingga membantu pengambilan keputusan yang tepat. Selain itu, dalam dunia akademis dan penelitian, para peneliti dapat memanfaatkan RAG untuk memindai gudang informasi yang luas, sehingga tinjauan pustaka dan analisis data menjadi lebih efisien.

Saya telah menghabiskan lima tahun terakhir membenamkan diri dalam dunia Machine Learning dan Deep Learning yang menakjubkan. Semangat dan keahlian saya telah membuat saya berkontribusi pada lebih dari 50 proyek rekayasa perangkat lunak yang beragam, dengan fokus khusus pada AI/ML. Keingintahuan saya yang berkelanjutan juga menarik saya ke Natural Language Processing, bidang yang ingin saya jelajahi lebih jauh.