Vertex Matching Engine – Übersicht

Mit der Vertex Matching Engine können Sie Suchen nach Vektorähnlichkeit vornehmen, um effiziente und genaue Suchvorgänge mit großen Datenmengen durchzuführen. ML-Modelle transformieren Dateneingaben, z. B. Text und Bilder, in Einbettungen, die hochdimensionale Vektoren darstellen. Sie können eigene vortrainierte Einbettungen oder integrierte Modelle verwenden, um eine benutzerdefinierte Einbettung zu trainieren, ohne Trainingscode schreiben zu müssen. Vertex Matching Engine verfügt über den integrierten Two-Tower-Algorithmus, einen von Google entwickelten, überwachten Ansatz, mit dem relevante Elemente (z. B. Nutzerprofile, Suchanfragen, Textdokumente oder Bilder) abgeglichen werden. Mit einer trainierten Einbettung können Sie mit der Matching Engine Ihre Daten sowohl für genaue Übereinstimmungen als auch für semantisch ähnliche Übereinstimmungen abfragen – also nach Einbettungen in Ihren Daten, die denen ähneln, die Sie abfragen. Nach Angabe eines Vektors können Sie mit der Matching Engine innerhalb von Millisekunden die Vektoren mit der größten Ähnlichkeit aus einem großen Korpus von Vektoren finden.

Lösungen zur Suche nach Vektorähnlichkeit werden auch als k-Nearest Neighbor (kNN), Approximate Nearest Neighbor (ANN) und Embedding Vector Matching bezeichnet. Matching Engine verwendet eine neuen Typ von Vektorquantisierung, die von Google Research entwickelt wurde: Beschleunigung umfangreicher Inferenz mit Anisotroper Vektorquantisierung. Weitere Informationen zu dessen Funktionsweise finden Sie in diesem Blogpost über ScANN (Skalierbare Nächste Neighbors).

Die Suche nach Vektorähnlichkeiten ist ein wesentlicher Bestandteil vieler Anwendungen, die die Berechnung und Verwendung von semantischen Einbettungen beinhalten.

Beispiele:

  • Die Phase zur Kandidatengenerierung von Empfehlungssystemen oder das Targeting von Suchmaschinen
  • One-Shot- oder Few-Shot-Bildklassifizierung oder Bildsuche
  • NLP-Anwendungen, die eine semantische Suche nach Texteinbettungen durchführen (die durch die Verwendung von Algorithmen wie BERT erzeugt werden können)

Verbesserte Skalierbarkeit und Recall bei niedrigeren Kosten

Die Matching Engine bietet eine skalierbare Ähnlichkeitssuche mit niedriger QPS, hohem Recall und Kosteneffizienz.

  • Skaliert auf Milliarden von Einbettungsvektoren
  • Die Ergebnisse werden mit Latenzen von 50. Perzentilen von nur 5 ms bereitgestellt, auch wenn die Abfragen pro Sekunde (QPS) in die Hunderttausende gehen.
  • Erreicht branchenführenden Recall. Der Recall misst den Prozentsatz der tatsächlichen Neighbors, die für jeden Vektorsuchaufruf zurückgegeben werden
  • In den meisten Fällen werden weniger CPU und Arbeitsspeicher benötigt als bei anderen bekannten Alternativen.

Nützliche Funktionen, die reale Architekturen vereinfachen

Wichtige Nutzererfahrungen

  • Index aus einem vom Nutzer bereitgestellten Satz von Einbettungsvektoren erstellen und bereitstellen
  • Live-Index mit einem vom Nutzer bereitgestellten Satz von Einbettungsvektoren aktualisieren
  • Online-Abfrage von niedriger Latenz, um die nächstgelegenen Neighbors eines Abfrage-Einbettungsvektors zu erhalten

Nützliche Terminologie

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 für einen bestimmten Index ausgegeben und suchen über die Vektoren in diesem Index.

Recall: Der Prozentsatz der echten Neighbors, die vom Index zurückgegeben werden. Wenn z. B. eine Abfrage nach 20 nächsten Neighbors 19 der „echten“ nächsten Neighbors zurückgibt, beträgt der Recall 19/20*100 = 95 %.

Einschränkungen: Funktionen zum "Einschränken" von Suchanfragen auf eine Teilmenge des Index mithilfe von booleschen Regeln.

Nächste Schritte