Ini proyek yang sedang saya kerjakan saat ini, saya mencoba menyusun daftar pertanyaan dan jawaban untuk wawancara AI Generatif.
Saya menggunakan referensi ini sebagai dasar, penghargaan kepada mereka karena menyusunnya, namun, saya mengambil banyak kebebasan dalam mengedit pertanyaan, serta jawabannya, semuanya sepenuhnya milik saya.
Catatan: Saya mencoba untuk menjaga jawaban yang saya tulis sendiri seminimal mungkin, karena saya sama sekali bukan sumber resmi mengenai topik ini. Saya akan memberikan referensi sesuai kemampuan saya. Saya menahan diri untuk tidak menambahkan bantuan visual apa pun agar mudah dibaca dan meminimalkan kerumitan pemeliharaan. Sumber daya dan referensi yang saya kutip mengandung banyak informasi, sebagian besar berupa visual.
Saya berencana untuk memperluasnya ke AI Generatif secara umum, tidak hanya untuk bahasa, yang mencakup segala hal mulai dari model difusi hingga model bahasa penglihatan. Setelah saya menyelesaikan struktur dasarnya dan saya puas dengan hasil awalnya, saya akan berupaya membangun metodologi yang efisien untuk berkontribusi pada repositori ini, dan kemudian saya akan membukanya untuk kontribusi, tetapi untuk saat ini, saya ingin menyimpannya sederhana dan fokus.
Penting:
Saya pikir mungkin perlu untuk mengklarifikasi bahwa jawaban yang saya berikan, terlepas dari apakah itu tulisan saya sendiri atau jika saya mengutip sumber, sama sekali tidak pasti atau dalam bentuk apa pun, yang saya coba lakukan adalah membantu Anda memulai di jalur yang benar, dan memberi Anda gambaran umum tentang apa yang diharapkan, Anda pasti harus membaca semua sumber daya yang saya sediakan, dan beberapa lainnya. Jika Anda ingin ini menjadi perhentian terakhir Anda, ini tempat yang salah untuk Anda. Di sinilah semuanya dimulai.
Selain itu, jika Anda baru memulai, satu-satunya saran saya adalah:
Dapatkan kenyamanan membaca makalah, karena tidak pernah berakhir.
Makalah tentang Cara Membaca Makalah: Cara Membaca Makalah
1. LLM dan Dasar-Dasar Anjuran
2. Pengambilan Augmented Generation (RAG)
3. Strategi Pemotongan
4. Menanamkan Model untuk Pengambilan
5. Pengambilan Vektor, Database dan Indeks
6. Algoritma Pencarian Lanjutan
7. Cara Kerja Model Bahasa Internal
Mari kita pertimbangkan kumpulan data, yang setiap titik datanya mewakili seekor kucing. Mari kita bahas masing-masing jenis model, dan lihat perbedaannya:
Mari kita membangun definisi Model Bahasa Besar (LLM) dari awal:
Bacaan lebih lanjut: Perayapan Umum
Model Bahasa Besar sering kali dilatih dalam beberapa tahap, tahapan ini sering disebut pra-pelatihan, penyempurnaan, dan penyelarasan.
Tujuan dari tahap ini adalah untuk mengekspos model ke semua bahasa , tanpa pengawasan, ini sering kali merupakan bagian pelatihan yang paling mahal, dan memerlukan banyak komputasi. Pra-pelatihan sering kali dilakukan pada sesuatu seperti kumpulan data Common Crawl, versi kumpulan data yang diproses seperti FineWeb dan RedPajama sering digunakan untuk pra-pelatihan. Untuk memfasilitasi jenis pembelajaran yang luas ini, terdapat beberapa tugas pelatihan yang dapat kita gunakan, seperti Masked Language Modeling (MLM), Next Sentence Prediction (NSP), dan banyak lagi.
Pemodelan Bahasa Topeng didasarkan pada Tes Cloze, yang mana kita menutupi sebuah kata dalam sebuah kalimat, dan meminta model untuk memprediksinya. Mirip dengan mengisi tes kosong. Hal ini berbeda dengan meminta model untuk memprediksi kata berikutnya dalam sebuah kalimat, karena hal ini mengharuskan model untuk memahami konteks kalimat, dan bukan hanya urutan kata.
Prediksi Kalimat Berikutnya adalah tugas di mana model diberikan dua kalimat, dan harus memprediksi apakah kalimat kedua mengikuti kalimat pertama. Sesederhana kedengarannya, hal ini memerlukan model untuk memahami konteks kalimat pertama, dan hubungan antara kedua kalimat tersebut.
Sumber yang bagus untuk mempelajari lebih lanjut tentang tugas-tugas ini adalah makalah BERT.
Tahap ini jauh lebih sederhana daripada pra-pelatihan, karena model telah mempelajari banyak hal tentang bahasa, dan sekarang kita hanya perlu mengajarkannya tentang tugas tertentu. Yang kita butuhkan untuk tahap ini hanyalah data masukan (prompt) dan label (respons).
Tahap ini seringkali merupakan tahap yang paling krusial dan kompleks, memerlukan penggunaan model penghargaan yang terpisah, penggunaan paradigma pembelajaran yang berbeda seperti Reinforcement Learning, dan banyak lagi.
Tahap ini terutama bertujuan untuk menyelaraskan prediksi model dengan preferensi manusia. Tahap ini sering kali bersinggungan dengan tahap fine-tuning. Bacaan penting untuk tahap ini adalah makalah InstructGPT, makalah ini memperkenalkan konsep Reinforcement Learning from Human Feedback (RLHF) yang menggunakan Proximal Policy Optimization.
Metode lain untuk menyelaraskan prediksi model dengan preferensi manusia meliputi:
Token adalah unit teks terkecil yang dapat dipahami model, dapat berupa kata, subkata, atau karakter.
Tokenizer bertanggung jawab untuk mengubah teks menjadi token, bisa sesederhana memisahkan teks berdasarkan spasi, atau rumit seperti menggunakan tokenisasi subkata. Pilihan tokenizer dapat berdampak signifikan terhadap performa model, karena dapat memengaruhi kemampuan model dalam memahami konteks teks.
Beberapa tokenizer yang umum meliputi:
Bacaan yang disarankan (dan tontonan):
Ini adalah pertanyaan yang sangat sarat muatan, namun berikut adalah beberapa sumber untuk mengeksplorasi topik ini lebih jauh:
Parameternya meliputi:
Masing-masing parameter ini dapat disesuaikan untuk meningkatkan performa model, dan kualitas teks yang dihasilkan.
Bacaan yang disarankan:
Strategi penguraian kode digunakan untuk memilih token berikutnya dalam urutan, mulai dari penguraian kode serakah yang sederhana hingga strategi pengambilan sampel yang lebih kompleks.
Beberapa strategi decoding yang umum meliputi:
Strategi decoding yang lebih baru mencakup Decoding Spekulatif (decoding berbantuan) yang merupakan konsep liar, melibatkan penggunaan token kandidat dari model yang lebih kecil (sehingga lebih cepat) untuk menghasilkan respons dari model yang lebih besar dengan sangat cepat.
Bacaan yang disarankan:
Dalam proses decoding, LLM secara otomatis menghasilkan teks satu token dalam satu waktu. Ada beberapa kriteria berhenti yang dapat digunakan untuk menentukan kapan harus berhenti membuat teks. Beberapa kriteria penghentian yang umum meliputi:
A prompt contains any of the following elements:
Instruction - a specific task or instruction you want the model to perform
Context - external information or additional context that can steer the model to better responses
Input Data - the input or question that we are interested to find a response for
Output Indicator - the type or format of the output.
Referensi: Panduan Teknik Cepat
Bacaan yang disarankan:
Referensi: Panduan Teknik Cepat
Bacaan yang disarankan:
Pembelajaran dalam konteks merupakan paradigma pembelajaran yang sangat intuitif dan mudah dipahami dalam Natural Language Processing. Ini mencakup konsep-konsep seperti pembelajaran beberapa kali. Hal ini dapat dilakukan semudah memberikan beberapa contoh tugas yang Anda ingin model lakukan, dan model akan belajar dari contoh tersebut dan menghasilkan respons yang sesuai.
Bacaan yang Direkomendasikan:
Telah terbukti bahwa Pembelajaran Dalam Konteks hanya dapat muncul ketika model diskalakan ke ukuran tertentu, dan ketika model dilatih pada serangkaian tugas yang beragam. Pembelajaran dalam konteks bisa gagal jika model tidak mampu melakukan tugas penalaran yang kompleks.
Bacaan yang Direkomendasikan:
Ini adalah pertanyaan yang sangat luas, namun berikut ini akan membantu Anda membentuk pemahaman dasar tentang cara merancang petunjuk untuk tugas tertentu:
Sebagai alternatif, arahan penelitian yang lebih baru menyelidiki menggunakan cara algoritmik untuk mengoptimalkan petunjuknya, hal ini telah dieksplorasi secara luas dalam paket DSPy, yang menyediakan sarana untuk melakukan hal ini, karya mereka juga dipublikasikan dalam makalah ini.
Tidak ada jawaban untuk pertanyaan ini, saya menjadikannya sebagai alasan untuk menautkan referensi ini:
Ada beberapa metode agar LLM menghasilkan keluaran terstruktur yang dapat diurai setiap saat, metode umum bergantung pada konsep pemanggilan fungsi di LLM.
Bacaan dan Tampilan yang Direkomendasikan:
The term describes when LLMs produce text that is incorrect, makes no sense, or is unrelated to reality
Referensi: Halusinasi LLM—Jenis, Penyebab, dan Solusi oleh Nexla
Bacaan yang Direkomendasikan:
Konsep Chain-of-Thought Prompting dikenal untuk meningkatkan kemampuan penalaran di LLM. Teknik ini melibatkan pemecahan tugas yang kompleks menjadi serangkaian tugas yang lebih sederhana, dan memberikan model keluaran antara dari setiap tugas untuk memandunya menuju keluaran akhir.
Bacaan yang Direkomendasikan:
Retrieval Augmented Generation (RAG) adalah pola desain umum untuk mendasarkan jawaban LLM pada fakta. Teknik ini melibatkan pengambilan informasi yang relevan dari basis pengetahuan dan menggunakannya untuk memandu pembuatan teks oleh LLM.
Bacaan yang Direkomendasikan:
Retrieval Augmented Generation (RAG) terdiri dari dua komponen utama:
Intuisi di balik RAG adalah dengan menggabungkan kekuatan model berbasis pengambilan dan model berbasis generasi, kita dapat menciptakan sistem yang mampu menghasilkan teks yang didasarkan pada fakta, sehingga membatasi halusinasi.
RAG sering kali menjadi teknik yang tepat untuk menjawab pertanyaan kompleks berdasarkan basis pengetahuan, karena memungkinkan model memanfaatkan informasi eksternal untuk memberikan jawaban yang lebih akurat dan informatif. Tidak selalu mungkin untuk menyempurnakan model berdasarkan data kepemilikan, dan RAG menyediakan cara untuk menggabungkan pengetahuan eksternal tanpa perlu melakukan penyesuaian.
Solusi lengkap yang memanfaatkan RAG untuk menjawab pertanyaan kompleks berdasarkan basis pengetahuan akan melibatkan langkah-langkah berikut:
Ini adalah pertanyaan yang sangat sarat muatan, namun berikut adalah beberapa sumber untuk mengeksplorasi topik ini lebih jauh:
Memotong teks adalah proses memecah sebagian besar teks menjadi potongan-potongan kecil yang lebih mudah dikelola. Dalam konteks sistem RAG, chunking penting karena memungkinkan komponen retriever mengambil informasi relevan dari basis pengetahuan secara efisien. Dengan memecah kueri menjadi beberapa bagian yang lebih kecil, pengambilan dapat fokus pada pengambilan informasi yang relevan dengan setiap bagian, yang dapat meningkatkan akurasi dan efisiensi proses pengambilan.
Selama pelatihan model penyematan, yang sering digunakan sebagai pengambilan, pasangan teks positif dan negatif digunakan untuk menunjukkan bagian teks mana yang bersesuaian satu sama lain, contohnya mencakup judul, header, dan subjudul pada halaman Wikipedia, serta paragraf yang sesuai. , postingan reddit dan komentar dengan suara terbanyak, dll.
Kueri pengguna sering kali disematkan, dan indeks dikueri, jika indeks berisi seluruh dokumen di dalamnya untuk dikueri untuk hit top-k, retriever tidak akan dapat mengembalikan informasi yang paling relevan, karena dokumen yang akan dikueri akan terlalu besar untuk dipahami.
Ringkasnya, kami mengelompokkan teks karena:
Misalkan kita mempunyai sebuah buku yang berisi 24 bab, total 240 halaman. Artinya setiap bab berisi 10 halaman, dan setiap halaman berisi 3 paragraf. Misalkan setiap paragraf berisi 5 kalimat, dan setiap kalimat berisi 10 kata. Totalnya, kami memiliki: 10*5*3*10 = 1500 kata per bab. Kami juga memiliki 1500 * 24 = 36000 kata di seluruh buku. Untuk mempermudah, tokenizer kami adalah tokenizer spasi putih, dan setiap kata adalah token.
Kami tahu bahwa paling banyak kami memiliki model penyematan yang mampu menyematkan 8192 token:
Semua ini untuk mengilustrasikan bahwa tidak ada cara pasti untuk mengelompokkan teks, dan cara terbaik untuk mengelompokkan teks adalah dengan bereksperimen dan melihat mana yang terbaik untuk kasus penggunaan Anda.
Sumber resmi tentang topik ini adalah buku catatan luar biasa dan video pendamping oleh Greg Kamradt, yang menjelaskan berbagai tingkat pemisahan teks.
Buku catatan ini juga membahas cara mengevaluasi dan memvisualisasikan berbagai tingkat pemisahan teks, dan cara menggunakannya dalam sistem pengambilan.
Tampilan yang Direkomendasikan:
Penyematan vektor adalah pemetaan semantik tekstual ke dalam ruang berdimensi N di mana vektor mewakili teks, dalam ruang vektor, teks serupa diwakili oleh vektor serupa.
Bacaan yang Direkomendasikan:
Model penyematan adalah Model Bahasa yang dilatih untuk tujuan membuat vektorisasi teks, sering kali merupakan turunan BERT, dan dilatih pada kumpulan teks yang besar untuk mempelajari semantik teks, namun tren terkini juga menunjukkan kemungkinan untuk menggunakan model bahasa yang jauh lebih besar untuk tujuan ini seperti Mistral atau Llama.
Bacaan dan Tampilan yang Direkomendasikan:
Model penyematan sering digunakan sebagai retriever, untuk memanfaatkan kemampuan pengambilannya digunakan kesamaan tekstual semantik di mana vektor yang dihasilkan oleh model diukur kesamaannya menggunakan metrik seperti perkalian titik, kesamaan kosinus, dll.
Bacaan yang Direkomendasikan:
Model penyematan dilatih dengan kerugian kontrastif, mulai dari kerugian kontrastif sederhana hingga fungsi kerugian yang lebih kompleks seperti InfoNCE dan Kerugian Peringkat Negatif Berganda. Sebuah proses yang dikenal sebagai penambangan negatif keras juga digunakan selama pelatihan.
Bacaan yang Direkomendasikan:
Pembelajaran kontrastif adalah teknik yang digunakan untuk melatih model penyematan, yang melibatkan pembelajaran membedakan pasangan teks positif dan negatif. Model dilatih untuk memaksimalkan kesamaan antara pasangan positif dan meminimalkan kesamaan antara pasangan negatif.
Bacaan yang Direkomendasikan:
Cross-encoder dan bi-encoder adalah dua jenis model yang digunakan untuk tugas pengambilan teks. Perbedaan utama antara keduanya adalah cara mereka menyandikan kueri dan dokumen.
Pemeringkatan ulang biasanya merupakan pembuat enkode silang, mereka menyandikan kueri dan dokumen bersama-sama, dan menghitung kesamaan di antara keduanya. Hal ini memungkinkan mereka untuk menangkap interaksi antara kueri dan dokumen, dan menghasilkan hasil yang lebih baik daripada bi-encoder dengan mengorbankan kompleksitas komputasi yang jauh lebih tinggi.
Model penyematan teks biasanya merupakan bi-encoder, model ini menyandikan kueri dan dokumen secara terpisah, dan menghitung kesamaan antara kedua penyematan tersebut. Hal ini memungkinkan mereka menjadi lebih efisien secara komputasi dibandingkan cross-encoder, namun mereka tidak mampu menangkap interaksi eksplisit antara kueri dan dokumen.
Representasi padat vektor tunggal sering kali menjadi norma dalam model penyematan teks, biasanya dihasilkan dengan menggabungkan penyematan kontekstual setelah penerusan dari model, teknik pengumpulan mencakup pengumpulan rata-rata, pengumpulan maksimal, dan pengumpulan token CLS. Intuisi di balik representasi padat vektor tunggal adalah bahwa representasi tersebut mudah diterapkan dan dapat digunakan untuk berbagai tugas, serta kemudahan pengindeksan dan pengambilan. Representasi padat juga mampu menangkap semantik teks, dan sering digunakan dalam pemeringkatan tahap kedua.
Representasi padat multi vektor telah terbukti memberikan hasil yang lebih unggul daripada representasi padat vektor tunggal, representasi tersebut dihasilkan dengan melewatkan langkah pengumpulan dan menggunakan penyematan kontekstual dalam bentuk matriks, penyematan kueri dan dokumen kemudian digunakan untuk menghitung kesamaan antara kedua, model seperti ColBERT telah terbukti memberikan hasil yang lebih unggul daripada representasi padat vektor tunggal. Operator seperti MaxSim digunakan untuk menghitung kesamaan antara kueri dan penyematan dokumen. Intuisi di balik representasi padat multi vektor adalah bahwa mereka mampu menangkap lebih banyak informasi tentang teks, dan menghasilkan hasil yang lebih baik daripada representasi padat vektor tunggal, model seperti ColBERT juga menawarkan kemampuan untuk melakukan pra-komputasi penyematan dokumen, sehingga memungkinkan pengambilan yang sangat efisien. Representasi padat juga mampu menangkap semantik teks, dan sering digunakan dalam pemeringkatan tahap kedua.
Bacaan yang Direkomendasikan:
Representasi teks renggang adalah bentuk model ruang vektor tertua dalam pengambilan informasi, biasanya didasarkan pada turunan dan algoritma TF-IDF seperti BM25, dan tetap menjadi dasar untuk sistem pengambilan teks. Ketersebarannya berasal dari fakta bahwa dimensi embeddings sering kali sesuai dengan ukuran kosa kata. Intuisi di balik representasi renggang adalah bahwa representasi tersebut dapat dijelaskan, efisien secara komputasi, mudah diterapkan, dan sangat efisien untuk pengindeksan dan pengambilan. Representasi renggang juga berfokus pada kesamaan leksikal, dan sering digunakan dalam pemeringkatan tahap pertama.
Bacaan yang Direkomendasikan:
Penyematan teks jarang memungkinkan penggunaan indeks terbalik selama pengambilan.
Bacaan yang Direkomendasikan:
Metrik untuk melakukan tolok ukur kinerja model penyematan meliputi:
Bacaan dan Tampilan yang Direkomendasikan:
Memilih model penyematan dapat menjadi faktor penting dalam kinerja sistem pengambilan Anda, dan pertimbangan yang cermat harus dilakukan saat memilih model tersebut. Ini adalah proses luas yang melibatkan eksperimen, dan sumber daya berikut akan membantu Anda membuat keputusan yang tepat:
Tampilan yang Direkomendasikan:
Basis data vektor adalah basis data yang dioptimalkan untuk menyimpan dan menanyakan data vektor. Hal ini memungkinkan penyimpanan dan pengambilan vektor embeddings secara efisien, dan sering digunakan dalam aplikasi yang memerlukan pencarian kesamaan semantik. Basis data vektor adalah paradigma baru yang muncul sebagai bagian dari rangkaian teknologi yang diperlukan untuk memenuhi tuntutan aplikasi GenAI.
Tampilan yang Direkomendasikan:
Basis data tradisional dioptimalkan untuk menyimpan dan menanyakan data terstruktur, seperti teks, angka, dan tanggal. Mereka tidak dirancang untuk menangani data vektor secara efisien. Basis data vektor, di sisi lain, dirancang khusus untuk menyimpan dan menanyakan data vektor. Mereka menggunakan teknik dan algoritma pengindeksan khusus untuk memungkinkan pencarian kesamaan yang cepat dan akurat seperti kuantisasi dan pengelompokan vektor.
Basis data vektor biasanya berisi indeks vektor, indeks ini berisi matriks penyematan vektor, seringkali struktur data grafik juga digunakan, diurutkan sedemikian rupa sehingga dapat ditanyakan secara efisien. Saat kueri dibuat, teks atau penyematan vektor diberikan sebagai masukan, dalam kasus teks, penyematan tersebut disematkan, dan database vektor akan menanyakan indeks yang sesuai untuk mengambil vektor yang paling mirip berdasarkan metrik jarak. Biasanya, vektor dibandingkan menggunakan metrik seperti kesamaan kosinus, perkalian titik, atau jarak Euclidean. Vektor juga berhubungan dengan kamus metadata yang dapat berisi informasi seperti ID dokumen, judul dokumen, teks terkait, dan lainnya.
Strategi pencarian dalam database vektor meliputi:
Bacaan yang Direkomendasikan:
Setelah vektor-vektor diindeks, seringkali vektor-vektor tersebut dikelompokkan untuk mengurangi ruang pencarian, hal ini dilakukan untuk mengurangi jumlah vektor yang perlu dibandingkan selama proses pencarian. Clustering dilakukan dengan mengelompokkan vektor-vektor serupa, lalu mengindeks cluster-cluster tersebut. Saat kueri dibuat, pencarian pertama kali dilakukan pada tingkat cluster, dan kemudian pada tingkat vektor dalam cluster. Algoritma seperti K-means sering digunakan untuk clustering.
Bacaan yang Direkomendasikan:
Ini jelas merupakan pertanyaan yang sangat sarat muatan, namun berikut adalah beberapa sumber untuk mengeksplorasi topik ini lebih jauh:
Vector quantization, also called "block quantization" or "pattern matching quantization" is often used in lossy data compression. It works by encoding values from a multidimensional vector space into a finite set of values from a discrete subspace of lower dimension.
Referensi: kuantisasi vektor
One general approach to LSH is to “hash” items several times, in such a way that similar items are more likely to be hashed to the same bucket than dissimilar items are.
Referensi: Penambangan Dataset Masif, Edisi ke -3, Bab 3, Bagian 3.4.1
Bacaan yang Disarankan:
In short, PQ is the process of:
- Taking a big, high-dimensional vector,
- Splitting it into equally sized chunks — our subvectors,
- Assigning each of these subvectors to its nearest centroid (also called reproduction/reconstruction values),
- Replacing these centroid values with unique IDs — each ID represents a centroid
Referensi: Kuantisasi Produk
Bacaan yang Disarankan:
The Inverted File Index (IVF) index consists of search scope reduction through clustering.
Referensi: Indeks file terbalik
Bacaan yang Disarankan:
Hierarkis Navigable Small Worlds (HNSW) sering dianggap sebagai canggih dalam pengambilan vektor, itu adalah algoritma berbasis grafik yang membangun grafik vektor, dan menggunakannya untuk melakukan perkiraan pencarian tetangga terdekat.
Bacaan yang Disarankan:
Metrik jarak dan kesamaan yang digunakan dalam pengambilan vektor meliputi:
Direkomendasikan Tontonan:
Ini adalah topik penelitian yang sangat aktif, dan tidak ada sumber otoritatif, tetapi berikut adalah beberapa sumber untuk mengeksplorasi topik ini lebih lanjut:
Perlu juga dicatat bahwa sistem pencarian, pengambilan dan reranking dibangun di atas pola dan arsitektur yang sudah ada di bidang pengambilan informasi, sistem rekomendasi, dan mesin pencari.
Beberapa arsitektur sistem yang mungkin ingin Anda jelajahi termasuk:
Mencapai pencarian yang baik dalam sistem skala besar melibatkan kombinasi teknik pengindeksan, pengambilan, dan peringkat yang efisien. Beberapa strategi untuk mencapai pencarian yang baik dalam sistem skala besar meliputi:
Anda mungkin memperhatikan bahwa seluruh proses dilakukan secara bertahap kompleksitas yang meningkat, ini dikenal sebagai peringkat bertahap atau pengambilan multistage.
Bacaan yang Disarankan:
Tetapi aspek terpenting dari mencapai pencarian yang baik dalam sistem skala besar adalah untuk bereksperimen dan mengulangi strategi pengambilan dan peringkat Anda, dan untuk terus memantau dan mengevaluasi kinerja sistem Anda.
Bacaan yang Disarankan:
Pembicaraan yang disarankan tentang peningkatan sistem pencarian, pengambilan dan kain:
Mencapai pencarian cepat melibatkan mengoptimalkan proses pengindeksan dan pengambilan, yang mengambil upaya rekayasa non-sepele, berikut ini adalah beberapa contoh lanskap saat ini di bidang pengoptimalan pencarian dan pengambilan:
Keadaan saat ini dari ART dalam pengambilan vektor menunjukkan embeddings multi-vektor (interaksi akhir) berkinerja lebih baik daripada embeddings vektor tunggal, namun, mengoptimalkan pengambilannya menimbulkan tantangan rekayasa yang signifikan, berikut ini membahas embeddings multi-vektor dan pengambilannya secara mendalam:
BM25 is a bag-of-words retrieval function that ranks a set of documents based on the query terms appearing in each document, regardless of their proximity within the document.
Referensi: BM25
Model reranking adalah model klasifikasi urutan yang dilatih untuk mengambil sepasang kueri dan dokumen, dan output skor similiarity mentah.
Direkomendasikan membaca, melihat dan menonton:
Mengevaluasi sistem RAG membutuhkan percobaan dengan dan mengevaluasi komponen individu dari sistem, seperti retriever, generator, dan reranker.
Bacaan yang Disarankan:
Catatan: Dari sini, saya akan menahan diri untuk tidak menjawab sebanyak yang saya bisa, dan hanya menghubungkan makalah dan referensi, bagian ini bisa dibilang salah satu bagian yang lebih kompleks, sehingga membutuhkan banyak membaca dan pengertian.
Untuk memahami perhatian, Anda harus terbiasa dengan arsitektur transformator, dan arsitektur pendahulunya. Berikut adalah beberapa sumber daya untuk Anda mulai:
Hambatan utama perhatian diri adalah kompleksitas kuadratik sehubungan dengan panjang urutan. Untuk memahami kerugian perhatian diri, Anda perlu membiasakan diri dengan alternatif perhatian, berikut ini akan membantu Anda memulai:
Ada banyak cara untuk mengkode informasi posisi di LLMS, cara yang paling umum adalah dengan menggunakan pengkodean posisi sinusoidal, yang dikenal sebagai pengkodean posisi absolut. Metode lain termasuk pengkodean posisi relatif, dan metode yang lebih baru seperti embedding posisi putar. Berikut adalah beberapa sumber daya untuk Anda mulai:
Untuk memahami cache KV, Anda harus terbiasa dengan arsitektur transformator dan keterbatasannya.
Bacaan yang Disarankan:
Campuran para ahli adalah jenis arsitektur di LLMS, untuk memahami cara kerjanya, Anda harus melalui sumber daya berikut, yang mencakup model MOE yang paling menonjol: