Mein IBM Anmelden Abonnieren

Was ist Vektoreinbettung?

12. Juni 2024

Autoren

Dave Bergmann

Senior Writer, AI Models

IBM

Cole Stryker

Editorial Lead, AI Models

Gather

Was ist Vektoreinbettung?

Vektoreinbettungen sind numerische Darstellungen von Datenpunkten, die verschiedene Datentypen – einschließlich nichtmathematischer Daten wie Wörter oder Bilder – in Zahlenreihen umwandeln, die von Modellen des maschinellen Lernens (ML) verarbeitet werden können.

Künstliche Intelligenz (KI) Modelle, von einfachen linearen Regressionsalgorithmen bis hin zu den komplizierten neuronalen Netzen, die in Deep Learning verwendet werden, arbeiten mit mathematischer Logik.

Alle Daten, mit denen ein KI-Modell arbeitet, einschließlich unstrukturierter Daten wie Text, Audio oder Bilder, müssen numerisch ausgedrückt werden. Die Vektoreinbettung ist eine Möglichkeit, einen unstrukturierten Datenpunkt in ein Zahlenfeld umzuwandeln, das die ursprüngliche Bedeutung dieser Daten ausdrückt.

Mit Trainingsmodellen, die Vektordarstellungen von Datenpunkten ausgeben, die ihren realen Merkmalen sinnvoll entsprechen, können wir nützliche Annahmen darüber treffen, wie Vektoreinbettungen zueinander in Beziehung stehen.

Intuitiv gilt: Je ähnlicher zwei reale Datenpunkte sind, desto ähnlicher sollten auch ihre jeweiligen Vektoreinbettungen sein. Merkmale oder Eigenschaften, die zwei Datenpunkte gemeinsam haben, sollten sich in beiden Vektoreinbettungen widerspiegeln. Verschiedene Datenpunkte sollten verschiedene Vektoreinbettungen haben.

Mit solchen logischen Annahmen können Vektoreinbettungen als Input für Modelle verwendet werden, die nützliche Aufgaben in der realen Welt durch mathematische Operationen ausführen, die diese numerischen Darstellungen vergleichen, transformieren, kombinieren, sortieren oder anderweitig manipulieren.

Die Darstellung von Datenpunkten als Vektoren ermöglicht auch die Interoperabilität verschiedener Typen von Daten, indem sie als eine Art „Lingua franca” zwischen verschiedenen Datenformaten fungieren, indem sie diese im selben Einbettungsraum darstellen. Zum Beispiel „übersetzen“ Sprachassistenten auf Smartphones die Audioeingaben des Benutzers in Vektoreinbettungen, die wiederum Vektoreinbettungen für die Verarbeitung natürlicher Sprache (NLP) dieses Inputs verwenden.

Vektoreinbettungen liegen daher fast allen modernen ML-Verfahren zugrunde, die in den Bereichen NLP und Computer Vision eingesetzt werden, und dienen als grundlegende Bausteine der generativen KI.

3D-Design aus Kugeln, die auf einer Schiene rollen

Die neuesten Erkenntnisse und Insights zu KI

Entdecken Sie von Experten kuratierte Erkenntnisse und Neuigkeiten zu KI, Cloud und mehr im wöchentlichen Newsletter Think. 

Was ist ein Vektor?

Vektoren gehören zur größeren Kategorie der Tensoren. Im maschinellen Lernen (ML) wird „Tensor“ als Oberbegriff für eine Reihe von Zahlen – oder eine Reihe von Zahlenreihen – in einem n-dimensionalen Raum verwendet, der wie ein mathematisches Buchhaltungsinstrument für Daten funktioniert.

Es ist gut zu wissen, dass bestimmte Wörter im Kontext der ML anders verwendet werden als in der Alltagssprache oder in anderen mathematischen Zusammenhängen. „Vektor“ selbst hat beispielsweise in der Physik eine spezifischere Konnotation und bezieht sich in der Regel auf eine Größe mit sowohl Größe als auch Richtung als in der ML.

