Maison >Périphériques technologiques >IA >Pourquoi le modèle d'interaction retardée est-il la norme pour la prochaine génération de RAG ?

Pourquoi le modèle d'interaction retardée est-il la norme pour la prochaine génération de RAG ?

WBOY
WBOYoriginal
2024-08-05 20:15:221182parcourir
Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?
La rubrique AIxiv est une rubrique où ce site publie du contenu académique et technique. Au cours des dernières années, la rubrique AIxiv de ce site a reçu plus de 2 000 rapports, couvrant les meilleurs laboratoires des principales universités et entreprises du monde entier, favorisant efficacement les échanges et la diffusion académiques. Si vous souhaitez partager un excellent travail, n'hésitez pas à contribuer ou à nous contacter pour un rapport. Courriel de soumission : liyazhou@jiqizhixin.com ; zhaoyunfeng@jiqizhixin.com

Zhang Yingfeng : Co-fondateur d'Infra, avec de nombreuses années d'expérience dans la recherche, l'IA et le développement d'infrastructures Infra, il travaille actuellement sur la construction de la prochaine génération de produits phares de RAG.

Dans le développement du système RAG, un bon modèle Reranker est un lien indispensable et est toujours utilisé dans diverses évaluations. En effet, les requêtes représentées par la recherche vectorielle seront confrontées à un faible taux de réussite. Par conséquent, un modèle Reranker avancé est nécessaire pour y remédier. le problème, qui constitue une architecture de tri en deux étapes utilisant la recherche vectorielle comme criblage grossier et le modèle Reranker comme tri fin.

Il existe actuellement deux principaux types d'architectures pour les modèles de classement :

1. En prenant le modèle BERT comme exemple, il encode les requêtes et les documents séparément, et passe enfin par une couche Pooling afin que la sortie ne contienne qu'un seul vecteur. Dans l'étape de classement de la requête, il vous suffit de calculer la similarité de deux vecteurs, comme le montre la figure ci-dessous. Les encodeurs doubles peuvent être utilisés à la fois dans les étapes de classement et de reclassement, et la recherche vectorielle est en fait ce modèle de classement. Étant donné que le double encodeur code la requête et le document séparément, il ne peut pas capturer la relation interactive complexe entre la requête et les jetons du document, et il y aura cependant beaucoup de pertes sémantiques, puisque seule la recherche vectorielle est nécessaire pour terminer le tri et le document. calcul de notation, l'efficacité d'exécution est améliorée de manière très élevée.

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

2. Encodeur croisé. Cross-Encoder utilise un modèle d'encodeur unique pour encoder simultanément les requêtes et les documents. Il peut capturer l'interaction complexe entre les requêtes et les documents, afin de fournir des résultats de classement de recherche plus précis. Cross-Encoder ne génère pas le vecteur correspondant au jeton de la requête et du document, mais ajoute un classificateur pour générer directement le score de similarité de la requête et du document. Son inconvénient est que, puisque chaque document et requête doivent être codés conjointement au moment de la requête, ce qui rend le tri très lent, Cross-Encoder ne peut être utilisé que pour réorganiser les résultats finaux. Par exemple, la réorganisation du Top 10 des résultats de sélection préliminaires prend encore quelques secondes.

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

Depuis cette année, un autre type de travail représenté par ColBERT [Référence 1] a attiré une large attention dans la communauté de développement RAG. Comme le montre la figure ci-dessous, il présente certaines caractéristiques qui sont significativement différentes des deux types ci-dessus. de modèles de classement. :

Tout d'abord, par rapport à Cross Encoder, ColBERT utilise toujours une stratégie de double encodeur, encodant la requête et le document avec des encodeurs indépendants. Par conséquent, le jeton de requête et le jeton de document ne s'affectent pas lors de l'encodage. séparation Cela permet de traiter l'encodage des documents hors ligne, et seul l'encodage de requête est utilisé lors de l'interrogation, donc la vitesse de traitement est beaucoup plus élevée que Cross Encoder ;

