Vektorsuche in Vertex AI – Überblick

Die Vektorsuche basiert auf der Vektorsuchtechnologie, die von der Google-Forschung entwickelt wurde. Mit der Vektorsuche können Sie von denselben Forschungs- und Technologielösungen profitieren, die auch die Grundlage für Google-Produkte wie die Google Suche, YouTube und Play bilden.

Einleitung

Die Vektorsuche kann in Milliarden von semantisch ähnlichen oder semantisch verwandten Artikeln suchen. Ein Dienst für Vektorübereinstimmungen findet in vielen Fällen Anwendung, z. B. bei der Implementierung von Empfehlungssystemen, Suchmaschinen, Chatbots und Textklassifizierung.

Ein möglicher Anwendungsfall für die Vektorsuche ist ein Onlinehändler mit einem Inventar von Hunderttausenden von Kleidungsstücken. In diesem Szenario könnte die multimodale Einbettungs-API dabei helfen, Einbettungen dieser Elemente zu erstellen und die Vektorsuche zu verwenden, um sie mit Textabfragen den semantisch ähnlichsten Bildern zuzuordnen. Sie könnten zum Beispiel nach „gelbes Sommerkleid“ suchen und die Vektorsuche würde die ähnlichsten Artikel zurückgeben und anzeigen. Die Vektorsuche ermöglicht eine skalierbare Suche mit hoher QPS (Abfragen pro Sekunde), hoher Trefferquote, niedriger Latenz und Kosteneffizienz.

Die Verwendung von Einbettungen ist nicht auf Wörter oder Text beschränkt. Sie können semantische Einbettungen für viele Arten von Daten erstellen, einschließlich Bilder, Audio, Video und Nutzerpräferenzen.

Weitere Informationen zur Erstellung einer multimodalen Einbettung mit Vertex AI finden Sie unter Multimodale Einbettungen abrufen.

Vektorsuche für semantische Übereinstimmungen verwenden

Der semantische Abgleich lässt sich auf wenige Schritte reduzieren. Zuerst müssen Sie für viele Objekte Einbettungsdarstellungen erstellen (dies geschieht außerhalb der Vektorsuche). Danach laden Sie Ihre Einbettungen in Google Cloud hoch und verknüpfen Ihre Daten mit der Vektorsuche. Nachdem Ihre Einbettungen zur Vektorsuche hinzugefügt wurden, können Sie einen Index erstellen, um Abfragen für Empfehlungen oder Ergebnisse durchzuführen.

Einbettung generieren

Erstellen Sie eine Einbettung für Ihr Dataset. Dazu müssen die Daten so vorverarbeitet werden, dass die Suche nach den ungefähren nächsten Nachbarn („approximate nearest neighbors“, ANN) effizient ist. Sie können dies außerhalb von Vertex AI durchführen oder Sie können mit generativer KI in Vertex AI eine Einbettung erstellen. Mit generativer KI für Vertex AI können Sie sowohl Text- als auch multimodale Einbettungen erstellen.

Einbettung zu Cloud Storage hinzufügen

Laden Sie die Einbettung in Cloud Storage hoch, damit Sie sie über den Vektorsuchdienst aufrufen können.

In die Vektorsuche hochladen

Verbinden Sie die Einbettungen mit der Vektorsuche, um die Suche nach dem nächsten Nachbarn durchzuführen. Sie erstellen einen Index aus Ihrer Einbettung, den Sie an einen Index-Endpunkt zur Abfrage bereitstellen können. Die Abfrage gibt die ungefähren nächsten Nachbarn zurück.

Informationen zum Erstellen eines Index finden Sie unter Indexe verwalten.

Informationen zum Bereitstellen Ihres Index auf einem Endpunkt finden Sie unter Indexendpunkte bereitstellen und verwalten.

Testergebnisse auswerten

Sobald Sie die Ergebnisse der ungefähren nächsten Nachbarn haben, können Sie diese bewerten, um zu sehen, wie gut sie Ihren Bedürfnissen entsprechen. Wenn die Ergebnisse nicht genau genug sind, können Sie die Parameter des Algorithmus anpassen oder die Skalierung aktivieren, um mehr Abfragen pro Sekunde zu unterstützen. Dazu aktualisieren Sie die Konfigurationsdatei, in der Ihr Index konfiguriert wird. Weitere Informationen finden Sie unter Indexparameter konfigurieren.

Terminologie der Vektorsuche

Diese Liste enthält einige wichtige Begriffe, die Sie für die Verwendung der Vektorsuche kennen sollten:

  • Vektor: Ein Vektor ist eine Liste von Gleitkommawerten mit Betrag und Richtung. Sie können damit alle Arten von Daten darstellen, z. B. Zahlen, Punkte im Raum und Richtungen.
  • Einbettung: Eine Einbettung ist ein Vektortyp, der zur Darstellung von Daten verwendet wird, um ihre semantische Bedeutung zu erfassen. Einbettungen werden meist mithilfe von Techniken des maschinellen Lernens erstellt und häufig in Natural Language Processing (NLP) und anderen ML-Anwendungen verwendet.
    • Dicht besetzen Einbettungen: Dichte Einbettungen stellen die semantische Bedeutung von Text dar, indem Arrays verwendet werden, die hauptsächlich Werte ungleich null enthalten. Mit dichten Einbettungen können ähnliche Suchergebnisse basierend auf semantischen Ähnlichkeiten zurückgegeben werden.
    • Dünnbesetzte Einbettungen: Dünnbesetzte Einbettungen stellen die Textsyntax dar und verwenden hochdimensionale Arrays, die im Vergleich zu dichten Einbettungen sehr wenige Werte ungleich null enthalten. Dünne Embeddings werden oft für Suchbegriffe verwendet.
  • Hybridsuche: Bei der Hybridsuche werden sowohl dichte als auch dünnbesetzte Einbettungen verwendet. So können Sie eine Kombination aus stichwortbasierter und semantischer Suche nutzen. Die Vektorsuche unterstützt die Suche auf der Grundlage enger Einbettungen. Die Vektorsuche ist eine Funktion in der öffentlichen Vorschau und unterstützt dünne Einbettungen und die Hybridsuche.
  • Index: Eine Sammlung von Vektoren, die gemeinsam für die Ähnlichkeitssuche bereitgestellt werden. Vektoren können einem Index hinzugefügt oder aus einem Index entfernt werden. Ähnlichkeitssuchanfragen werden an einen bestimmten Index gestellt und durchsuchen die Vektoren in diesem Index.
  • Ground Truth: Ein Begriff, bei dem das maschinelle Lernen auf Genauigkeit im echten Leben geprüft wird, z. B. ein Ground Truth-Dataset.
  • Recall: Der Prozentsatz der vom Index zurückgegebenen nächsten Nachbarn, die tatsächlich echte nächste Nachbarn sind. Wenn z. B. eine Abfrage nach 20 nächsten Nachbarn 19 der „grundlegend echten“ nächsten Nachbarn zurückgibt, beträgt der Recall 19/20x100 = 95 %.

  • Einschränken: Funktionen, mit denen Suchanfragen mithilfe von booleschen Regeln auf eine Teilmenge des Index beschränkt werden. „Einschränken“ wird auch als „Filter“ bezeichnet. Mit der Vektorsuche können Sie numerische Filter und Textattributfilter verwenden.

Nächste Schritte