Ebenso hat das Wort „Dimension“ in der ML je nach Kontext unterschiedliche Bedeutungen. Bei der Beschreibung eines Tensors bezieht sich dieses auf die Anzahl der Arrays, die der Tensor enthält. Bei der Beschreibung eines Vektors bezieht sich „Dimension” auf die Anzahl der Komponenten und einzelnen Zahlen, die der Vektor enthält. Analogien wie „Ordnung“ oder „Grad“ können helfen, Unklarheiten zu reduzieren.

  • Ein Skalar ist ein nulldimensionaler Tensor, der eine einzelne Zahl enthält. Ein System, das Wetterdaten modelliert, könnte beispielsweise die Tageshöchsttemperatur (in Celsius) in skalarer Form als 33 darstellen.

  • Ein Vektor ist ein eindimensionaler (oder ersten Grades oder erster Ordnung) Tensor, der mehrere Skalare der gleichen Art von Daten enthält. Ein Wettermodell könnte zum Beispiel die Tiefst-, Mittel- und Höchsttemperaturen für einen einzigen Tag in Vektorform verwenden: 25, 30, 33. Jede skalare Komponente ist ein Merkmal, d. h. eine Dimension des Vektors, die ein Merkmal des Wetters an diesem Tag darstellt.

  • Ein Tupel ist ein Tensor erster Ordnung, der Skalare von mehr als einem Typ von Daten enthält. Zum Beispiel könnten der Name, das Alter und die Größe (in Zoll) einer Person in Tupelform wie folgt dargestellt werden: (Jane, Smith, 31, 65).

  • Eine Matrix ist ein zweidimensionaler Tensor (oder zweiter Rang oder zweite Ordnung), der mehrere Vektoren desselben Typs von Daten enthält. Sie kann intuitiv als zweidimensionales Gitter von Skalaren visualisiert werden, in dem jede Zeile oder Spalte ein Vektor ist. Zum Beispiel könnte dieses Wettermodell den gesamten Monat Juni als 3x30-Matrix darstellen, in der jede Zeile ein Merkmalsvektor ist, der die Tiefst-, Mittel- und Höchsttemperaturen eines einzelnen Tages beschreibt.

  • Tensoren mit drei oder mehr Dimensionen, wie die dreidimensionalen Tensoren, die zur Darstellung von Farbbildern in Algorithmen für Computer Vision verwendet werden, werden als mehrdimensionale Arrays oder N-dimensionale Tensoren bezeichnet.

Verschiedene einfache Transformationen können auch auf Matrizen oder andere n-dimensionale Tensoren angewendet werden, um die darin enthaltenen Daten in Vektorform darzustellen. Zum Beispiel kann eine 4x4-Matrix zu einem 16-dimensionalen Vektor und ein 3-dimensionaler Tensor eines 4x4-Pixel-Bildes kann zu einem 48-dimensionalen Vektor umgewandelt werden. Einbettungen erfolgen in modernem ML überwiegend in Form von Vektoren.

Umgekehrt sind Vektoren in anderen Kontexten, wie z. B. der Physik, nicht unbedingt Einbettungen. Aber in ML sind Vektoren normalerweise Einbettungen und Einbettungen sind normalerweise Vektoren.

Vektoren im Vergleich zu Einbettungen:

Obwohl die Begriffe in ML oft synonym verwendet werden, sind „Vektoren“ und „Einbettungen“ nicht dasselbe.

Eine Einbettung ist eine beliebige numerische Darstellung von Daten, die ihre relevanten Eigenschaften so erfasst, dass ML-Algorithmen sie verarbeiten können. Die Daten sind in einem n -dimensionalen Raum eingebettet.

Theoretisch müssen Daten nicht als Vektor eingebettet werden. Einige Typen von Daten können beispielsweise in Tupelform eingebettet werden.1 In der Praxis werden Einbettungen in der modernen ML jedoch überwiegend in Form von Vektoren vorgenommen.

Umgekehrt sind Vektoren in anderen Kontexten, wie z. B. der Physik, nicht unbedingt Einbettungen. Aber in ML sind Vektoren normalerweise Einbettungen und Einbettungen sind normalerweise Vektoren.

Mixture of Experts | Podcast

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

Wie funktioniert die Vektoreinbettung?

Eine Vektoreinbettung wandelt einen Datenpunkt, z. B. ein Wort, einen Satz oder ein Bild, in ein n-dimensionales Zahlenfeld um, das die Eigenschaften dieses Datenpunkts – seine Merkmale – darstellt. Dies wird durch das Training eines Einbettungsmodells auf einem großen Datensatz, der für die jeweilige Aufgabe relevant ist, oder durch die Verwendung eines vorab trainierten Modells erreicht.