Deuxièmement, par rapport aux encodeurs doubles, ColBERT génère plusieurs vecteurs au lieu de vecteurs uniques ; est dû au fait que la couche de sortie finale de Transformer est obtenue directement, tandis que le double encodeur convertit plusieurs vecteurs en une seule sortie vectorielle via une couche de pooling, perdant ainsi une certaine sémantique.

Dans le calcul de tri, ColBERT introduit une fonction de similarité de calcul interactif différé et la nomme similarité maximale (MaxSim). La méthode de calcul est la suivante : pour chaque vecteur Token de requête, il doit être comparé aux vecteurs correspondant à tous les Tokens du document. La similarité est calculée et le score maximum de chaque jeton de requête est suivi. Le score total de la requête et du document est la somme de ces scores cosinus maximaux. Par exemple, pour une requête avec 32 vecteurs de jetons (la longueur maximale de la requête est de 32) et un document avec 128 jetons, 32*128 opérations de similarité doivent être effectuées, comme le montre la figure ci-dessous.

En comparaison, Cross Encoder peut être appelé Early Interaction Model, tandis que le travail représenté par ColBERT peut être appelé Late Interaction Model.

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

Angka berikut membandingkan model pengisihan di atas dari segi prestasi dan kualiti pengisihan. Memandangkan model interaksi tertunda memenuhi keupayaan untuk menangkap interaksi kompleks antara pertanyaan dan dokumen semasa proses pengisihan, dan juga mengelakkan overhed pengekodan token dokumen, ia bukan sahaja dapat memastikan kesan pengisihan yang baik, tetapi juga mencapai prestasi pengisihan yang lebih pantas—— Di bawah skala data yang sama, kecekapan ColBERT boleh lebih daripada 100 kali ganda daripada Cross Encoder. Oleh itu, model interaksi tertunda ialah model pengisihan yang sangat menjanjikan Idea semula jadi ialah: Bolehkah model interaksi tertunda digunakan secara langsung dalam RAG untuk menggantikan seni bina pengisihan dua peringkat seperti carian vektor + pengisihan halus?

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

Untuk tujuan ini, kita perlu mempertimbangkan beberapa isu dalam kejuruteraan ColBERT:

1 Fungsi persamaan interaksi tertunda MaxSim ColBERT mempunyai kecekapan pengiraan yang jauh lebih tinggi daripada Cross Encoder, tetapi berbanding dengan carian vektor biasa, overhed pengiraan adalah. masih Sangat besar: Oleh kerana persamaan antara pertanyaan dan dokumen ialah pengiraan berbilang vektor, kos MaxSim ialah M * N kali ganda daripada pengiraan persamaan vektor biasa (M ialah bilangan Token dalam pertanyaan, N ialah nombor Token dalam dokumen). Sebagai tindak balas kepada perkara ini, pengarang ColBERT melancarkan ColBERT v2 pada tahun 2021 [Rujukan 2], yang meningkatkan kualiti Pembenaman yang dijana melalui Pengekod Silang dan penyulingan model, dan menggunakan teknologi pemampatan untuk mengkuantisasi vektor dokumen yang dijana, dengan itu meningkatkan pengiraan Prestasi MaxSim. Projek RAGatouille [Rujukan 3] berdasarkan pembungkus ColBERT v2 menjadi penyelesaian untuk pengisihan RAG berkualiti tinggi. Walau bagaimanapun, ColBERT v2 hanyalah perpustakaan algoritma, dan masih sukar untuk menggunakannya hujung ke hujung dalam sistem RAG peringkat perusahaan.

2 Memandangkan ColBERT ialah model pra-latihan, dan data latihan datang daripada pertanyaan enjin carian dan hasil pengembalian, data teks ini tidak besar, contohnya, bilangan Token pertanyaan ialah 32, dan bilangan Token dokumen ialah 128, yang merupakan had panjang biasa. Oleh itu, apabila ColBERT digunakan untuk data sebenar, panjang yang melebihi had akan dipotong, yang tidak mesra untuk mendapatkan semula dokumen yang panjang.

