View a markdown version of this page

Pemahaman LLMs dan RAG - AWS Panduan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pemahaman LLMs dan RAG

Untuk memahami bagaimana meningkatkan kualitas dokumen sumber meningkatkan kualitas respons RAG, Anda harus memahami cara kerja internal LLM. Kekuatan sebenarnya LLMs terletak pada kemampuan mereka untuk menggunakan mekanisme perhatian diri dan arsitektur transformator. Teknik-teknik canggih ini memungkinkan model untuk secara efektif memproses dan menghubungkan bagian-bagian yang berbeda dari urutan input, terlepas dari posisi atau jarak mereka dalam teks. Kemampuan ini sangat kontras dengan model bahasa tradisional, yang sering berjuang dengan ketergantungan jangka panjang dan pemahaman konteks. Selanjutnya, LLMs dilatih pada skala yang belum pernah terjadi sebelumnya. Beberapa model terbesar terdiri dari triliunan parameter dan telah menelan terabyte data tekstual dari berbagai sumber. Skala besar ini memungkinkan LLMs untuk mengembangkan pemahaman bahasa yang kaya, menangkap nuansa halus, idiom, dan isyarat kontekstual yang sebelumnya menantang untuk sistem AI. Hasilnya adalah kelas model yang dapat menghasilkan teks yang koheren dan lancar dan menunjukkan kemampuan luar biasa dalam tugas-tugas seperti menjawab pertanyaan, meringkas teks, dan bahkan pembuatan kode.

Untuk menggunakan model ini, kita dapat beralih ke layanan seperti Amazon Bedrock, yang menyediakan akses ke berbagai model pondasi dari Amazon dan penyedia pihak ketiga, termasuk Anthropic, Cohere, dan Meta. Anda dapat menggunakan Amazon Bedrock untuk bereksperimen dengan state-of-the-art model, menyesuaikan, dan menyempurnakannya, atau memasukkannya ke dalam solusi generatif yang didukung AI melalui satu API.

Meskipun LLMs unggul dalam menangkap pola dan menghasilkan teks yang koheren, mereka sering tidak memiliki akses ke up-to-date atau informasi khusus. RAG menggabungkan kekuatan generatif LLMs dengan komponen pengambilan yang dapat mengakses dan menggabungkan informasi yang relevan dari sumber eksternal, sebagai bagian dari prompt LLM yang terwujud. Contoh sumber eksternal termasuk Pangkalan Pengetahuan untuk Amazon Bedrock, sistem pencarian cerdas seperti Amazon Kendra, atau database vektor seperti Amazon Service. OpenSearch

Alur kerja tentang bagaimana aplikasi berbasis RAG menjawab kueri pengguna.

Diagram menjelaskan alur kerja berikut:

  1. Pengguna mengirimkan kueri ke aplikasi RAG.

  2. Aplikasi RAG menanyakan database vektor yang berisi sumber pengetahuan, seperti dokumen, data, atau media.

  3. Aplikasi RAG mengambil informasi yang relevan dari database vektor berdasarkan kesamaan semantik antara kueri dan dokumen yang disimpan.

  4. Aplikasi RAG menambah prompt asli dengan konteks yang diambil dan mengirimkannya ke titik akhir LLM.

  5. Titik akhir LLM menghasilkan respons dan mengembalikannya ke aplikasi RAG.

  6. Aplikasi RAG mengembalikan respons yang dihasilkan kepada pengguna.

Pada intinya, RAG menggunakan proses dua tahap. Pada tahap pertama, model pengambilan mengidentifikasi dan mengambil dokumen atau bagian yang relevan berdasarkan kueri masukan. Model pengambilan ini dapat berupa sistem pengambilan informasi tradisional, model pengambilan padat, atau kombinasi keduanya. Pada tahap kedua, informasi yang diambil dan kueri asli dimasukkan ke dalam LLM sebagai template prompt yang sepenuhnya terwujud. LLMs sangat bergantung pada kualitas konten sumber yang dikirimkan oleh komponen retriever. Mereka menerapkan mekanisme perhatian diri untuk mengkodekan secara matematis bagaimana konten yang diambil berhubungan dengan tugas. LLM kemudian menghasilkan respons berdasarkan kueri dan informasi yang diambil. Dalam RAG, mengendalikan kualitas dokumen sumber yang diambil merupakan cara langsung untuk meningkatkan representasi internal LLM dari suatu tugas. RAG secara efektif menambah data pelatihan LLM dengan data eksternal yang relevan. Pendekatan ini memungkinkan RAG untuk mengambil keuntungan dari kekuatan keduanya LLMs dan sistem pengambilan, memungkinkan generasi tanggapan yang lebih akurat dan terinformasi yang menggabungkan pengetahuan saat ini dan khusus.

Vektor dan embeddings

Vektor dan embeddings adalah konsep dasar dalam pembelajaran mesin dan pemrosesan bahasa alami. Vektor adalah objek matematika yang mewakili besaran yang memiliki besaran dan arah. Dalam konteks natural language processing (NLP), kata, kalimat, atau dokumen sering direpresentasikan sebagai vektor dalam ruang vektor berdimensi tinggi. Embeddings, di sisi lain, adalah cara untuk mewakili objek seperti kata atau dokumen dalam ruang vektor dimensi yang lebih rendah di mana hubungan antara vektor menangkap kesamaan semantik atau sintaksis. Penyematan kata, misalnya, memungkinkan kata-kata dengan arti yang sama memiliki representasi vektor yang serupa. Ini membantu algoritma untuk memahami dan memproses bahasa secara lebih efektif.

Database vektor

Dalam AI generatif, database vektor adalah database yang menyimpan dan mengelola representasi vektor dokumen, kueri, atau objek lainnya. Ini dirancang untuk menyimpan dan mengambil vektor secara efisien. Ini mendukung operasi yang cepat dan terukur seperti pencarian semantik dan pencocokan kesamaan. Database vektor mengindeks vektor dengan menggunakan struktur data khusus, seperti grafik Hierarchical Navigable Small World (HNSW) atau algoritma K-Nearest Neighbors (KNN). Struktur data ini memungkinkan pencarian tetangga terdekat yang cepat, sehingga memungkinkan untuk dengan cepat menemukan vektor serupa dalam database.

Pencarian semantik adalah teknik yang meningkatkan relevansi hasil pencarian dengan memahami maksud dan konteks kueri, bukan hanya mencocokkan kata kunci. Dalam istilah teknis, pencarian semantik melibatkan membandingkan representasi vektor dari kueri dan dokumen dalam database untuk menemukan kecocokan yang paling relevan. Strategi pengambilan yang berbeda dapat digunakan untuk pencarian semantik, termasuk namun tidak terbatas pada:

  • HNSW — Struktur data berbasis grafik yang mengatur vektor dengan cara yang membuatnya efisien untuk mencari tetangga terdekat.

  • KNN — Algoritma yang menemukan K vektor terdekat dengan vektor kueri berdasarkan metrik jarak, seperti kesamaan kosinus.

  • Kesamaan kosinus — Ukuran kesamaan antara dua vektor bukan nol yang mengukur kosinus sudut di antara mereka. Hal ini sering digunakan dalam pencarian semantik untuk membandingkan arah vektor dalam ruang dimensi tinggi.

  • Locality-sensitive hashing (LSH) — Teknik yang melakukan hash vektor serupa ke bucket yang sama atau terdekat dengan probabilitas tinggi. Ini memungkinkan perkiraan pencarian tetangga terdekat, yang bisa lebih cepat daripada pencarian yang tepat di ruang dimensi tinggi.