Um Vektoreinbettungen zu verstehen, müssen einige Schlüsselkonzepte erklärt werden:

  • Wie Vektoreinbettungen Daten darstellen.

  • Wie Vektoreinbettungen verglichen werden können.

  • Wie Modelle zur Erzeugung von Vektoreinbettungen verwendet werden können.

Wie Vektoreinbettungen Daten darstellen

Beim maschinellen Lernen beziehen sich die „Dimensionen“ von Daten nicht auf die vertrauten und intuitiven Dimensionen des physischen Raums. Im Vektorraum entspricht jede Dimension einem individuellen Merkmal von Daten, so wie Länge, Breite und Tiefe Merkmale eines Objekts im physischen Raum sind.

Vektoreinbettungen befassen sich in der Regel mit hochdimensionalen Daten. In der Praxis sind die meisten nicht numerischen Informationen hochdimensional. Zum Beispiel kann selbst ein kleines 28x28-Pixel-Schwarzweißbild einer handgeschriebenen Ziffer aus dem MNIST-Datensatz als 784-dimensionaler Vektor dargestellt werden, in dem jede Dimension einem einzelnen Pixel entspricht, dessen Wert von 0 (für Schwarz) bis 1 (für Weiß) reicht.

Allerdings enthalten nicht alle Dimensionen der Daten nützliche Informationen. In unserem MNIST-Beispiel stellt die eigentliche Ziffer selbst nur einen kleinen Teil des Bildes dar. Der Rest ist ein leerer Hintergrund oder „Rauschen“. Es wäre also präziser zu sagen, dass wir „eine Darstellung des Bildes in einen 784-dimensionalen Raum einbetten“, statt zu behaupten, dass wir „784 verschiedene Merkmale des Bildes darstellen“.

Effiziente Vektoreinbettungen hochdimensionaler Daten erfordern daher oft eine gewisse Reduzierung der Dimensionalität: die Komprimierung hochdimensionaler Daten auf einen Raum mit geringerer Dimension, bei dem irrelevante oder redundante Informationen weggelassen werden.

Die Reduzierung der Dimensionalität erhöht die Geschwindigkeit und Effizienz des Modells, allerdings mit einem potenziellen Kompromiss bei der Genauigkeit oder Präzision, da kleinere Vektoren weniger Rechenleistung für mathematische Operationen benötigen. Es kann auch dazu beitragen, das Risiko einer Überanpassung der Trainingsdaten zu verringern. Verschiedene Methoden zur Reduzierung der Dimensionalität, wie Autoencoder, Convolutions, Hauptkomponentenanalyse und T-verteilte stochastische Nachbarschaftseinbettung (t-SNE), eignen sich am besten für verschiedene Typen von Daten und Aufgaben.

Während die Dimensionen von Bildvektordaten relativ objektiv und intuitiv sind, ist die Bestimmung der relevanten Merkmale einiger Datenmodalitäten, wie z. B. die semantischen Bedeutungen und kontextuellen Beziehungen von Sprache, abstrakter oder subjektiver. In solchen Fällen können die spezifischen Merkmale, die durch die Dimensionen der Vektoreinbettungen dargestellt werden, durch manuelle Funktionsentwicklung oder, was im Zeitalter des Deep Learning häufiger der Fall ist, implizit durch den Prozess des Trainings eines Modells zur Erstellung genauer Vorhersagen ermittelt werden.

Wie man Vektoreinbettungen vergleicht

Die Kernlogik von Vektoreinbettungen besteht darin, dass n-dimensionale Einbettungen ähnlicher Datenpunkte im n-dimensionalen Raum eng beieinander gruppiert werden sollten. Einbettungen können jedoch Dutzende, Hunderte oder sogar Tausende von Dimensionen haben. Dies geht weit über die zwei- oder dreidimensionalen Räume hinaus, die unser Verstand intuitiv visualisieren kann.

Stattdessen werden mehrere Messungen verwendet, um auf die relative Ähnlichkeit verschiedener Vektoreinbettungen zu schließen. Das beste Maß für die Ähnlichkeit in einer bestimmten Situation hängt weitgehend von der Art der Daten und dem Verwendungszweck der Vergleiche ab.

  • Die euklidische Distanz misst die durchschnittliche geradlinige Distanz zwischen den entsprechenden Punkten verschiedener Vektoren. Die Differenz zwischen zwei n-dimensionalenVektoren a und b wird berechnet, indem man zuerst die Quadrate der Differenzen zwischen den entsprechenden Komponenten addiert – also (a1–b1)2 + (a2–b2)2 + ... (an–bn)2– und dann die Quadratwurzel dieser Summe zieht. Da die euklidische Distanz von der Größe abhängig ist, eignet sie sich für Daten, die Dinge wie Größe oder Anzahl widerspiegeln. Die Werte reichen von 0 (für identische Vektoren) bis ∞.
     

  • Der Kosinus-Abstand, auch Kosinus-Ähnlichkeit genannt, ist ein normalisiertes Messverfahren für den Kosinus des Winkels zwischen zwei Vektoren. Der Kosinus-Abstand reicht von -1 bis 1, wobei 1 für identische Vektoren, 0 für orthogonale (oder nicht verwandte) Vektoren und -1 für vollständig entgegengesetzte Vektoren steht. Die Kosinus-Ähnlichkeit wird häufig bei NLP-Aufgaben verwendet, da sie Vektormagnituden auf natürliche Weise normalisiert und weniger empfindlich auf die relative Häufigkeit von Wörtern in Trainingsdaten reagiert als der euklidische Abstand.
     

  • Das Skalarprodukt ist, algebraisch ausgedrückt, die Summe des Produkts der entsprechenden Komponenten jedes Vektors. Geometrisch gesehen handelt es sich um eine nicht normalisierte Version des Kosinus-Abstandes, die auch die Frequenz oder Größe widerspiegelt.

Einbettungsmodelle

Unabhängige Einbettungsmodelle können vorab trainierte Angebote sein oder von Grund auf für bestimmte Aufgaben oder Trainingsdaten trainiert werden. Jede Art von Daten profitiert in der Regel von einer spezifischen Architektur von Neuronalen Netzen. In den meisten Fällen aber handelt es sich dabei um bewährte Praktiken und nicht um explizite Regeln.

Manchmal ist der Einbettungsprozess ein integrierter Bestandteil eines größeren neuronalen Netzwerks. Zum Beispiel werden in Encoder-Decoder konvolutionalen neuronalen Netzen (CNNs), die für Aufgaben wie die Bildsegmentierung verwendet werden, durch die Optimierung des gesamten Netzwerks für genaue Vorhersagen die Encoder-Schichten darauf trainiert, effektive Vektoreinbettungen von Eingabebildern auszugeben.

Vortrainierte Modelle
Für viele Anwendungsfälle und Studienbereiche können vortrainierte Modelle nützliche Einbettungen bereitstellen, die als Input für benutzerdefinierte Modelle oder Vektordatenbanken dienen können. Solche Open-Source-Modelle werden in der Regel mit einer großen und breiten Palette von Trainingsdaten trainiert, um Einbettungen zu erlernen, die für viele nachgelagerte Aufgaben wie Few-Shot Learning oder Zero-Shot Learning nützlich sind.

Für Textdaten können grundlegende Open-Source-Modelle zur Worteinbettung wie Google Word2Vec oder Global Vectors (GloVe) der Stanford University von Grund auf neu trainiert werden, werden aber auch in Varianten angeboten, die auf öffentlichen Textdaten wie Wikipedia und Common Crawl vortrainiert sind. Ebenso werden große Sprachmodelle (LLMs) für Encoder-Decoder, die häufig für Einbettungen verwendet werden, wie BERT und seine zahlreichen Varianten, auf einer riesigen Menge an Textdaten vorab trainiert.

Für Aufgaben im Bereich Computer Vision können vorab trainierte Bildklassifizierungsmodelle wie ImageNet, ResNet oder VGG an die Ausgabe von Einbettungen angepasst werden, indem einfach ihre letzte, vollständig verbundene Vorhersageschicht entfernt wird.

Benutzerdefinierte Einbettungsmodelle
Einige Anwendungsfälle, insbesondere solche, die komplexe Konzepte oder neuartige Datenklassen beinhalten, profitieren von der Feinabstimmung vorab trainierter Modelle oder dem Training vollständig benutzerdefinierter Einbettungsmodelle.

Die Bereiche Recht und Medizin sind prominente Beispiele für Fachgebiete, die sich oft auf komplexe und hochspezialisiertes Vokabular, Wissensdatenbanken oder Bildmaterial stützen, das wahrscheinlich nicht in den Trainingsdaten von allgemeineren Modellen enthalten ist. Die Ergänzung des Basiswissens vortrainierter Modelle durch weiteres Training an domänenspezifischen Beispielen kann dazu beitragen, dass das Modell effektivere Einbettungen generiert.

Dies kann zwar auch durch die Entwicklung einer maßgeschneiderten neuronalen Netzwerkarchitektur oder das Training einer bekannten Architektur von Grund auf erreicht werden, erfordert jedoch Ressourcen und institutionelles Wissen, die für die meisten Unternehmen oder Hobbyanwender möglicherweise unerreichbar sind.

Vektoreinbettung für Bilder

Bildeinbettungen wandeln visuelle Informationen in numerische Vektoren um, indem sie die Pixelwerte eines Bildes als Vektorkomponenten verwenden. Sie verlassen sich in der Regel auf CNNs, obwohl in den letzten Jahren zunehmend Computer Vision-Modelle mit transformatorbasierten neuronalen Netzen zum Einsatz kommen.2

Bilder mit einem typischen RGB-Farbschema werden numerisch als dreidimensionale Matrix dargestellt, wobei diese drei Matrizen den jeweiligen Rot-, Grün- und Blauwerten jedes Pixels entsprechen. RGB-Bilder sind in der Regel 8-Bit-Bilder, d. h. jeder Farbwert für ein Pixel kann zwischen 0 und 256 (oder 28) liegen. Wie zuvor beschrieben, werden Schwarz-Weiß-Bilder numerisch als zweidimensionale Matrix aus Pixeln dargestellt, wobei jedes Pixel einen Wert zwischen 0 und 1 hat.

Convolutions verwenden zweidimensionale numerische Filter, sogenannte Kernel, um Merkmale aus dem Bild zu extrahieren. Die Gewichtung der Kerne, die für die Extraktion relevanter Merkmale am besten geeignet ist, ist selbst ein lernbarer Parameter während des Modelltrainings. Diese Convolutions ergeben eine Merkmalskarte des Bildes.

Bei Bedarf wird mit einer Polsterung die ursprüngliche Größe der Eingabe beibehalten, indem den äußeren Zeilen und Spalten des Arrays zusätzliche Nullen hinzugefügt werden. Umgekehrt kann das Pooling, bei dem visuelle Merkmale im Wesentlichen durch die Verwendung ihrer Minimal-, Maximal- oder Durchschnittswerte zusammengefasst werden, zur weiteren Reduzierung der Dimensionalität verwendet werden.

Schließlich wird die komprimierte Darstellung in einen Vektor umgewandelt.

Bildersuche

Eine intuitive Anwendung der Bildeinbettung ist die Bildsuche: Ein System, das Bilddaten als Eingabe verwendet und andere Bilder mit ähnlichen Vektoreinbettungen zurückgibt, wie z. B. eine Smartphone-App, die eine Pflanzenart anhand eines Fotos identifiziert

Eine komplexere Ausführung ist die multimodale Bildsuche, bei der Text als Eingabe verwendet wird und Bilder zurückgegeben werden, die mit diesem Text in Zusammenhang stehen. Dies kann nicht erreicht werden, indem man eine Texteinbettung aus einem Sprachmodell nimmt und sie als Eingabe für ein separates Modell für Computer Vision verwendet. Die beiden Einbettungsmodelle müssen explizit trainiert werden, um miteinander korrelieren zu können.

Ein bekannter Algorithmus, der sowohl für Bild- als auch für Texteinbettungen verwendet wird, ist das „Contrastive Language-Image Pre-training” (CLIP), das ursprünglich von OpenAI entwickelt wurde. CLIP wurde mit einem riesigen, unbeschrifteten Datensatz von über 400 Millionen Bild-Beschriftungs-Paaren aus dem Internet trainiert. Diese Paare wurden verwendet, um gemeinsam einen Text-Encoder und einen Text-Encoder von Grund auf neu zu trainieren, wobei der Kontrastverlust verwendet wurde, um die Kosinusähnlichkeit zwischen Bildeinbettungen und den Einbettungen für ihre entsprechenden Bildunterschriften zu maximieren.

Bildgenerierung

Eine weitere wichtige Anwendung für die Bildeinbettung ist die Bilderzeugung: die Erstellung neuer Bilder.

Eine Methode zur Erzeugung neuer Bilder aus Bildeinbettungen sind Variational Autoencoder (VAEs). VAEs kodieren zwei verschiedene Vektoreinbettungen von Eingabedaten: einen Vektor von Mittelwerten und einen Vektor von Standardabweichungen. Durch zufällige Stichproben aus der Wahrscheinlichkeitsverteilung, die diese Vektoreinbettungen darstellen, können VAEs ihr Decoder-Netzwerk verwenden, um Variationen dieser Eingabedaten zu generieren.

Eine führende Methode zur Bildgenerierung auf der Grundlage von Einbettung, insbesondere in den letzten Jahren, verwendet den zuvor erwähnten CLIP-Algorithmus. Bildsynthesemodelle wie DALL-E, Midjourney und Stable Diffusion nehmen Textaufforderungen als Eingabe und verwenden CLIP, um eine Vektordarstellung des Textes einzubetten; dieselbe Vektoreinbettung wird wiederum verwendet, um im Wesentlichen ein neues Bild zu rekonstruieren.

Vektoreinbettung für NLP

Texteinbettungen sind komplizierter. Sie müssen abstrakte Konzepte wie semantische Bedeutung, variable Konnotationen und kontextbezogene Beziehungen zwischen Wörtern und Phrasen numerisch darstellen.

Würde man Wörter einfach nur durch ihre Buchstaben darstellen, so wie Bildeinbettungen visuelle Elemente durch ihre Pixelwerte darstellen, würde dies zu keinen aussagekräftigen Einbettungen führen.

Während die meisten Computer Vision-Modelle mithilfe des herkömmlichen überwachten Lernens trainiert werden, erfordern eingebettete Modelle für NLP ein selbstüberwachtes Lernen mit einer großen Menge an Trainingsdaten, um die vielen möglichen Bedeutungen von Sprache in verschiedenen Kontexten angemessen zu erfassen.

Die daraus resultierenden Einbettungen ermöglichen viele der Aufgaben, die üblicherweise mit generativer KI in Verbindung gebracht werden, von der Sprachübersetzung über Chatbots für Unterhaltungen bis hin zur Zusammenfassung von Dokumenten und Frage-Antwort-Diensten.

Modelle zur Texteinbettung

Die Modelle, die zur Erstellung von Vektoreinbettungen für Textdaten verwendet werden, sind oft nicht dieselben wie die, die zur Erstellung des eigentlichen Textes verwendet werden.

Die beliebten LLMs, die häufig für die Textgenerierung und andere generative KI-Aufgaben verwendet werden, wie ChatGPT oder Llama, sind autoregressive Modelle, die nur mit einem Decoder funktionieren und auch als kausale Sprachmodelle bezeichnet werden. Im Training wird ihnen der Anfang eines bestimmten Textbeispiels präsentiert und sie müssen fortlaufend das nächste Wort bis zum Ende der Sequenz vorhersagen. Obwohl sich dies gut für das Lernen von kohärentem Text eignet, ist es nicht optimal für das Lernen von nützlichen eigenständigen Vektoreinbettungen.

Stattdessen stützen sich Texteinbettungen in der Regel auf maskierte Sprachmodelle wie bidirektionale Encoder-Darstellungen von Transformatoren (BERT), die erstmals 2018 veröffentlicht wurden. Beim Training werden diesen Encoder-Decoder-Modellen Textsequenzen mit bestimmten Wörtern, die maskiert oder versteckt sind, zur Verfügung gestellt und sie erhalten die Aufgabe, die Lücken zu vervollständigen.

Diese Übung belohnt Einbettungen, die Informationen über ein bestimmtes Wort oder einen bestimmten Satz und dessen Beziehung zum Kontext besser erfassen. Word2vec verfolgt eine ähnliche Trainingsaufgabe, allerdings mit einer einfacheren zweischichtigen neuronalen Netz-Architektur.

Im Juni 2024 ist BERT nach wie vor das beliebteste Sprachmodell auf Hugging Face und wurde im Vormonat über 60 Millionen Mal heruntergeladen.3 Mehrere bekannte BERT-Varianten  wurden an bestimmte Arten von Spracheinbettungen und Szenarien angepasst:

  • SBERT: Auch bekannt als „Sentence BERT“ und „Sentence Transformers“, ist SBERT eine Variante von BERT mit einer angepassten Struktur des siamesischen neuronalen Netzes, die fein abgestimmt auf Satzpaare ist, um die Fähigkeit zur Kodierung von Satzeinbettungen zu verbessern.

  • DistilBERT: Eine schlanke BERT-Variante, die durch Wissensdestillation des BERT-Basismodells in ein kleineres Modell erstellt wurde, das 60 % schneller läuft und dabei über 95 % der Leistung von BERT nach einigen Metriken beibehält.4

  • RoBERTa: Kurz für „Robustly Optimized BERT Pretraining Approach“ verfeinerte es das BERT-Trainingsverfahren, um dessen Leistung zu optimieren.

Typen von Texteinbettungen

Vektoreinbettungen können verwendet werden, um verschiedene Daten in natürlicher Sprache darzustellen.

Worteinbettungen
Worteinbettungen zielen darauf ab, nicht nur die semantische Bedeutung einzelner Wörter zu erfassen, sondern auch ihre kontextbezogene Beziehung zu anderen Wörtern, mit denen sie häufig zusammen auftreten. Auf diese Weise können sie gut auf neue Kontexte und sogar auf seltene oder bisher nicht sichtbare Wörter übertragen werden.

GloVe, ein beliebtes Modell zur Worteinbettung, wurde auf einer „Global Word-Word Cooccurrence Matrix“ trainiert, wobei semantische Bedeutungen und semantische Beziehungen daraus abgeleitet wurden, wie oft bestimmte Wörter in unmittelbarer Nähe zueinander verwendet werden. Zum Beispiel kann die Bedeutung daraus abgeleitet werden, dass „Eis“ und „Dampf“ ungefähr gleich häufig mit „Wasser“ übereinstimmen, aber in sehr unterschiedlichem Maße mit „fest“ und „gasförmig“.5

Die Art und Weise, wie die Dimensionen eines Worteinbettungsvektors diese Beziehungen implizit erfassen, ermöglicht es uns, sie auf nützliche und intuitive Weise mathematisch zu manipulieren. Bei einem gut konfigurierten Worteinbettungsschema sollte die Subtraktion des Vektors für „Mann“ vom Vektor für „König“ und die Addition des Vektors für „Frau“ im Wesentlichen den Vektor für „Königin“ ergeben.

Satzeinbettungen
Satzeinbettungen betten die Semantik ganzer Phrasen oder Sätze ein, nicht nur einzelner Wörter. Sie werden in der Regel mit SBERT oder anderen Varianten von Satztransformatoren generiert.

  • Satzeinbettungen können Darstellungen von Benutzeranfragen einbetten, die in Suchmaschinen oder Frage-Antwort-Anwendungen verwendet werden können.

  • Bei der maschinellen Übersetzung kann die Vektoreinbettung eines Satzes in einer Sprache verwendet werden, um einen Satz in einer anderen Sprache mit einer ähnlichen Vektoreinbettung auszugeben.

  • Satzeinbettungen werden häufig in der Stimmungsanalyse verwendet. Klassifikatoren können entweder anhand gekennzeichneter Beispiele für jede Stimmungskategorie trainiert werden oder durch überwachtes Lernen, um dann neue Proben zu klassifizieren, indem ihre Vektoreinbettung mit der erlernten Einbettung für jede Klasse abgeglichen wird. Stimmungsanalyse ist auch durch Zero-Shot-Lernen möglich, bei dem die Einbettung eines bestimmten Satzes mit der Worteinbettung einer bestimmten Kategorisierung verglichen wird.

Dokumenteneinbettungen
Dokumenteneinbettungen werden häufig verwendet, um Dokumente oder Webseiten für die Indexierung in Suchmaschinen oder Vektordatenbanken zu klassifizieren. Typische Modelle für die Dokumenteneinbettung sind BERT-Varianten, Doc2vec (eine Erweiterung des Word2vec-Modells) oder andere Open-Source-Einbettungsmodelle wie Instructor (Link befindet sich außerhalb von ibm.com).

Andere Typen von Vektoreinbettungen