Berdasarkan isu di atas, pangkalan data asli AI sumber terbuka Infinity menyediakan jenis data Tensor dalam versi terkini dan secara asli menyediakan penyelesaian ColBERT hujung ke hujung. Apabila Tensor digunakan sebagai jenis data, berbilang vektor yang dikeluarkan oleh pengekodan ColBERT boleh disimpan terus dalam satu Tensor, jadi persamaan antara Tensor boleh memperoleh skor MaxSim secara langsung. Sebagai tindak balas kepada masalah jumlah besar pengiraan MaxSim, Infinity telah memberikan dua penyelesaian untuk dioptimumkan: satu ialah pengkuantitian binari, yang boleh menjadikan ruang Tensor asal hanya 1/32 daripada saiz asal, tetapi tidak mengubah susunan relatif hasil pengiraan MaxSim. Penyelesaian ini digunakan terutamanya untuk Reranker, kerana perlu mengekstrak Tensor yang sepadan berdasarkan keputusan peringkat penapisan kasar sebelumnya. Satu lagi ialah Indeks Tensor ColBERTv2 sebenarnya ialah pelaksanaan Indeks Tensor yang dilancarkan oleh pengarang ColBERT Infinity menggunakan EMVB [Rujukan 4], yang boleh dianggap sebagai peningkatan ColBERT v2, terutamanya melalui teknologi kuantisasi dan pra-penapisan, dan SIMD. arahan diperkenalkan mengenai operasi utama untuk mempercepatkan pelaksanaan. Tensor Index hanya boleh digunakan untuk melayani Ranker dan bukannya Reranker. Selain itu, untuk teks panjang yang melebihi had Token, Infinity memperkenalkan jenis Tensor Array:

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

Sesuatu dokumen yang melebihi had ColBERT akan dibahagikan kepada beberapa perenggan, dan selepas pengekodan dan penjanaan Tensor masing-masing, dokumen itu akan disimpan. dengan dokumen asal. Apabila mengira MaxSim, pertanyaan dan perenggan ini dikira secara berasingan, dan kemudian nilai maksimum diambil sebagai skor keseluruhan dokumen. Seperti yang ditunjukkan dalam rajah di bawah:

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

Oleh itu, menggunakan Infinity, model interaksi tertunda boleh diperkenalkan hujung ke hujung untuk menyediakan RAG dengan kualiti tinggi. Jadi, patutkah ColBERT digunakan sebagai Ranker atau Reranker? Di bawah ini kami menggunakan Infinity untuk menjalankan penilaian pada set data sebenar. Memandangkan versi terkini Infinity melaksanakan penyelesaian carian hibrid paling komprehensif dalam sejarah, kaedah ingat semula termasuk carian vektor, carian teks penuh, carian vektor jarang, Tensor yang dinyatakan di atas dan sebarang gabungan kaedah ini dan menyediakan pelbagai kaedah Reranker , seperti RRF dan ColBERT Reranker, jadi kami menyertakan pelbagai kombinasi carian hibrid dan Reranker dalam semakan.

Kami menggunakan set data MLDR untuk penilaian. MLDR ialah set penanda aras yang digunakan oleh MTEB [Rujukan 5] untuk menilai kualiti model Embedding MLDR ialah salah satu set data, yang dipanggil Multi Long Document Retrieval dan mengandungi sejumlah 200,000 data teks panjang. Penilaian menggunakan BGE-M3 [Rujukan 6] sebagai model Embedding, Jina-ColBERT [Rujukan 7] untuk menjana Tensor, dan skrip penilaian juga diletakkan di gudang Infinity [Rujukan 8].

Penilaian 1: Adakah ColBERT berkesan sebagai Penaraf Semula? Gunakan BGE-M3 untuk menjana vektor padat dan vektor jarang daripada 200,000 data MLDR, dan masukkannya ke dalam pangkalan data Infinity Pangkalan data mengandungi 4 lajur, yang masing-masing menyimpan teks asal, vektor, vektor jarang dan Tensor, dan membina penuh yang sepadan. indeks teks. Indeks vektor, indeks vektor jarang. Penilaian termasuk semua gabungan panggil balik, termasuk panggil balik saluran tunggal, panggil balik dwi saluran dan ingat semula tiga saluran, seperti yang ditunjukkan di bawah:

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

