Visão geral do Vertex Matching Engine

Com o Vertex Matching Engine, você pode realizar uma pesquisa de similaridade vetorial para fazer pesquisas eficientes e precisas em grandes volumes de dados. Os modelos de ML transformam entradas de dados, como texto e imagens, em embeddings que representam vetores de alta dimensão. É possível trazer seus próprios embeddings pré-treinados ou usar modelos integrados para treinar um embedding personalizado sem escrever um código de treinamento. O Vertex Matching Engine oferece o algoritmo integrado de duas torres, uma abordagem supervisionada e desenvolvida pelo Google para corresponder pares de itens relevantes, como perfis de usuário, consultas de pesquisa, documentos de texto e imagens. Quando o embedding está treinado, o Matching Engine permite consultar os dados para identificar correspondências exatas e semanticamente semelhantes: os embeddings dos dados que são semelhantes ao que você consulta. Dado um vetor, em questão de milésimos de segundo, o Matching Engine ajuda você a encontrar os vetores mais semelhantes de um grande corpus de vetores.

As soluções de pesquisa por similaridade vetorial também são conhecidas como k-Nearest Neighbor (kNN), Approximate Nearest Neighbor (ANN, na sigla em inglês) e Embedding Vector Matching. O Matching Engine usa um novo tipo de quantização vetorial desenvolvido pelo Google Research: aceleração de uma inferência em grande escala com a quantização vetorial anisotrópica. Saiba mais sobre como isso funciona nesta postagem do blog sobre o ScANN (Scalable Nearest Neighbors)

A pesquisa de similaridade vetorial é uma parte fundamental de muitos aplicativos que envolvem a computação e o uso de embeddings semânticos.

Por exemplo, ele é usado em:

  • A fase de geração de candidatos dos mecanismos de recomendação ou dos mecanismos de segmentação de anúncios
  • Classificação de imagem única ou pouca ou pesquisa de imagens
  • Aplicativos de PLN que realizam pesquisa semântica em embeddings de texto (que podem ser produzidos usando algoritmos como BERT)

Maior escala e recall, com menor custo

O Matching Engine oferece pesquisa em grande escala por similaridade, com baixo QPS, alto recall e eficiência de custos.

  • Escalonamento para bilhões de vetores de embedding
  • Os resultados são veiculados com latências do 50o percentil a partir de 5 ms, mesmo quando o QPS está nas centenas de milhares
  • Oferece recall líder do setor. O recall mede a porcentagem de vizinhos reais retornados para cada chamada de pesquisa vetorial
  • Na maioria dos casos, ele usa menos CPU e memória do que outras alternativas conhecidas.

Recursos valiosos que simplificam as arquiteturas do mundo real

Principais jornadas do usuário

  • Criar e implantar um índice a partir de um conjunto de vetores de embedding fornecidos pelo usuário
  • Atualizar um índice em tempo real com um conjunto de vetores de embedding fornecidos pelo usuário
  • Consultas on-line de baixa latência para conseguir vizinhos mais próximos de um vetor de embedding de consulta

Terminologia útil

Índice: um conjunto de vetores implantados juntos para a pesquisa por similaridade. Os vetores podem ser adicionados a um índice ou removidos dele. As consultas de pesquisa de similaridade são emitidas para um índice específico e pesquisam os vetores nesse índice.

Recall: a porcentagem de verdadeiros vizinhos mais próximos retornados pelo índice. Por exemplo, se uma consulta de vizinho mais próxima de 20 vizinhos mais próximos retornou 19 dos vizinhos mais próximos, o recall será de 19/20*100 = 95%.

Restricts: a funcionalidade para "restringir" pesquisas a um subconjunto do índice usando regras booleanas.

A seguir