


Amazon Cloud Innovation « Neural Sparse Retrieval » : seule la correspondance de texte est nécessaire pour réaliser une recherche sémantique

La rubrique AIxiv est une rubrique où des contenus académiques et techniques sont publiés sur ce site. 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. E-mail de soumission : liyazhou@jiqizhixin.com ; zhaoyunfeng@jiqizhixin.com
Les auteurs de cet article sont le Dr Yang Yang, responsable de l'apprentissage automatique et ingénieurs en apprentissage automatique Geng Zhichao et Guan Cong de l'équipe R&D d'OpenSearch China. OpenSearch est un projet de moteur de recherche et d'analyse en temps réel purement open source initié par Amazon Cloud Technology. Le logiciel compte actuellement plus de 500 millions de téléchargements et la communauté compte plus de 70 entreprises partenaires dans le monde.
La stabilité des performances de corrélation sur différentes requêtes : La récupération sémantique Zero-shot nécessite que le modèle de codage sémantique ait de bonnes performances de corrélation sur des ensembles de données avec des arrière-plans différents, c'est-à-dire qu'elle nécessite que le modèle de langage soit utilisé hors du boîte, sans que l'utilisateur ait à affiner l'ensemble de données. Tirant parti des caractéristiques homologues du codage clairsemé et des vecteurs de termes, Neural Sparse peut passer à la correspondance de texte lorsqu'il rencontre des expressions textuelles inconnues (mots spécifiques à un secteur, abréviations, etc.), évitant ainsi des résultats de recherche scandaleux. Efficacité temporelle de la recherche en ligne : L'importance d'une faible latence pour les applications de recherche en temps réel est évidente. Les méthodes de récupération sémantique actuellement populaires incluent généralement deux processus : le codage sémantique et l'indexation. La vitesse de ces deux processus détermine l'efficacité de récupération de bout en bout d'une application de récupération. Le mode unique de documentation uniquement de Neural Sparse peut atteindre une précision de récupération sémantique comparable aux modèles de langage de première classe avec une latence similaire à la correspondance de texte sans codage en ligne. Index de consommation des ressources de stockage : Les applications de récupération commerciales sont très sensibles à la consommation des ressources de stockage. Lors de l’indexation de quantités massives de données, le coût de fonctionnement d’un moteur de recherche est fortement lié à la consommation des ressources de stockage. Dans des expériences connexes, Neural Sparse n’a nécessité que 1/10 de l’indexation k-NN pour indexer la même taille de données. Dans le même temps, la consommation de mémoire est également bien inférieure à l'indice k-NN. ♥ Page d'accueil de la documentation : https://opensearch.org/docs/latest/search-plugins/neural-sparse-search/ Adresse Github du projet : https://github.com/opensearch-project/neural- search
Points forts techniques Encodage clairsemé combiné à l'index Lucene natif La principale méthode de récupération sémantique provient de l'encodage dense (Dense Encoding), le document à être récupéré Et le texte de la requête sera converti en vecteur dans un espace de grande dimension par le modèle de codage du langage. Par exemple, le modèle TASB dans Sentence-BERT générera un vecteur à 768 dimensions et All-MiniLM-L6 convertira le texte en un vecteur à 384 dimensions. L'indexation de ce type de vecteur de grande dimension nécessite l'utilisation de moteurs de recherche k-NN spéciaux, tels que le premier FLANN basé sur une structure arborescente, le LSH basé sur le hachage, et plus tard le HNSW basé sur des graphiques voisins et des tables de saut. comme le dernier moteur FAISS basé sur la quantification. Sparse Encoding convertira le texte en un ensemble de jetons et de poids. Le jeton ici est l'unité de texte générée après que le modèle de codage linguistique utilise un segmenteur pour couper le texte. Par exemple, en utilisant le séparateur WordPièce, les jetons peuvent être compris comme des « mots » dans une certaine mesure, mais il peut également y avoir des situations où un mot est trop long et est divisé en deux jetons. Comparaison entre le codage clairsemé et le codage dense
Étant donné que la combinaison jeton-poids générée par le codage clairsemé est très similaire au terme-vecteur utilisé dans les méthodes traditionnelles de correspondance de texte, l'index Lucene natif peut être utilisé dans Open Rechercher Pour stocker des documents peu codés. Comparé au moteur de recherche k-NN, le moteur natif Luence est plus léger et consomme moins de ressources. Le tableau suivant montre la comparaison de la consommation de disque et de la consommation de mémoire d'exécution (RAM d'exécution) en utilisant Lucene pour la correspondance de texte, en utilisant le moteur k-NN pour stocker l'encodage dense et en utilisant Lucene pour stocker l'encodage clairsemé. à à à à elle-même elle-même elle-même elle elle elle-même elle Shen Shen Shen elle Shen Shen Shen elle tout prend elle pour Selon l'article BEIR Et, puisque la plupart des modèles de codage dense actuels sont basé sur un réglage fin de l'ensemble de données MSMAARCO, le modèle fonctionne très bien sur cet ensemble de données. Cependant, lors de la réalisation de tests zéro-shot sur d'autres ensembles de données BEIR, la corrélation du modèle de codage dense ne peut pas dépasser BM25 sur environ 60 à 70 % des ensembles de données. Cela peut également être constaté à partir de nos propres expériences comparatives répliquées (voir tableau ci-dessous).
Comparaison des performances de corrélation de plusieurs méthodes sur certains ensembles de données Nous avons constaté lors d'expériences que le codage clairsemé fonctionne mieux que le codage dense sur des ensembles de données inconnus. Bien qu'il n'existe actuellement pas de données quantitatives plus détaillées pour le confirmer, selon l'analyse de certains échantillons, ses avantages résident principalement dans deux points : 1) le codage clairsemé est plus important dans l'association de synonymes, 2) lorsqu'on rencontre des expressions textuelles totalement inconnues. Par exemple, pour certains termes professionnels, un codage clairsemé aura tendance à augmenter le poids de ces jetons de terme et à affaiblir le poids des jetons associés, ce qui entraînera une dégénérescence du processus de récupération en une correspondance de mots clés et une recherche de performances de corrélation stables.Dans les expériences sur le benchmark BEIR, nous pouvons voir que les deux méthodes de Neural Sparse ont des scores de corrélation plus élevés par rapport au modèle de codage dense et au BM25.
Vitesse extrême : mode d'encodage de documents uniquement Neural Search propose également un mode qui offre la vitesse de récupération en ligne ultime. Dans ce mode, seuls les documents à récupérer sont peu codés. En revanche, lors de la récupération en ligne, le texte de la requête n'invoque pas le modèle de codage du langage pour le codage. Au lieu de cela, utilisez uniquement le tokenizer pour diviser le texte de la requête. Étant donné que le processus d'appel du modèle d'apprentissage profond est omis, cela réduit non seulement considérablement le délai de récupération en ligne, mais permet également d'économiser une grande quantité de ressources informatiques nécessaires à l'inférence du modèle, telles que la puissance de calcul du GPU. Le tableau suivant compare la méthode de récupération de correspondance de texte BM25, la récupération de codage dense modèle BERT-TASB, la récupération de codage clairsemé avec la méthode bi-encodeur de codage de requête et la récupération de codage clairsemé uniquement le codage de document doc uniquement dans MSMAARCO v2 1 million volumes Comparaison de vitesse sur des ensembles de données de niveau. Nous pouvons clairement voir que le mode d'encodage de document uniquement a des performances de vitesse similaires à celles du BM25, et d'après le tableau de la section précédente, nous pouvons voir que les performances de corrélation du mode d'encodage de document uniquement ne sont pas différentes de l'encodage clairsemé de requête. méthode trop. On peut dire que le mode d’encodage de documents uniquement est un choix très rentable.
Encore plus rapide : utilisez la recherche en deux étapes pour l'accélération
Comme mentionné dans l'article précédent, lors du processus d'encodage clairsemé, le texte est converti en un ensemble de jetons et de poids. Cette transformation produit un grand nombre de jetons avec des poids faibles. Bien que ces jetons prennent la majeure partie du temps dans le processus de recherche, leur contribution aux résultats finaux de la recherche n'est pas significative.
Par conséquent, nous proposons une nouvelle stratégie de recherche qui filtre d'abord ces jetons de faible poids lors de la première recherche et s'appuie uniquement sur les jetons de poids élevé pour localiser les documents de rang supérieur. Puis sur ces documents sélectionnés, les jetons de faible poids préalablement filtrés sont réintroduits pour une seconde notation détaillée pour obtenir la note finale.
Grâce à cette méthode, nous réduisons considérablement le délai en deux parties : Premièrement, dans la première étape de la recherche, seuls les jetons de poids élevé sont mis en correspondance dans l'index inversé, ce qui réduit considérablement le temps de calcul inutile. Deuxièmement, lors de la notation à nouveau dans une petite plage précise de documents de résultats, nous calculons uniquement les scores des jetons de faible poids pour les documents potentiellement pertinents, optimisant ainsi davantage le temps de traitement. Au final, cette méthode améliorée a atteint des performances de latence proches de celles de la recherche BM25 en mode d'encodage de document (doc-only), et était 5 fois plus rapide en mode d'encodage de requête (bi-encodeur) pour 8 fois, améliorant considérablement les performances de latence et le débit de Neural Search. Ce qui suit est une comparaison de retard du Neural Sparse standard, Neural Spars en deux étapes, BM25 sur les quatre ensembles de données Beir typiques : Comparaison de la vitesse de recherche en deux étapes
5 étapes pour créer des Neural Spars dans OpenSearch dans l'application de récupération sémantique OpenSearch 1. Configurez et activez Neural Search
Définissez d'abord la configuration du cluster afin que le modèle puisse s'exécuter sur le cluster local. 2. Déployez l'encodeurPUT /_cluster/settings{"transient" : {"plugins.ml_commons.allow_registering_model_via_url" : true,"plugins.ml_commons.only_run_on_ml_node" : false,"plugins.ml_commons.native_memory_threshold" : 99}}
Copier après la connexionOpensearch dispose actuellement de 3 modèles open source. Les informations d’inscription pertinentes peuvent être obtenues dans les documents officiels. Prenons amazon/neural-sparse/opensearch-neural-sparse-encoding-v1 comme exemple. Utilisez d'abord l'API de registre pour vous inscrire :
POST /_plugins/_ml/models/_register?deploy=true{ "name": "amazon/neural-sparse/opensearch-neural-sparse-encoding-v1", "version": "1.0.1", "model_format": "TORCH_SCRIPT"}
Copier après la connexionDans le retour du cluster, vous pouvez voir le task_id .{"task_id": "<task_id>","status": "CREATED"}
Copier après la connexionUtilisez task_id pour obtenir des informations d'enregistrement détaillées : GET /_plugins/_ml/tasks/
Copier après la connexionDans le retour de l'API, nous pouvons obtenir le model_id spécifique : {"model_id": "<model_id>","task_type": "REGISTER_MODEL","function_name": "SPARSE_TOKENIZE","state": "COMPLETED","worker_node": ["wubXZX7xTIC7RW2z8nzhzw"], "create_time":1701390988405,"last_update_time": 1701390993724,"is_async": true}
Copier après la connexion 3. Configurer le pipeline de prétraitementAvant l'indexation, chaque document. besoins Les champs de texte codés doivent être convertis en vecteurs clairsemés. Dans OpenSearch, ce processus est automatisé via le préprocesseur. Vous pouvez utiliser l'API suivante pour créer un pipeline de processeur pour l'indexation hors ligne : PUT /_ingest/pipeline/neural-sparse-pipeline{ "description": "An example neural sparse encoding pipeline", "processors" : [ { "sparse_encoding": { "model_id": "<model_id>", "field_map": { "passage_text": "passage_embedding" } } } ]}
Copier après la connexionSi vous devez activer la fonction d'accélération en deux étapes (non obligatoire), vous devez créer un pipeline de recherche en deux étapes et le définir comme la valeur par défaut après la création du pipeline de recherche de l'index. La méthode d'établissement d'un pipeline de recherche accélérée en deux étapes avec des paramètres par défaut est la suivante Pour des paramètres et des significations plus détaillés, veuillez vous référer à la documentation officielle d'OpenSearch de la version 2.15 et ultérieure.
4. Définir l'indexPUT /_search/pipeline/two_phase_search_pipeline{ "request_processors": [ { "neural_sparse_two_phase_processor": { "tag": "neural-sparse", "description": "This processor is making two-phase processor." } } ]}
Copier après la connexion神经稀疏搜索利用 rank_features 字段类型来存储编码得到的词元和相对应的权重。索引将使用上述预处理器来编码文本。我们可以按以下方式创建索一个包含两阶段搜索加速管线的索引(如果不想开启此功能,可把 `two_phase_search_pipeline` 替换为 `_none` 或删除 `settings.search` 这一配置单元)。
PUT /my-neural-sparse-index{ "settings": { "ingest":{ "default_pipeline":"neural-sparse-pipeline" }, "search":{ "default_pipeline":"two_phase_search_pipeline" } }, "mappings": { "properties": { "passage_embedding": { "type": "rank_features" }, "passage_text": { "type": "text" } } }}
Copier après la connexion5. 使用预处理器导入文档并搜索 在设置索引之后,客户可以提交文档。客户提供文本字段,而摄取进程将自动将文本内容转换为稀疏向量,并根据预处理器中的字段映射 field_map 将其放入 rank_features 字段: PUT /my-neural-sparse-index/_doc/{ "passage_text": "Hello world"}
Copier après la connexion在索引中进行稀疏语义搜索的接口如下,将
替换为第二步中注册的 model_id: GET my-neural-sparse-index/_search{ "query":{ "neural_sparse":{ "passage_embedding":{ "query_text": "Hi world", "model_id": <model_id> } } }}
Copier après la connexion关于 OpenSearch OpenSearch 是一种分布式、由社区驱动并取得 Apache 2.0 许可的 100% 开源搜索和分析套件,可用于一组广泛的使用案例,如实时应用程序监控、日志分析和网站搜索。OpenSearch 提供了一个高度可扩展的系统,通过集成的可视化工具 OpenSearch 控制面板为大量数据提供快速访问和响应,使用户可以轻松地探索他们的数据。 OpenSearch 由 Apache Lucene 搜索库提供技术支持,它支持一系列搜索及分析功能,如 k - 最近邻(KNN)搜索、SQL、异常检测、Machine Learning Commons、Trace Analytics、全文搜索等。
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Il s'agit également d'une vidéo Tusheng, mais PaintsUndo a emprunté une voie différente. L'auteur de ControlNet, LvminZhang, a recommencé à vivre ! Cette fois, je vise le domaine de la peinture. Le nouveau projet PaintsUndo a reçu 1,4kstar (toujours en hausse folle) peu de temps après son lancement. Adresse du projet : https://github.com/lllyasviel/Paints-UNDO Grâce à ce projet, l'utilisateur saisit une image statique et PaintsUndo peut automatiquement vous aider à générer une vidéo de l'ensemble du processus de peinture, du brouillon de ligne au suivi du produit fini. . Pendant le processus de dessin, les changements de lignes sont étonnants. Le résultat vidéo final est très similaire à l’image originale : jetons un coup d’œil à un dessin complet.

La colonne AIxiv est une colonne 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 Les auteurs de cet article font tous partie de l'équipe de l'enseignant Zhang Lingming de l'Université de l'Illinois à Urbana-Champaign (UIUC), notamment : Steven Code repair ; doctorant en quatrième année, chercheur

La colonne AIxiv est une colonne 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 Dans le processus de développement de l'intelligence artificielle, le contrôle et le guidage des grands modèles de langage (LLM) ont toujours été l'un des principaux défis, visant à garantir que ces modèles sont à la fois puissant et sûr au service de la société humaine. Les premiers efforts se sont concentrés sur les méthodes d’apprentissage par renforcement par feedback humain (RL

acclamations! Qu’est-ce que ça fait lorsqu’une discussion sur papier se résume à des mots ? Récemment, des étudiants de l'Université de Stanford ont créé alphaXiv, un forum de discussion ouvert pour les articles arXiv qui permet de publier des questions et des commentaires directement sur n'importe quel article arXiv. Lien du site Web : https://alphaxiv.org/ En fait, il n'est pas nécessaire de visiter spécifiquement ce site Web. Il suffit de remplacer arXiv dans n'importe quelle URL par alphaXiv pour ouvrir directement l'article correspondant sur le forum alphaXiv : vous pouvez localiser avec précision les paragraphes dans. l'article, Phrase : dans la zone de discussion sur la droite, les utilisateurs peuvent poser des questions à l'auteur sur les idées et les détails de l'article. Par exemple, ils peuvent également commenter le contenu de l'article, tels que : "Donné à".

Récemment, l’hypothèse de Riemann, connue comme l’un des sept problèmes majeurs du millénaire, a réalisé une nouvelle avancée. L'hypothèse de Riemann est un problème mathématique non résolu très important, lié aux propriétés précises de la distribution des nombres premiers (les nombres premiers sont les nombres qui ne sont divisibles que par 1 et par eux-mêmes, et jouent un rôle fondamental dans la théorie des nombres). Dans la littérature mathématique actuelle, il existe plus d'un millier de propositions mathématiques basées sur l'établissement de l'hypothèse de Riemann (ou sa forme généralisée). En d’autres termes, une fois que l’hypothèse de Riemann et sa forme généralisée seront prouvées, ces plus d’un millier de propositions seront établies sous forme de théorèmes, qui auront un impact profond sur le domaine des mathématiques et si l’hypothèse de Riemann s’avère fausse, alors parmi eux ; ces propositions qui en font partie perdront également de leur efficacité. Une nouvelle percée vient du professeur de mathématiques du MIT, Larry Guth, et de l'Université d'Oxford

Si la réponse donnée par le modèle d’IA est incompréhensible du tout, oseriez-vous l’utiliser ? À mesure que les systèmes d’apprentissage automatique sont utilisés dans des domaines de plus en plus importants, il devient de plus en plus important de démontrer pourquoi nous pouvons faire confiance à leurs résultats, et quand ne pas leur faire confiance. Une façon possible de gagner confiance dans le résultat d'un système complexe est d'exiger que le système produise une interprétation de son résultat qui soit lisible par un humain ou un autre système de confiance, c'est-à-dire entièrement compréhensible au point que toute erreur possible puisse être trouvé. Par exemple, pour renforcer la confiance dans le système judiciaire, nous exigeons que les tribunaux fournissent des avis écrits clairs et lisibles qui expliquent et soutiennent leurs décisions. Pour les grands modèles de langage, nous pouvons également adopter une approche similaire. Cependant, lorsque vous adoptez cette approche, assurez-vous que le modèle de langage génère

Les modèles linguistiques peuvent-ils vraiment être utilisés pour la prédiction de séries chronologiques ? Selon la loi des gros titres de Betteridge (tout titre d'actualité se terminant par un point d'interrogation peut recevoir une réponse « non »), la réponse devrait être non. Le fait semble être vrai : un LLM aussi puissant ne peut pas bien gérer les données de séries chronologiques. Les séries chronologiques, c'est-à-dire les séries chronologiques, comme leur nom l'indique, font référence à un ensemble de séquences de points de données disposées par ordre temporel. L'analyse des séries chronologiques est essentielle dans de nombreux domaines, notamment la prévision de la propagation des maladies, l'analyse du commerce de détail, la santé et la finance. Dans le domaine de l'analyse des séries chronologiques, de nombreux chercheurs ont récemment étudié comment utiliser les grands modèles linguistiques (LLM) pour classer, prédire et détecter les anomalies dans les séries chronologiques. Ces articles supposent que les modèles de langage capables de gérer les dépendances séquentielles dans le texte peuvent également se généraliser aux séries chronologiques.

La colonne AIxiv est une colonne 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. Introduction Ces dernières années, l'application de grands modèles de langage multimodaux (MLLM) dans divers domaines a connu un succès remarquable. Cependant, en tant que modèle de base pour de nombreuses tâches en aval, le MLLM actuel se compose du célèbre réseau Transformer, qui