Indeks penilaian menggunakan nDCG@10. Parameter lain: Apabila menggunakan RRF Reranker, Top N = 1000 dikembalikan melalui saringan kasar, jumlah pertanyaan ialah 800 dan purata panjang pertanyaan ialah kira-kira 10 token.

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

Seperti yang anda lihat daripada rajah, semua penyelesaian penarikan balik telah meningkatkan hasil dengan ketara selepas menggunakan ColBERT Reranker. ColBERT, model interaksi tertunda, memberikan kualiti kedudukan yang setanding dengan yang berada di bahagian atas papan pendahulu Reranker MTEB, tetapi dengan prestasi 100x ganda, membolehkan penarafan semula dilakukan pada skala yang lebih besar. Keputusan yang ditunjukkan dalam rajah adalah berdasarkan Penarafan 100 Teratas, dan 1000 Teratas digunakan untuk penarafan semula ColBERT Nilai tidak berubah dengan ketara, dan prestasi menurun dengan ketara, jadi ia tidak disyorkan. Secara tradisinya, apabila menggunakan Reranker luaran berdasarkan Cross Encoder, akan berlaku kelewatan peringkat kedua dalam 10 Teratas. Walau bagaimanapun, Infinity melaksanakan ColBERT Reranker berprestasi tinggi secara dalaman Walaupun 100 Teratas atau 1000 Teratas disusun semula. pengalaman pengguna tidak akan terjejas Walau bagaimanapun, skop penarikan semula sangat meningkat, jadi kesan peringkat akhir boleh dipertingkatkan dengan ketara. Di samping itu, pengiraan ColBERT Reranker ini hanya perlu dijalankan pada seni bina CPU tulen, yang juga sangat mengurangkan kos penggunaan.

Penilaian 2: Perbandingan adalah berdasarkan ColBERT sebagai Ranker dan bukannya Reranker. Oleh itu, adalah perlu untuk membina Indeks Tensor untuk lajur Tensor data. Pada masa yang sama, untuk menilai kehilangan ketepatan yang diperkenalkan oleh Tensor Index, carian kekerasan juga dilakukan.

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

Dapat dilihat berbanding dengan Reranker, walaupun menggunakan carian brute force tanpa kehilangan ketepatan, tiada peningkatan yang ketara, dan kualiti pengisihan berdasarkan Tensor Index adalah lebih rendah daripada menggunakan Reranker. Walau bagaimanapun, masa pertanyaan sebagai Ranker adalah lebih perlahan: set data MLDR mengandungi 200,000 data dokumen, iaitu kira-kira 2GB Selepas menggunakan Jina-ColBERT untuk menukarnya kepada data Tensor, ia adalah setinggi 320G jenis data ialah dokumen. Vektor yang sepadan dengan setiap Token dokumen mesti disimpan Dimensi model ColBERT ialah 128 dimensi, jadi volum data lalai akan berkembang sebanyak 2 susunan magnitud. ia akan mengambil purata 7 saat untuk menanyakan begitu banyak data Mengembalikan pertanyaan tetapi tidak mendapat hasil yang lebih baik.

Jadi, jelaslah bahawa ColBERT jauh lebih menguntungkan sebagai Reranker daripada sebagai Ranker. Penyelesaian perolehan RAG terbaik semasa adalah berdasarkan carian hibrid 3 hala (carian teks penuh + vektor + vektor jarang) serta ColBERT Reranker. Sesetengah rakan kongsi mungkin bertanya, untuk menggunakan ColBERT Reranker, adalah perlu untuk menambah lajur Tensor yang berasingan, dan lajur akan berkembang sebanyak 2 susunan magnitud berbanding set data asal Adakah ia berbaloi? Pertama sekali: Infinity menyediakan kaedah pengkuantitian binari untuk Tensor Sebagai Reranker, ia tidak banyak menjejaskan hasil pengisihan, tetapi ia boleh menjadikan data akhir hanya 1/32 daripada saiz Tensor yang asal. Kedua, walaupun begitu, sesetengah orang akan menganggap bahawa overhed ini terlalu tinggi. Walau bagaimanapun, dari perspektif pengguna, masih sangat berbaloi untuk menggunakan lebih banyak storan sebagai pertukaran untuk kualiti pengisihan yang lebih tinggi dan kos yang lebih murah (proses pengisihan tidak memerlukan GPU). Akhir sekali, saya percaya bahawa model Interaksi Lewat dengan prestasi berkurangan sedikit tetapi overhed storan yang sangat berkurangan akan dilancarkan tidak lama lagi Sebagai infrastruktur Infra Data, ia adalah telus kepada perubahan ini dan adalah pilihan yang bijak untuk menyerahkan pertukaran ini kepada pengguna.

Perkara di atas adalah berdasarkan penilaian ingat semula pelbagai hala Infinity pada set data MLDR Keputusan penilaian pada set data lain mungkin berbeza, tetapi kesimpulan keseluruhan tidak akan berubah - carian hibrid 3-hala + penyusunan semula berasaskan Tensor , ialah. pada masa ini kaedah ingat semula dengan hasil carian berkualiti tinggi.

Dapat dilihat bahawa ColBERT dan model interaksi tertundanya mempunyai nilai aplikasi yang hebat dalam senario RAG di atas adalah kerja yang berkaitan dalam penjanaan kandungan dialog teks Baru-baru ini, model interaksi tertunda juga telah digunakan dalam senario berbilang modal. Ini ialah ColPali [Rujukan 9], yang mengubah aliran kerja RAG, seperti yang ditunjukkan di bawah:

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

RAG Apabila berhadapan dengan dokumen format yang kompleks, SOTA semasa menggunakan model pengecaman dokumen untuk mengenal pasti reka letak dokumen, dan kemudian memanggil model yang sepadan untuk struktur separa yang dikenal pasti, seperti carta, gambar, dsb., untuk menukarnya teks yang sepadan kemudiannya disimpan ke dalam pangkalan data sokongan RAG dalam pelbagai format. ColPali menghapuskan langkah-langkah ini dan secara langsung menggunakan model berbilang modal untuk menjana kandungan Pembenaman. Apabila bertanya soalan, anda boleh menjawab terus berdasarkan carta dalam dokumen:

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

Latihan model ColPali adalah serupa dengan ColBERT, dan juga menggunakan bentuk pasangan halaman pertanyaan-dokumen untuk menangkap semantik antara pertanyaan dan mendokumenkan data multi-modal Association, hanya gunakan PaliGemma [Rujukan 10] untuk menjana Pembenaman berbilang modal. Berbanding dengan BiPali, yang tidak menggunakan mekanisme Interaksi Lewat tetapi juga menggunakan PaliGemma untuk menjana Pembenaman, perbandingan indeks penilaian dalam nDCG@5 ialah 81.3 berbanding 58.8 Jurang ini ialah perbezaan antara "cemerlang" dan "tidak boleh berfungsi sama sekali".

Pourquoi le modèle dinteraction retardée est-il la norme pour la prochaine génération de RAG ?

Oleh itu, walaupun sudah 4 tahun sejak ColBERT muncul, penerapan model Interaksi Lewat dalam RAG baru sahaja dimulakan Ia pasti akan memperluaskan senario penggunaan RAG dan menyediakan senario RAG yang kompleks termasuk pelbagai modaliti. ingatan semantik yang berkualiti. Infinity sudah sedia untuk aplikasi hujung ke hujungnya Selamat datang untuk memberi perhatian kepada Star Infinity, https://github.com/infiniflow/infinity, dan komited untuk menjadi pangkalan data asli AI yang terbaik! Rujukan , arXiv :2112.01488, 2021. Pendapatan Padat Berbilang Vektor yang Cekap dengan Vektor Bit, ECIR 2024.

5 https://huggingface.co/mteb

/BAAI/bge-m3

7 https://huggingface.co /jinaai/jina-colbert-v1-en

8 /tree/main/python/benchmark/mldr_benchmark

9 ColPali: Pendapatan Dokumen yang Cekap dengan Model Bahasa Visi, arXiv:2407.01449, 2024.

/ google-research/big_vision/tree/main/big_vision/configs/proj/pagemma

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn