Jose Parra

5 results

Vector Search de Essentiels du LLM - Quoi, Quand et Pourquoi

La recherche vectorielle et, plus largement, l'intelligence artificielle (IA) sont plus populaires que jamais. Ces termes apparaissent partout. Les entreprises technologiques du monde entier s'efforcent de mettre au point des fonctionnalités de recherche vectorielle et d'IA afin de participer à cette tendance croissante. Par conséquent, il est rare de tomber sur la page d'accueil d'une entreprise axée sur les données sans voir une référence à la recherche vectorielle ou aux grands modèles de langage (LLM). Dans ce blog, nous verrons ce que sont ces termes MEAN et nous examinerons les événements qui ont conduit à leur popularité actuelle. Consultez notre page de ressources sur l'IA pour en savoir plus sur la création d'applications basées sur l'IA avec MongoDB. Qu'est-ce que la recherche vectorielle ? Les vecteurs sont des représentations codées de données non structurées telles que du texte, des images et du son sous la forme d'une gamme de nombres. Figure 1 : Les données sont transformées en vecteurs par l'intégration de modèles Ces vecteurs sont produits par des techniques d'apprentissage automatique appelées "embedding models". Ces modèles sont entraînés sur de grands corpus de données. Les modèles d'intégration permettent de saisir efficacement les relations et les similitudes significatives entre les données. Cela permet aux utilisateurs d'interroger les données en se basant sur la signification plutôt que sur les données elles-mêmes. Cela permet de réaliser des tâches d'analyse de données plus efficaces, telles que les systèmes de recommandation, la compréhension du langage et la reconnaissance d'images. Toute recherche commence par une requête et, dans la recherche vectorielle, la requête est représentée par un vecteur. La recherche vectorielle consiste à trouver, parmi les vecteurs stockés dans une base de données, ceux qui sont les plus similaires au vecteur de la requête. C'est le principe de base. Il s'agit d'une question de similitude. C'est pourquoi la recherche vectorielle est souvent appelée recherche de similarité. Remarque : la similitude s'applique également aux algorithmes de classement qui utilisent des données non vectorielles. Pour comprendre le concept de similarité vectorielle, imaginons un espace à trois dimensions. Dans cet espace, l'emplacement d'un point de données est entièrement déterminé par trois coordonnées. Figure 2 : Localisation d'un point P dans un espace tridimensionnel De même, si un espace a 1024 dimensions, il faut 1024 coordonnées pour localiser un point de données. Figure 3 : Point P dans une sphère représentant un espace multidimensionnel Les vecteurs permettent également de localiser des points de données dans des espaces multidimensionnels. En fait, nous pouvons traiter les valeurs d'un vecteur comme une gamme de coordonnées. Une fois que nous avons localisé les points de données - les vecteurs - leur similarité est calculée en mesurant la distance qui les sépare dans l'espace vectoriel. Les points les plus proches les uns des autres dans l'espace vectoriel représentent des concepts dont la signification est plus proche. Par exemple, "pneu" a une plus grande similitude avec "voiture" et une moindre avec "avion." Cependant, l'aile "" n'aurait qu'une similarité avec l'avion "." Par conséquent, la distance entre les vecteurs "pneu" et "voiture" serait plus petite que la distance entre les vecteurs "pneu" et "avion". Pourtant, la distance entre "aile" et "voiture" serait énorme. En d'autres termes, le terme "pneu" est pertinent lorsque l'on parle d'une "voiture" et, dans une moindre mesure, d'un "avion". Cependant, une "aile" n'est pertinente que lorsqu'il s'agit d'un "avion" et ne l'est pas du tout lorsqu'il s'agit d'une "voiture" (du moins jusqu'à ce que les voitures volantes deviennent un mode de transport viable). La contextualisation des données - quel qu'en soit le type - permet à la recherche vectorielle d'extraire les résultats les plus pertinents pour une requête donnée. Un exemple simple de similarité Tableau 1 : Exemple de similarité entre différents termes Que sont les grands modèles linguistiques ? Les LLM apportent l'IA à l'équation de la recherche vectorielle. Les LLM et les esprits humains comprennent et associent tous deux des concepts afin d'effectuer certaines tâches en langage naturel, comme suivre une conversation ou comprendre un article. Les LLM, comme les humains, ont besoin d'être formés pour comprendre différents concepts. Par exemple, savez-vous à quoi correspond le terme "corium" ? À moins d'être ingénieur nucléaire, probablement pas. Il en va de même pour les LLM : s'ils ne sont pas formés dans un domaine spécifique, ils ne sont pas en mesure de comprendre les concepts et obtiennent donc de mauvais résultats. Prenons un exemple. Les LLM comprennent des morceaux de texte grâce à leur couche d'intégration. C'est ici que les mots ou les phrases sont convertis en vecteurs. Pour visualiser les vecteurs, nous allons utiliser le mot cloud. Les mots cloud sont étroitement liés aux vecteurs en ce sens qu'ils représentent des concepts et leur contexte. Voyons tout d'abord le mot cloud qu'un modèle d'intégration générerait pour le terme "corium" s'il était entraîné avec des données d'ingénierie nucléaire : Figure 4 : Exemple de mot cloud à partir d'un modèle formé avec des données nucléaires Comme le montre l'image ci-dessus, le mot cloud indique que le corium est un matériau radioactif qui a un rapport avec les structures de sécurité et de confinement. Mais le corium est un terme particulier qui peut également s'appliquer à un autre domaine. Voyons le mot cloud résultant d'un modèle d'intégration formé à la biologie et à l'anatomie : Figure 5 : Exemple de mot cloud à partir d'un modèle formé avec des données biologiques Dans ce cas, le mot cloud indique que le corium est un concept lié à la peau et à ses couches. Que s'est-il passé ici ? L'un des modèles d'intégration est-il erroné ? Non. Ils ont tous deux été formés avec des données différentes. C'est pourquoi il est essentiel de trouver le modèle le plus approprié pour un cas d'utilisation spécifique. Une pratique courante dans l'industrie consiste à adopter un modèle d'intégration pré-entraîné avec de solides connaissances de base. On prend ce modèle et on l'affine ensuite avec les connaissances spécifiques au domaine nécessaires à l'exécution de tâches particulières. La quantité et la qualité des données utilisées pour former un modèle sont également importantes. Nous pouvons convenir qu'une personne qui n'a lu qu'un seul article sur l'aérodynamique sera moins bien informée sur le sujet qu'une personne qui a étudié la physique et l'ingénierie aérospatiale. De même, les modèles formés à partir d'un grand nombre de données de haute qualité comprennent mieux les concepts et génèrent des vecteurs qui les représentent plus fidèlement. C'est la base d'un système de recherche vectorielle efficace. Il convient de noter que, bien que les LLM utilisent des modèles d'intégration de texte, la recherche vectorielle va plus loin. Il peut traiter des fichiers audio, des images et bien d'autres choses encore. Il est important de rappeler que les modèles d'intégration utilisés dans ces cas partagent la même approche. Ils doivent également être formés aux données - images, sons, etc. - afin de pouvoir en comprendre le sens et créer les vecteurs de similarité appropriés. Quand la recherche vectorielle a-t-elle été créée ? MongoDB Atlas Vector Search propose actuellement trois approches pour calculer la similarité des vecteurs. Ces mesures sont également appelées "mesures de distance" et consistent en : distance euclidienne produit du cosinus produit en points Bien que chaque mesure soit différente, pour les besoins de ce blog, nous nous concentrerons sur le fait qu'elles mesurent toutes la distance. Atlas Vector Search introduit ces mesures de distance dans un algorithme de voisinage approximatif le plus proche (ANN) pour trouver les vecteurs stockés qui sont les plus similaires au vecteur de la requête. Afin d'accélérer ce processus, les vecteurs sont indexés à l'aide d'un algorithme appelé "petit monde navigable hiérarchique" (HNSW). HNSW guide la recherche à travers un réseau de points de données interconnectés afin que seuls les points de données les plus pertinents soient pris en compte. L'utilisation de l'une des trois mesures de distance en conjonction avec les algorithmes HNSW et KNN constitue la base de la recherche vectorielle sur MongoDB Atlas. Mais quelle est l'ancienneté de ces technologies ? On pourrait croire qu'il s'agit d'inventions récentes d'un laboratoire d'informatique quantique de pointe, mais la vérité est loin d'être là. Figure 6 : Chronologie des technologies de recherche vectorielle La distance euclidienne a été formulée en 300 avant J.-C., le cosinus et le produit du point en 1881, l'algorithme KNN en 1951 et l'algorithme HNSW en 2016. Cela signifie que les bases de la recherche vectorielle de pointe étaient déjà disponibles en 2016. Ainsi, bien que la recherche vectorielle soit un sujet d'actualité, il est possible de la mettre en œuvre depuis plusieurs années. Quand les LLM ont-ils été créés ? En 2017, il y a eu une percée : l'architecture du transformateur . Présentée dans le célèbre article Attention is all you need , cette architecture a introduit un modèle de réseau neuronal pour les tâches de traitement du langage naturel (NLP). Cela a permis aux algorithmes de ML de traiter les données linguistiques dans un ordre de grandeur supérieur à ce qui était possible auparavant. Par conséquent, la quantité d'informations pouvant être utilisées pour former les modèles a augmenté de façon exponentielle. Cela a ouvert la voie à l'apparition du premier LLM en 2018 : GPT-1 par OpenAI. Les LLM utilisent des modèles d'intégration pour comprendre des morceaux de texte et effectuer certaines tâches en langage naturel, comme la réponse à des questions ou la traduction automatique. Les LLM sont essentiellement des modèles de NLP qui ont été rebaptisés en raison de la grande quantité de données avec lesquelles ils sont entraînés - d'où le mot "large" dans LLM. Le graphique ci-dessous montre la quantité de données - paramètres - utilisées pour former les modèles de ML au fil des ans. Une augmentation spectaculaire peut être observée en 2017 après la publication de l'architecture du transformateur. Figure 7 : Nombre de paramètres des systèmes de ML au fil du temps. Source:   towardsdatascience.com Pourquoi la Vector Search et les LLM sont-ils si populaires ? Comme indiqué plus haut, la technologie de la recherche vectorielle était pleinement disponible en 2016. Cependant, il n'est devenu particulièrement populaire qu'à la fin de l'année 2022. Pourquoi ? Bien que l'industrie des ML soit très active depuis 2018, les LLM n'étaient pas largement disponibles ou faciles à utiliser jusqu'à la version de ChatGPT d'OpenAI en novembre 2022. Le fait qu'OpenAI ait permis à tout un chacun d'interagir avec un LLM par le biais d'un simple chat est la clé de son succès. ChatGPT a révolutionné le secteur en permettant au commun des mortels d'interagir avec les algorithmes NLP d'une manière qui aurait été autrement réservée aux chercheurs et aux scientifiques. Comme le montre la figure ci-dessous, la percée d'OpenAI a entraîné une montée en flèche de la popularité des LLM. Parallèlement, ChatGPT est devenu un outil grand public. L'influence de l'OpenAI sur la popularité des LLM est également démontrée par le fait que l'OpenAI et les LLM ont connu leur premier pic de popularité simultanément. (Voir figure 8.) ​Figure 8 : Popularité des termes LLM et OpenAI au fil du temps. Source:   Google Trends Voici pourquoi. Si les LLM sont si populaires, c'est parce qu'OpenAI les a rendus célèbres avec la version de ChatGPT. La recherche et le stockage de grandes quantités de vecteurs sont devenus un défi. Cela s'explique par le fait que les LLMs travaillent avec des encastrements. L'adoption de la recherche vectorielle a donc progressé parallèlement. C'est le facteur qui contribue le plus à la mutation du secteur. Cette évolution a conduit de nombreuses entreprises de données à introduire un support pour la recherche vectorielle et d'autres fonctionnalités liées aux LLM et à l'IA qui les sous-tend. Conclusion La recherche vectorielle est un perturbateur moderne. La valeur croissante des encastrements vectoriels et des processus de recherche mathématique avancés a catalysé l'adoption de la recherche vectorielle pour transformer le domaine de la recherche d'informations. La génération et la recherche de vecteurs peuvent être des processus indépendants, mais lorsqu'ils fonctionnent ensemble, leur potentiel est illimité. Pour en savoir plus, visitez notre page produit Atlas Vector Search . Pour commencer à utiliser la Vector Search, inscrivez-vous à Atlas ou connectez-vous à votre compte.

November 16, 2023

Vector Search und LLM-Grundlagen – Was, Wann und Warum

Vektorsuche und im weiteren Sinne künstliche Intelligenz (KI) sind heute beliebter denn je. Diese Begriffe tauchen überall auf. Technologieunternehmen auf der ganzen Welt bemühen sich darum, Vektorsuche und KI-Funktionen zu veröffentlichen, um Teil dieses wachsenden Trends zu sein. Daher ist es ungewöhnlich, auf die Homepage eines datengesteuerten Unternehmens zu stoßen, ohne einen Verweis auf die Vektorsuche oder große Sprachmodelle (LLMs) zu finden. In diesem Blog befassen wir uns mit der MEAN dieser Begriffe und untersuchen gleichzeitig die Ereignisse, die zu ihrem aktuellen Trend geführt haben. Schauen Sie sich unsere KI-Ressourcenseite an, um mehr über die Erstellung KI-gestützter Apps mit MongoDB zu erfahren. Was ist Vector Search? Vektoren sind codierte Darstellungen unstrukturierter Daten wie Text, Bilder und Audio in Form eines Array. Abbildung 1: Durch die Einbettung von Modellen werden Daten in Vektoren umgewandelt Diese Vektoren werden durch Techniken des maschinellen Lernens (ML) erzeugt, die als „Einbettungsmodelle“ bezeichnet werden. Diese Modelle werden auf großen Datenmengen trainiert. Einbettungsmodelle erfassen effektiv sinnvolle Beziehungen und Ähnlichkeiten zwischen Daten. Dies ermöglicht es Benutzern, Daten basierend auf der Bedeutung und nicht auf der Grundlage der Daten selbst abzufragen. Diese Tatsache ermöglicht effizientere Datenanalyseaufgaben wie Empfehlungssysteme, Sprachverständnis und Bilderkennung. Jede Suche beginnt mit einer Abfrage und bei der Vector Search wird die Abfrage durch einen Vektor dargestellt. Die Aufgabe der Vektorsuche besteht darin, aus den in einer Datenbank gespeicherten Vektoren diejenigen zu finden, die dem Vektor der Abfrage am ähnlichsten sind. Dies ist die Grundvoraussetzung. Es geht um Ähnlichkeit. Aus diesem Grund wird die Vektorsuche oft als Ähnlichkeitssuche bezeichnet. Hinweis: Ähnlichkeit gilt auch für Ranking-Algorithmen, die mit Nicht-Vektordaten arbeiten. Um das Konzept der Vektorähnlichkeit zu verstehen, stellen wir uns einen dreidimensionalen Raum vor. In diesem Raum wird die Position eines Datenpunkts vollständig durch drei Koordinaten bestimmt. Abbildung 2: Lage eines Punktes P im dreidimensionalen Raum Wenn ein Raum 1024 Dimensionen hat, sind auf die gleiche Weise 1024 Koordinaten erforderlich, um einen Datenpunkt zu lokalisieren. Abbildung 3: Punkt P in einer Kugel, die einen mehrdimensionalen Raum darstellt Vektoren liefern auch die Position von Datenpunkten in mehrdimensionalen Räumen. Tatsächlich können wir die Werte in einem Vektor als ein Array behandeln. Sobald wir die Position der Datenpunkte – der Vektoren – haben, wird ihre Ähnlichkeit untereinander berechnet, indem der Abstand zwischen ihnen im Vektorraum gemessen wird. Punkte, die im Vektorraum näher beieinander liegen, stellen Konzepte dar, deren Bedeutung ähnlicher ist. Beispielsweise hat „Reifen“ eine größere Ähnlichkeit mit „Auto“ und eine geringere Ähnlichkeit mit „Flugzeug“. Allerdings hätte „Flügel“ nur eine Ähnlichkeit mit „Flugzeug“. Daher wäre der Abstand zwischen den Vektoren für „Reifen“ und „Auto“ kleiner als der Abstand zwischen den Vektoren für „Reifen“ und „Flugzeug“. Allerdings wäre der Abstand zwischen „Flügel“ und „Auto“ enorm. Mit anderen Worten: „Reifen“ ist relevant, wenn wir von einem „Auto“ und in geringerem Maße von einem „Flugzeug“ sprechen. Allerdings ist ein „Flügel“ nur relevant, wenn wir von einem „Flugzeug“ sprechen, und überhaupt nicht relevant, wenn wir von einem „Auto“ sprechen (zumindest bis fliegende Autos ein brauchbares Transportmittel sind). Die Kontextualisierung von Daten – unabhängig vom Typ – ermöglicht es der Vector Search, die relevantesten Ergebnisse zu einer bestimmten Abfrage abzurufen. Ein einfaches Beispiel für Ähnlichkeit Tabelle 1: Beispiel für Ähnlichkeit zwischen verschiedenen Begriffen Was sind große Sprachmodelle? LLMs bringen KI in die Vektorsuchgleichung ein. LLMs und der menschliche Geist verstehen und assoziieren Konzepte, um bestimmte Aufgaben in natürlicher Sprache auszuführen, beispielsweise einem Gespräch zu folgen oder einen Artikel zu verstehen. LLMs benötigen wie Menschen eine Ausbildung, um verschiedene Konzepte zu verstehen. Wissen Sie zum Beispiel, was der Begriff „Corium“ bedeutet? Es sei denn, Sie sind Nuklearingenieur, wahrscheinlich nicht. Das Gleiche gilt für LLMs: Wenn sie nicht in einem bestimmten Bereich ausgebildet sind, sind sie nicht in der Lage, Konzepte zu verstehen und erbringen daher schlechte Leistungen. Schauen wir uns ein Beispiel an. LLMs verstehen Textteile dank ihrer Einbettungsschicht. Dabei werden Wörter oder Sätze in Vektoren umgewandelt. Um Vektoren zu visualisieren, verwenden wir die cloud. cloud sind eng mit Vektoren verwandt, da sie Konzepte und deren Kontext darstellen. Sehen wir uns zunächst die cloud an, die ein Einbettungsmodell für den Begriff „Corium“ erzeugen würde, wenn es mit kerntechnischen Daten trainiert würde: Abbildung 4: cloud aus einem mit Nukleardaten trainierten Modell Wie im Bild oben gezeigt, weist die cloud darauf hin, dass es sich bei Corium um ein radioaktives Material handelt, das etwas mit Sicherheits- und Eindämmungsstrukturen zu tun hat. Corium ist jedoch ein spezieller Begriff, der auch auf einen anderen Bereich angewendet werden kann. Sehen wir uns die cloud an, die sich aus einem Einbettungsmodell ergibt, das in Biologie und Anatomie trainiert wurde: Abbildung 5: cloud aus einem mit Biologiedaten trainierten Modell In diesem Fall weist die cloud darauf hin, dass es sich bei Corium um einen Begriff handelt, der sich auf die Haut und ihre Schichten bezieht. Was ist hier passiert? Ist eines der Einbettungsmodelle falsch? NEIN. Sie wurden beide mit unterschiedlichen Datenfestlegungen trainiert. Deshalb ist es entscheidend, das am besten geeignete Modell für einen bestimmten Anwendungsfall zu finden. Eine gängige Praxis in der Branche ist die Übernahme eines vorab trainierten Einbettungsmodells mit fundiertem Hintergrundwissen. Man nimmt dieses Modell und passt es dann mit dem domänenspezifischen Wissen an, das zur Ausführung bestimmter Aufgaben erforderlich ist. Auch die Quantität und Qualität der zum Trainieren eines Modells verwendeten Daten sind relevant. Wir sind uns einig, dass eine Person, die nur einen Artikel über Aerodynamik gelesen hat, über das Thema weniger informiert ist als eine Person, die Physik und Luft- und Raumfahrttechnik studiert hat. Ebenso sind Modelle, die mit großen Mengen an qualitativ hochwertigen Daten trainiert werden, besser in der Lage, Konzepte zu verstehen und Vektoren zu generieren, die sie genauer darstellen. Dies schafft die Grundlage für ein erfolgreiches Vektorsuchsystem. Es ist erwähnenswert, dass LLMs zwar Texteinbettungsmodelle verwenden, die Vektorsuche jedoch darüber hinausgeht. Es kann mit Audio, Bildern und mehr umgehen. Es ist wichtig zu bedenken, dass die für diese Fälle verwendeten Einbettungsmodelle denselben Ansatz verfolgen. Sie müssen auch mit Daten – Bildern, Tönen usw. – trainiert werden, um die Bedeutung dahinter zu verstehen und die entsprechenden Ähnlichkeitsvektoren zu erstellen. Wann wurde die Vector Search erstellt? MongoDB Atlas Vector Search bietet derzeit drei Ansätze zur Berechnung der Vektorähnlichkeit. Diese werden auch als Distanzmetriken bezeichnet und bestehen aus: Euklidische Entfernung Kosinusprodukt Skalarprodukt Obwohl jede Metrik anders ist, konzentrieren wir uns in diesem Blog auf die Tatsache, dass sie alle die Entfernung messen. Atlas Vector Search speist diese Distanzmetriken in einen ANN-Algorithmus (Approximation Nearest Neighbor) ein, um die gespeicherten Vektoren zu finden, die dem Vektor der Abfrage am ähnlichsten sind. Um diesen Prozess zu beschleunigen, werden Vektoren mithilfe eines Algorithmus namens „Hierarchical Navigable Small World“ (HNSW) Index . HNSW leitet die Suche durch ein Netzwerk miteinander verbundener Datenpunkte, sodass nur die relevantesten Datenpunkte berücksichtigt werden. Die Verwendung einer der drei Distanzmetriken in Verbindung mit den HNSW- und KNN-Algorithmen bildet die Grundlage für die Durchführung einer Vektorsuche im MongoDB Atlas. Aber wie alt sind diese Technologien? Wir würden denken, dass es sich um neue Erfindungen eines hochmodernen Quantencomputerlabors handelt, aber die Wahrheit ist weit davon entfernt. Abbildung 6: Zeitleiste der Vektorsuchtechnologien Der euklidische Abstand wurde im Jahr 300 v. Chr. formuliert, der Kosinus und das Skalarprodukt im Jahr 1881, der KNN-Algorithmus im Jahr 1951 und der HNSW-Algorithmus im Jahr 2016. Dies bedeutet, dass die Grundlagen für eine moderne Vektorsuche bereits im Jahr 2016 vollständig vorhanden waren. Obwohl die Vektorsuche heute ein heißes Thema ist, ist es bereits seit mehreren Jahren möglich, sie umzusetzen. Wann wurden LLMs erstellt? Im Jahr 2017 gab es einen Durchbruch: die Transformer-Architektur . Diese Architektur wurde in dem berühmten Artikel Attention is all you need vorgestellt und führte ein neuronales Netzwerkmodell für NLP-Aufgaben (Natural Language Processing) ein. Dies ermöglichte es ML-Algorithmen, Sprachdaten in einer Größenordnung zu verarbeiten, die zuvor möglich war. Dadurch nahm die Menge an Informationen, die zum Trainieren der Modelle verwendet werden konnte, exponentiell zu. Dies ebnete den Weg für das Erscheinen des ersten LLM im Jahr 2018: GPT-1 von OpenAI. LLMs verwenden Einbettungsmodelle, um Textteile zu verstehen und bestimmte Aufgaben in natürlicher Sprache wie die Beantwortung von Fragen oder maschinelle Übersetzung auszuführen. LLMs sind im Wesentlichen NLP-Modelle, die aufgrund der großen Datenmenge, mit der sie trainiert werden, umbenannt wurden – daher das Wort „groß“ in LLM. Die folgende Graph zeigt die Datenmenge – Parameter –, die im Laufe der Jahre zum Trainieren von ML-Modellen verwendet wurde. Ein dramatischer Anstieg ist im Jahr 2017 nach Veröffentlichung der Transformer-Architektur zu beobachten. Abbildung 7: Parameteranzahl von ML-Systemen im Zeitverlauf. Source:   towardsdatascience.com Warum sind Vektorsuche und LLMs so beliebt? Wie bereits erwähnt, war die Technologie zur Vektorsuche bereits im Jahr 2016 vollständig verfügbar. Besonders beliebt wurde es allerdings erst Ende 2022. Warum? Obwohl die ML-Branche seit 2018 sehr aktiv ist, waren LLMs bis zur Veröffentlichung von ChatGPT durch OpenAI im November 2022 weder allgemein verfügbar noch einfach zu verwenden. Die Tatsache, dass OpenAI jedem die Interaktion mit einem LLM über einen einfachen Chat ermöglichte, ist der Schlüssel zu seinem Erfolg. ChatGPT revolutionierte die Branche, indem es dem Durchschnittsbürger ermöglichte, mit NLP-Algorithmen auf eine Weise zu interagieren, die sonst Forschern und Wissenschaftlern vorbehalten gewesen wäre. Wie in der folgenden Abbildung zu sehen ist, führte der Durchbruch von OpenAI zu einem rasanten Anstieg der Popularität von LLMs. Gleichzeitig wurde ChatGPT zu einem Mainstream-Tool, das von der breiten Öffentlichkeit genutzt wird. Der Einfluss von OpenAI auf die Popularität von LLMs wird auch durch die Tatsache belegt, dass sowohl OpenAI als auch LLMs gleichzeitig ihren ersten Popularitätshöhepunkt erreichten. (Siehe Abbildung 8.) Abbildung 8: Beliebtheit der Begriffe LLM und OpenAI im Zeitverlauf. Quelle:   Google Trends Hier erfahren Sie, warum. LLMs sind so beliebt, weil OpenAI sie mit der Veröffentlichung von ChatGPT berühmt gemacht hat. Das Suchen und Speichern großer Mengen an Vektoren wurde zu einer Herausforderung. Dies liegt daran, dass LLMs mit Einbettungen arbeiten. Damit nahm gleichzeitig auch die Einführung der Vektorsuche zu. Dies ist der größte Faktor, der zum Branchenwandel beiträgt. Dieser Wandel führte dazu, dass viele Datenunternehmen Unterstützung für die vector search und andere Funktionen im Zusammenhang mit LLMs und der dahinter stehenden KI einführten. Fazit Die Vektorsuche ist ein moderner Disruptor. Der zunehmende Wert sowohl von Vektoreinbettungen als auch fortgeschrittener mathematischer Suchprozesse hat die Einführung der Vektorsuche beschleunigt und den Bereich der Informationsbeschaffung verändert. Vektorgenerierung und Vektorsuche mögen zwar unabhängige Prozesse sein, aber wenn sie zusammenarbeiten, ist ihr Potenzial grenzenlos. Um mehr zu erfahren, besuchen Sie unsere Atlas Vector Search -Produktseite. Um mit Vector Search zu beginnen, melden Sie sich bei Atlas an oder anmeldung bei Ihrem Konto an.

November 16, 2023

Vector Search e LLM Essentials - O Quê, Quando e Por Quê

Vector Search e, de forma mais ampla, a Inteligência Artificial (IA) são mais populares agora do que nunca. Esses termos estão surgindo em todos os lugares. As empresas de tecnologia em todo o mundo estão se esforçando para lançar recursos de pesquisa vetorial e IA em um esforço para fazer parte dessa tendência crescente. Como resultado, é incomum encontrar uma página inicial de uma empresa baseada em dados e não ver uma referência à pesquisa vetorial ou aos grandes modelos de linguagem (LLMs). Neste blog, abordaremos o que esses termos MEAN enquanto examinamos os eventos que levaram à sua tendência atual. Confira nossa página de recursos de IA para saber mais sobre como criar aplicativos baseados em IA com MongoDB. O que é pesquisa vetorial Vetores são representações codificadas de dados não estruturados como texto, imagens e áudio na forma de matrizes de números. Figura 1: Os dados são transformados em vetores incorporando modelos Esses vetores são produzidos por técnicas de aprendizado de máquina (ML) chamadas "modelos de incorporação". Esses modelos são treinados em grandes conjuntos de dados. A incorporação de modelos captura efetivamente relacionamentos e semelhanças significativas entre os dados. Isso permite que os usuários consultem dados com base no significado, e não nos dados em si. Este fato desbloqueia tarefas de análise de dados mais eficientes, como sistemas de recomendação, compreensão de linguagem e reconhecimento de imagem. Toda pesquisa começa com uma consulta e, na vector search, a consulta é representada por um vetor. O trabalho da busca vetorial é encontrar, a partir dos vetores armazenados em um banco de dados, aqueles que mais se assemelham ao vetor da consulta. Esta é a premissa básica. É tudo uma questão de semelhança. É por isso que a vector search é frequentemente chamada de pesquisa por similaridade. Nota: a similaridade também se aplica a algoritmos de classificação que trabalham com dados não vetoriais. Para entender o conceito de similaridade vetorial, vamos imaginar um espaço tridimensional. Neste espaço, a localização de um ponto de dados é totalmente determinada por três coordenadas. Figura 2: Localização de um ponto P num espaço tridimensional Da mesma forma, se um espaço tem 1.024 dimensões, são necessárias 1.024 coordenadas para localizar um ponto de dados. Figura 3: Ponto P em uma esfera que representa um espaço multidimensional Os vetores também fornecem a localização de pontos de dados em espaços multidimensionais. Na verdade, podemos tratar os valores de um vetor como uma matriz de coordenadas. Assim que tivermos a localização dos pontos de dados – os vetores – sua similaridade entre si é calculada medindo a distância entre eles no espaço vetorial. Os pontos mais próximos uns dos outros no espaço vetorial representam conceitos com significados mais semelhantes. Por exemplo, “pneu” tem maior semelhança com “carro” e menor com “avião”. No entanto, “asa” teria apenas semelhança com “avião”. Portanto, a distância entre os vetores “pneu” e “carro” seria menor que a distância entre os vetores “pneu” e “avião”. No entanto, a distância entre “asa” e “carro” seria enorme. Em outras palavras, “pneu” é relevante quando falamos de “carro” e, em menor medida, de “avião”. No entanto, uma “asa” só é relevante quando falamos de um “avião” e não é de todo relevante quando falamos de um “carro” (pelo menos até que os carros voadores sejam um meio de transporte viável). A contextualização dos dados — independentemente do tipo — permite que a pesquisa vetorial recupere os resultados mais relevantes para uma determinada consulta. Um exemplo simples de semelhança Tabela 1: Exemplo de semelhança entre diferentes termos O que são modelos de linguagem grande? LLMs são o que trazem a IA para a equação de vector search. LLMs e mentes humanas entendem e associam conceitos para realizar certas tarefas de linguagem natural, como acompanhar uma conversa ou compreender um artigo. Os LLMs, assim como os humanos, precisam de treinamento para compreender diferentes conceitos. Por exemplo, você sabe a que se refere o termo “corium”? A menos que você seja um engenheiro nuclear, provavelmente não. O mesmo acontece com os LLMs: se não forem treinados em um domínio específico, não serão capazes de compreender conceitos e, portanto, terão um desempenho insatisfatório. Vejamos um exemplo. LLMs entendem pedaços de texto graças à sua camada de incorporação. É aqui que palavras ou frases são convertidas em vetores. Para visualizar vetores, usaremos cloud de palavras. cloud de palavras está intimamente relacionada aos vetores no sentido de que são representações de conceitos e seu contexto. Primeiro, vamos ver a cloud de palavras que um modelo de incorporação geraria para o termo “corium” se fosse treinado com dados de engenharia nuclear: Figura 4: Exemplo de cloud de palavras de um modelo treinado com dados nucleares Conforme mostrado na imagem acima, a palavra cloud indica que o cório é um material radioativo que tem algo a ver com estruturas de segurança e contenção. Mas cório é um termo especial que também pode ser aplicado a outro domínio. Vejamos a cloud de palavras resultante de um modelo de incorporação treinado em biologia e anatomia: Figura 5: Exemplo de cloud de palavras de um modelo treinado com dados biológicos Nesse caso, a palavra cloud indica que cório é um conceito relacionado à pele e suas camadas. O que aconteceu aqui? Um dos modelos de incorporação está errado? Não. Ambos foram treinados com conjuntos de dados diferentes. É por isso que encontrar o modelo mais apropriado para um caso de uso específico é crucial. Uma prática comum na indústria é adotar um modelo de incorporação pré-treinado com forte conhecimento prévio. Pegamos esse modelo e o ajustamos com o conhecimento específico do domínio necessário para executar tarefas específicas. A quantidade e a qualidade dos dados usados para treinar um modelo também são relevantes. Podemos concordar que quem leu apenas um artigo sobre aerodinâmica estará menos informado sobre o assunto do que quem estudou física e engenharia aeroespacial. Da mesma forma, os modelos treinados com grandes conjuntos de dados de alta qualidade serão melhores na compreensão de conceitos e na geração de vetores que os representem com mais precisão. Isso cria a base para um sistema de busca vetorial bem-sucedido. É importante notar que embora os LLMs utilizem modelos de incorporação de texto, a vector search vai além disso. Ele pode lidar com áudio, imagens e muito mais. É importante lembrar que os modelos de incorporação utilizados para estes casos compartilham a mesma abordagem. Eles também precisam ser treinados com dados – imagens, sons, etc. – para serem capazes de compreender o significado por trás deles e criar os vetores de similaridade apropriados. Quando a pesquisa vetorial foi criada? O MongoDB Atlas Vector Search fornece atualmente três abordagens para calcular a similaridade vetorial. Eles também são chamados de métricas de distância e consistem em: Distância euclidiana Produto cosseno Produto escalar Embora cada métrica seja diferente, para o propósito deste blog, focaremos no fato de que todas medem distância. O Atlas Vector Search alimenta essas métricas de distância em um algoritmo de vizinho mais próximo aproximado (ANN) para encontrar os vetores armazenados que são mais semelhantes ao vetor da consulta. Para agilizar esse processo, os vetores são indexados por meio de um algoritmo denominado mundo pequeno navegável hierárquico (HNSW). O HNSW orienta a pesquisa através de uma rede de pontos de dados interconectados para que apenas os pontos de dados mais relevantes sejam considerados. O uso de uma das três métricas de distância em conjunto com os algoritmos HNSW e KNN constitui a base para realizar a pesquisa vetorial no MongoDB Atlas. Mas, quantos anos têm essas tecnologias? Poderíamos pensar que são invenções recentes de um laboratório de computação quântica de última geração, mas a verdade está longe disso. Figura 6: Linha do tempo das tecnologias de busca vetorial A distância euclidiana foi formulada no ano 300 a.C., o cosseno e o produto escalar em 1881, o algoritmo KNN em 1951 e o algoritmo HNSW em 2016. O que isto significa é que as bases para a pesquisa vetorial de última geração estavam totalmente disponíveis em 2016. Portanto, embora a pesquisa vetorial seja o tema quente da atualidade, já é possível implementá-la há vários anos. Quando os LLMs foram criados? Em 2017, houve um grande avanço: a arquitetura do transformador . Apresentada no famoso artigo Attention is all you need , essa arquitetura introduziu um modelo de rede neural para tarefas de processamento de linguagem natural (PNL). Isso permitiu que algoritmos de ML processassem dados de linguagem em uma ordem de magnitude maior do que era possível anteriormente. Como resultado, a quantidade de informações que poderiam ser usadas para treinar os modelos aumentou exponencialmente. Isso abriu caminho para o primeiro LLM aparecer em 2018: GPT-1 da OpenAI. LLMs usam modelos de incorporação para compreender trechos de texto e realizar certas tarefas de linguagem natural, como resposta a perguntas ou tradução automática. LLMs são essencialmente modelos de PNL que foram renomeados devido à grande quantidade de dados com os quais são treinados – daí a palavra grande em LLM. O gráfico abaixo mostra a quantidade de dados — parâmetros — usados para treinar modelos de ML ao longo dos anos. Um aumento dramático pode ser observado em 2017, após a publicação da arquitetura do transformador. Figura 7: Contagem de parâmetros de sistemas de ML ao longo do tempo. Fonte:   towardsdatascience.com Por que a pesquisa vetorial e os LLMs são tão populares? Conforme afirmado acima, a tecnologia de busca vetorial estava totalmente disponível em 2016. No entanto, não se tornou particularmente popular até o final de 2022. Por que? Embora a indústria de ML tenha estado muito ativa desde 2018, os LLMs não estavam amplamente disponíveis ou fáceis de usar até o lançamento do ChatGPT pela OpenAI em novembro de 2022. O fato de o OpenAI permitir que todos interajam com um LLM com um simples chat é a chave do seu sucesso. ChatGPT revolucionou a indústria ao permitir que uma pessoa comum interagisse com algoritmos de PNL de uma forma que de outra forma seria reservada para pesquisadores e cientistas. Como pode ser visto na figura abaixo, o avanço da OpenAI fez com que a popularidade dos LLMs disparasse. Ao mesmo tempo, o ChatGPT tornou-se uma ferramenta convencional usada pelo público em geral. A influência do OpenAI na popularidade dos LLMs também é evidenciada pelo fato de que tanto o OpenAI quanto os LLMs tiveram seu primeiro pico de popularidade simultaneamente. (Veja a figura 8.) Figura 8: Popularidade dos termos LLM e OpenAI ao longo do tempo. Fonte:   Google Trends Aqui está o porquê. Os LLMs são tão populares porque a OpenAI os tornou famosos com o lançamento do ChatGPT. Pesquisar e armazenar grandes quantidades de vetores tornou-se um desafio. Isso ocorre porque os LLMs funcionam com incorporações. Assim, a adoção da busca vetorial aumentou paralelamente. Este é o maior fator que contribui para a mudança da indústria. Essa mudança resultou na introdução de suporte para pesquisa vetorial e outras funcionalidades relacionadas aos LLMs e à IA por trás deles, em muitas empresas de dados. Conclusão A pesquisa vetorial é um disruptor moderno. O valor crescente da incorporação de vetores e dos processos avançados de busca matemática catalisou a adoção da busca vetorial para transformar o campo da recuperação de informação. A geração e a busca de vetores podem ser processos independentes, mas quando trabalham juntas seu potencial é ilimitado. Para saber mais, visite nossa página de produto Atlas Vector Search . Para começar a usar o Vector Search, inscreva-se no Atlas ou faça log-in em sua conta.

November 16, 2023

Vector Search y Conceptos Básicos de LLM: Qué, Cuándo y Por Qué

Vector Search y, más ampliamente, la Inteligencia Artificial (IA) son más populares ahora que nunca. Estos términos están surgiendo en todas partes. Las empresas de tecnología de todo el mundo están luchando por adoptar versiones de búsqueda vectorial y características de IA en un esfuerzo por ser parte de esta creciente tendencia. Como resultado, es inusual encontrar una página de inicio para un negocio basado en datos y no ver una referencia a la vector search o a modelos de lenguaje grande (LLM). En este blog, cubriremos lo que MEAN estos términos mientras examinamos los eventos que llevaron a su tendencia actual. Consulte nuestra página de recursos de IA para obtener más información sobre cómo crear aplicaciones basadas en IA con MongoDB. ¿Qué es la búsqueda vectorial? Los vectores son representaciones codificadas de datos no estructurados como texto, imágenes y audio en forma de abanico de números. Figura 1: Los datos se convierten en vectores al incrustar modelos Estos vectores son producidos por técnicas de aprendizaje automático (ML) llamadas modelos " de " incrustación. Estos modelos están entrenados en grandes volúmenes de datos. Los modelos de incrustación capturan de manera efectiva las relaciones significativas y las similitudes entre los datos. Esto permite a los usuarios consultar datos basados en el significado en lugar de los datos en sí. Este hecho desbloquea tareas de análisis de datos más eficientes como sistemas de recomendación, comprensión del lenguaje y reconocimiento de imágenes. Cada búsqueda comienza con una consulta y, en la búsqueda vectorial, la consulta está representada por un vector. El trabajo de la vector search es encontrar, a partir de los vectores almacenados en una base de datos, aquellos que son más similares al vector de la consulta. Esta es la premisa básica. Se trata de similitud. Esta es la razón por la que la búsqueda vectorial a menudo se llama búsqueda de similitud. Nota: la similitud también se aplica a algoritmos de clasificación que funcionan con datos no vectoriales. Para entender el concepto de similitud vectorial, imaginemos un espacio tridimensional. En este espacio, la ubicación de un punto de datos está completamente determinada por tres coordenadas. Figura 2: Ubicación de un punto P en un espacio tridimensional De la misma manera, si un espacio tiene 1024 dimensiones, se necesitan 1024 coordenadas para localizar un punto de datos. Figura 3: Punto P en una esfera que representa un espacio multidimensional Los vectores también proporcionan la ubicación de los puntos de datos en espacios multidimensionales. De hecho, podemos tratar los valores de un vector como un abanico de coordenadas. Una vez que tenemos la ubicación de los puntos de datos, los vectores, su similitud entre ellos se calcula midiendo la distancia entre ellos en el espacio vectorial. Los puntos que están más cerca unos de otros en el espacio vectorial representan conceptos que son más similares en significado. Por ejemplo, la " llanta " tiene una mayor similitud con el " auto " y una menor con el " avión. " Sin embargo, el " ala solo " tendría una similitud con el " avión. " Por lo tanto, la distancia entre los vectores para “neumático” y “auto” sería menor que la distancia entre los vectores para “neumático” y “avión”. Sin embargo, la distancia entre “ala” y “auto” sería enorme. En otras palabras, “neumático” es relevante cuando hablamos de un “auto” y, en menor medida, de un “avión”. Sin embargo, un “ala” solo es relevante cuando hablamos de un “avión” y nada relevante cuando hablamos de un “automóvil” (al menos hasta que los autos voladores sean un modo de transporte viable). La contextualización de los datos, independientemente del tipo, permite la vector search para recuperar los resultados más relevantes para una consulta determinada. Un ejemplo simple de similitud Tabla 1: Ejemplo de similitud entre diferentes términos ¿Qué son los modelos de lenguaje grande? Los LLM son lo que lleva la IA a la ecuación de búsqueda vectorial. Los LLM y las mentes humanas entienden y asocian conceptos para realizar ciertas tareas del lenguaje natural, como seguir una conversación o comprender un artículo. Los LLM, como los humanos, necesitan entrenamiento para entender diferentes conceptos. Por ejemplo, ¿sabe a qué se refiere el término “corium”? A menos que sea ingeniero nuclear, probablemente no. Lo mismo sucede con los LLM: si no están capacitados en un dominio específico, no son capaces de entender los conceptos y, por lo tanto, tienen un desempeño deficiente. Veamos un ejemplo. Los LLM entienden fragmentos de texto gracias a su capa de incrustación. Aquí es donde las palabras u oraciones se convierten en vectores. Para visualizar vectores vamos a utilizar cloud de palabras. cloud de palabras están estrechamente relacionadas con los vectores en el sentido de que son representaciones de conceptos y su contexto. Primero, veamos la cloud de palabras que generaría un modelo de incrustación para el término “corium” si fuera entrenado con datos de ingeniería nuclear: Figura 4: cloud de palabras de muestra de un modelo entrenado con datos nucleares Como se muestra en la imagen de arriba, la cloud de palabras indica que el corio es un material radiactivo que tiene algo que ver con las estructuras de seguridad y contención. Pero, corium es un término especial que también se puede aplicar a otro dominio. Veamos la cloud de palabras resultante de un modelo de incrustación que ha sido entrenado en biología y anatomía: Figura 5: cloud de palabras de muestra de un modelo entrenado con datos biológicos En este caso, la cloud de palabras indica que corium es un concepto relacionado con la piel y sus capas. ¿Qué pasó aquí? ¿Está equivocado uno de los modelos de incrustación? No. Ambos han sido entrenados con diferentes datos para establecer. Por eso es crucial encontrar el modelo más apropiado para un caso de uso específico. Una práctica común en la industria es adoptar un modelo de incrustación previamente entrenado con un sólido conocimiento de fondo. Uno toma este modelo y luego lo ajusta con el conocimiento específico del dominio necesario para realizar tareas particulares. La cantidad y calidad de los datos utilizados para entrenar un modelo también son relevantes. Podemos estar de acuerdo en que una persona que haya leído solo un artículo sobre aerodinámica estará menos informada sobre el tema que una persona que estudió física e ingeniería aeroespacial. De manera similar, los modelos que se entrenan con una gran cantidad de datos de alta calidad comprenderán mejor los conceptos y generarán vectores que los representen con mayor precisión. Esto crea las bases para un éxito (en este contexto, por ejemplo, «éxito de la innovación»); en otros contextos: sistema de búsqueda de vectores correctos. Vale la pena señalar que aunque los LLM usan modelos de incrustación de texto, la vector search va más allá de eso. Puede tratar con audio, imágenes y más. Es importante recordar que los modelos de incrustación utilizados para estos casos de acción (en este contexto empresarial particular) siguen el mismo enfoque. También necesitan ser entrenados con datos (imágenes, sonidos, etc.) para poder entender el significado detrás de esto y crear los vectores de similitud apropiados. ¿Cuándo se creó la vector search? MongoDB Atlas Vector Search actualmente proporciona tres enfoques para calcular la similitud de vectores. Estas también se denominan métricas de distancia y consisten en: distancia euclidiana producto coseno producto punto Si bien cada métrica es diferente, a los efectos de este blog nos centraremos en el hecho de que todas miden la distancia. Atlas Vector Search introduce estas métricas de distancia en un algoritmo de vecino más cercano (ANN) aproximado para encontrar los vectores almacenados que sean más similares al vector de la consulta. Para acelerar este proceso, los vectores se clasifican utilizando un algoritmo llamado mundo pequeño navegable jerárquico (HNSW). HNSW guía la búsqueda a través de una red de puntos de datos interconectados para que solo se consideren los puntos de datos más relevantes. El uso de una de las tres métricas de distancia junto con los algoritmos HNSW y KNN constituye la base para realizar búsquedas vectoriales en MongoDB Atlas. Pero, ¿cuántos años tienen estas tecnologías? Pensaríamos que son invenciones recientes de un laboratorio de computación cuántica de vanguardia, pero la verdad está lejos de eso. Figura 6: Cronología de las tecnologías de búsqueda vectorial La distancia euclidiana se formuló en el año 300 a.C., el coseno y el producto punto en 1881, el algoritmo KNN en 1951 y el algoritmo HNSW en 2016. Lo que esto significa es que las bases para la búsqueda vectorial de última generación estaban completamente disponibles en 2016. Entonces, aunque la búsqueda vectorial es el tema candente de hoy, ha sido posible implementarla durante varios años. ¿Cuándo se crearon las LLM? En 2017, hubo un gran avance: la arquitectura del transformador . Presentado en el famoso periódico Attention is all you need , esta arquitectura introdujo un modelo de red neuronal para las tareas de procesamiento del lenguaje natural (PNL). Esto permitió que los algoritmos de ML procesaran datos de lenguaje en un orden de magnitud mayor de lo que antes era posible. Como resultado, la cantidad de información que podría usarse para entrenar a los modelos aumentó exponencialmente. Esto allanó el camino para que aparezca el primer LLM en 2018: GPT -1 de OpenAI. Los LLM utilizan modelos de incrustación para comprender fragmentos de texto y realizar ciertas tareas de lenguaje natural, como responder preguntas o traducción automática. Las LLM son esencialmente modelos de PNL que fueron rebautizados debido a la gran cantidad de datos con los que están entrenados, de ahí la palabra grande en LLM. El siguiente gráfico muestra la cantidad de datos (parámetros) utilizados para entrenar modelos de ML a lo largo de los años. Se puede observar un aumento dramático en 2017 después de que se publicara la arquitectura del transformador. Figura 7: Recuento de parámetros de sistemas ML a través del tiempo. Fuente:   towardsdatascience.com ¿Por qué son tan populares la búsqueda vectorial y los LLM? Como se indicó anteriormente, la tecnología para la búsqueda vectorial estaba completamente disponible en 2016. Sin embargo, no se hizo particularmente popular hasta finales de 2022. ¿Por qué? Aunque la industria del aprendizaje automático ha estado muy activa desde 2018, los LLM no estuvieron ampliamente disponibles ni fueron fáciles de usar hasta la versión OpenAI de ChatGPT en noviembre de 2022. El hecho de que OpenAI permitiera a todos interactuar con un LLM con una simple charla es la clave de su éxito. ChatGPT revolucionó la industria al permitir que la persona promedio interactúe con algoritmos de PNL de una manera que de otro modo habría sido reservada para investigadores y científicos. Como se puede ver en la siguiente figura, el avance de OpenAI llevó a que la popularidad de los LLM se disparara. Al mismo tiempo, ChatGPT se convirtió en una herramienta convencional utilizada por el público en general. La influencia de OpenAI en la popularidad de los LLM también se evidencia por el hecho de que tanto OpenAI como LLM tuvieron su primer pico de popularidad simultáneamente. (Vea la figura 8.) Figura 8: Popularidad de los términos LLM y OpenAI a lo largo del tiempo. Fuente: v Google Trends Aquí está el por qué. Los LLM son tan populares porque OpenAI los hizo famosos con la versión de ChatGPT. Buscar y almacenar grandes cantidades de vectores se convirtió en un desafío. Esto se debe a que los LLM funcionan con incrustaciones. Así, la adopción de la búsqueda vectorial aumentó en tándem. Este es el mayor factor que contribuye al cambio de la industria. Este cambio resultó en que muchas empresas de datos introdujeran asistencia técnica para la búsqueda de vectores y otras funcionalidades relacionadas con los LLM y la IA detrás de ellos. Conclusión La búsqueda vectorial es un disruptor moderno. El creciente valor tanto de las incrustaciones vectoriales como de los procesos de búsqueda matemática avanzada ha catalizado la adopción de la búsqueda vectorial para transformar el campo de la recuperación de información. La generación de vectores y la búsqueda de vectores pueden ser procesos independientes, pero cuando trabajan juntos, su potencial es ilimitado. Para obtener más información, visite nuestra página de producto Atlas Vector Search . Para comenzar a utilizar Vector Search, regístrese en Atlas o acesso en su cuenta.