Obwohl Bild- und Textdaten tendenziell am meisten Aufmerksamkeit erhalten, insbesondere bei generativen KI-Anwendungsfällen, kann eine Vielzahl von Datenmodalitäten von der Vektoreinbettung profitieren.

  • Audioeinbettungen werden für verschiedene Anwendungen genutzt, von Sprachassistenten über Systeme zur Empfehlung von Liedern bis hin zu Musikerkennungssystemen wie Shazam. Sie bilden den Klang durch die numerischen Eigenschaften seiner Wellenformdaten ab. Audio kann mithilfe von wiederkehrenden neuronalen Netzen (RNNs), CNNs oder transformatorbasierten Architekturen eingebettet werden.

  • Produkteinbettungen werden häufig verwendet, um Empfehlungssysteme für E-Commerce-Plattformen zu betreiben. Sie werden in der Regel mit Algorithmen für unüberwachtes Lernen generiert.

  • Grapheinbettungen können verwendet werden, um komplexe Beziehungsstrukturen wie soziale Netzwerke oder biologische Systeme zu modellieren und darzustellen. Die Dimensionen eines Graphen, der einen Vektor einbettet, stellen die Art und Weise dar, wie verschiedene Knoten und Kanten eines Systems miteinander verbunden sind.

Vektor-Datenbanken

Herkömmliche Datenbanken sind selten für die hochdimensionalen Daten optimiert, die bei Vektoreinbettungen üblich sind. Vektordatenbanken wie IBM watsonx.data sind fortschrittliche Lösungen, die für die Organisation und das Abrufen von Datenobjekten in einem hochdimensionalen Vektorraum entwickelt wurden.

Vektorsuche

Ein Hauptvorteil einer effektiven Vektordatenbanklösung besteht darin, die Effizienz und Genauigkeit von Vektorsuchen zu optimieren: das Suchen, Sortieren und Abrufen relevanter Daten und Dokumente anhand der semantischen Ähnlichkeit ihrer jeweiligen Vektoreinbettungen mit denen Ihrer Suchbegriffe.

Diese Art der Ähnlichkeitssuche erfolgt in der Regel durch einfache „Nearest-Neighbor“-Algorithmen, die Verbindungen zwischen Datenpunkten auf der Grundlage ihrer Nähe im hochdimensionalen Vektorraum ableiten.

Semantische Suche
Die semantische Suche verwendet Vektoreinbettungen, um Suchvorgänge zu ermöglichen, die über die einfache Suche nach Schlüsselwörtern hinausgehen. Zum Beispiel werden Ergebnisse für „Äpfel“ und „Orangen“ angezeigt, obwohl die ursprüngliche Suchanfrage „Obst“ lautete.

Retrieval-Augmented Generation (RAG)

Diese Art der semantischen Suche wird auch verwendet, um die „Retrieval Augmented Generation (RAG)“ zu ermöglichen – ein Framework, das zur Ergänzung der Wissensbasis von LLMs verwendet wird, ohne dass eine weitere Feinabstimmung erforderlich ist.

In der RAG wird die Vektorsuche zur Untersuchung externer Datenquellen verwendet. Datenquellen, die nicht Teil der Trainingsdaten eines Foundation Models waren und deren Informationen daher nicht anderweitig in der Ausgabe des LLM berücksichtigt werden konnten, werden verwendet, um relevante Informationen abzurufen und diese Informationen dann zur Erweiterung der vom LLM generierten Antworten zu nutzen.

Weiterführende Lösungen

Weiterführende Lösungen

IBM watsonx.ai

Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.

Entdecken sie watsonx.ai
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein
– mit branchenführendem Fachwissen im Bereich KI und dem umfassenden Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
Machen Sie den nächsten Schritt

Profitieren Sie von einem einheitlichen Zugriff auf Funktionen, die den gesamten Lebenszyklus der KI-Entwicklung abdecken. Erstellen Sie leistungsstarke KI-Lösungen mit benutzerfreundlichen Oberflächen, Workflows und Zugriff auf branchenübliche APIs und SDKs.

watsonx.ai erkunden Live-Demo buchen
Fußnoten

Alle Links befinden sich außerhalb von ibm.com.

„Stable Tuple Embeddings for Dynamic Databases“, arXiv, 11. März 2021.
„Leaderboard: Bildklassifizierung auf ImageNet“, Papers With Code, Stand: 5. Juni 2024.
„Models” (sortiert nach „Most downloads”), Hugging Face, Stand: 5. Juni 2024.
„DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter“, arXiv, 2. Oktober 2019.
„GloVe: Global Vectors for Word Representation“, Stanford University, August 2014.