November 16, 2023

Vector Search and LLM Essentials - What, When and Why

This post is also available in: Deutsch , Français , Español , Português Vector search and, more broadly, Artificial Intelligence (AI) are more popular now than ever. These terms are arising everywhere. Technology companies around the globe are scrambling to release vector search and AI features in an effort to be part of this growing trend. As a result, it's unusual to come across a homepage for a data-driven business and not see a reference to vector search or large language models (LLMs). In this blog, we'll cover what these terms mean while examining the events that led to their current trend. Check out our AI resource page to learn more about building AI-powered apps with MongoDB. What is vector search Vectors are encoded representations of unstructured data like text, images, and audio in the form of arrays of numbers. Figure 1: Data is turned into vectors by embedding models These vectors are produced by machine learning (ML) techniques called "embedding models". These models are trained on large corpuses of data. Embedding models effectively capture meaningful relationships and similarities between data. This enables users to query data based on the meaning rather than the data itself. This fact unlocks more efficient data analysis tasks like recommendation systems, language understanding, and image recognition. Every search starts with a query and, in vector search, the query is represented by a vector. The job of vector search is finding, from the vectors stored on a database, those that are most similar to the vector of the query. This is the basic premise. It is all about similarity . This is why vector search is often called similarity search. Note: similarity also applies to ranking algorithms that work with non-vector data. To understand the concept of vector similarity, let’s picture a three-dimensional space. In this space, the location of a data point is fully determined by three coordinates. Figure 2: Location of a point P in a three-dimensional space In the same way, if a space has 1024 dimensions, it takes 1024 coordinates to locate a data point. Figure 3: Point P in a sphere that represents a multi-dimensional space Vectors also provide the location of data points in multidimensional spaces. In fact, we can treat the values in a vector as an array of coordinates. Once we have the location of the data points — the vectors — their similarity to each other is calculated by measuring the distance between them in the vector space. Points that are closer to each other in the vector space represent concepts that are more similar in meaning. For example, "tire" has a greater similarity to "car" and a lesser one to "airplane." However, "wing" would only have a similarity to "airplane." Therefore, the distance between the vectors for “tire” and “car” would be smaller than the distance between the vectors for “tire” and “airplane.” Yet, the distance between “wing” and “car” would be enormous. In other words, “tire” is relevant when we talk about a “car,” and to a lesser extent, an “airplane.” However, a “wing” is only relevant when we talk about an “airplane” and not relevant at all when we talk about a “car” (at least until flying cars are a viable mode of transport). The contextualization of data — regardless of the type — allows vector search to retrieve the most relevant results to a given query. A simple example of similarity Table 1: Example of similarity between different terms What are Large Language Models? LLMs are what bring AI to the vector search equation. LLMs and human minds both understand and associate concepts in order to perform certain natural language tasks, such as following a conversation or understanding an article. LLMs, like humans, need training in order to understand different concepts. For example, do you know what the term “corium” pertains to? Unless you're a nuclear engineer, probably not. The same happens with LLMs: if they are not trained in a specific domain, they are not able to understand concepts and therefore perform poorly. Let’s look at an example. LLMs understand pieces of text thanks to their embedding layer. This is where words or sentences are converted into vectors. In order to visualize vectors, we are going to use word clouds. Word clouds are closely related to vectors in the sense that they are representations of concepts and their context. First, let’s see the word cloud that an embedding model would generate for the term “corium” if it was trained with nuclear engineering data: Figure 4: Sample word cloud from a model trained with nuclear data As shown in the picture above, the word cloud indicates that corium is a radioactive material that has something to do with safety and containment structures. But, corium is a special term that can also be applied to another domain. Let’s see the word cloud resulting from an embedding model that has been trained in biology and anatomy: Figure 5: Sample word cloud from a model trained with biology data In this case, the word cloud indicates that corium is a concept related to skin and its layers. What happened here? Is one of the embedding models wrong? No. They have both been trained with different data sets. That is why finding the most appropriate model for a specific use case is crucial. One common practice in the industry is to adopt a pre-trained embedding model with strong background knowledge. One takes this model and then fine-tunes it with the domain-specific knowledge needed to perform particular tasks. The quantity and quality of the data used to train a model is relevant as well. We can agree that a person who has read just one article on aerodynamics will be less informed on the subject than a person who studied physics and aerospace engineering. Similarly, models that are trained with large sets of high-quality data will be better at understanding concepts and generate vectors that more accurately represent them. This creates the foundation for a successful vector search system. It is worth noting that although LLMs use text embedding models, vector search goes beyond that. It can deal with audio, images, and more. It is important to remember that the embedding models used for these cases share the same approach. They also need to be trained with data — images, sounds, etc. — in order to be able to understand the meaning behind it and create the appropriate similarity vectors. When was vector search created? MongoDB Atlas Vector Search currently provides three approaches to calculate vector similarity. These are also referred to as distance metrics, and consist of: euclidean distance cosine product dot product While each metric is different, for the purpose of this blog, we will focus on the fact that they all measure distance. Atlas Vector Search feeds these distance metrics into an approximate nearest neighbor (ANN) algorithm to find the stored vectors that are most similar to the vector of the query. In order to speed this process up, vectors are indexed using an algorithm called hierarchical navigable small world (HNSW). HNSW guides the search through a network of interconnected data points so that only the most relevant data points are considered. Using one of the three distance metrics in conjunction with the HNSW and KNN algorithms constitutes the foundation for performing vector search on MongoDB Atlas. But, how old are these technologies? We would think they are recent inventions by a bleeding-edge quantum computing lab, but the truth is far from that. Figure 6: Timeline of vector search technologies Euclidean distance was formulated in the year 300 BC, the cosine and the dot product in 1881, the KNN algorithm in 1951, and the HNSW algorithm in 2016. What this means is that the foundations for state-of-the-art vector search were fully available back in 2016. So, although vector search is today’s hot topic, it has been possible to implement it for several years. When were LLMs created? In 2017, there was a breakthrough: the transformer architecture . Presented in the famous paper Attention is all you need , this architecture introduced a neural network model for natural language processing (NLP) tasks. This enabled ML algorithms to process language data on an order of magnitude greater than was previously possible. As a result, the amount of information that could be used to train the models increased exponentially. This paved the way for the first LLM to appear in 2018: GPT-1 by OpenAI. LLMs use embedding models to understand pieces of text and perform certain natural language tasks like question answering or machine translation. LLMs are essentially NLP models that were re-branded due to the large amount of data they are trained with — hence the word large in LLM. The graph below shows the amount of data — parameters — used to train ML models over the years. A dramatic increase can be observed in 2017 after the transformer architecture was published. Figure 7: Parameter count of ML systems through time. Source:   towardsdatascience.com Why are vector search and LLMs so popular? As stated above, the technology for vector search was fully available back in 2016. However, it did not become particularly popular until the end of 2022. Why? Although the ML industry has been very active since 2018, LLMs were not widely available or easy to use until OpenAI’s release of ChatGPT in November 2022. The fact that OpenAI allowed everyone to interact with an LLM with a simple chat is the key to its success. ChatGPT revolutionized the industry by enabling the average person to interact with NLP algorithms in a way that would have otherwise been reserved for researchers and scientists. As can be seen in the figure below, OpenAI’s breakthrough led to the popularity of LLMs skyrocketing. Concurrently, ChatGPT became a mainstream tool used by the general public. The influence of OpenAI on the popularity of LLMs is also evidenced by the fact that both OpenAI and LLMs had their first popularity peak simultaneously. (See figure 8.) Figure 8: Popularity of the terms LLM and OpenAI over time. Source: Google Trends Here is why. LLMs are so popular because OpenAI made them famous with the release of ChatGPT. Searching and storing large amounts of vectors became a challenge. This is because LLMs work with embeddings. Thus the adoption of vector search increased in tandem. This is the largest contributing factor to the industry shift. This shift resulted in many data companies introducing support for vector search and other functionalities related to LLMs and the AI behind them. Conclusion Vector search is a modern disruptor. The increasing value of both vector embeddings and advanced mathematical search processes has catalyzed vector search adoption to transform the field of information retrieval. Vector generation and vector search might be independent processes, but when they work together their potential is limitless. To learn more visit our Atlas Vector Search product page. To get started using Vector Search, sign up for Atlas or log in to your account.

October 16, 2023