Inteligência artificial

Comparando Técnicas de Quantização para Busca de Vetores Escaláveis

mm

Imagine procurar coisas semelhantes com base em insights mais profundos em vez de apenas palavras-chave. É isso que os bancos de dados de vetores e buscas de similaridade ajudam. Bancos de dados de vetores habilitam a busca de similaridade de vetores. Ele usa a distância entre vetores para encontrar pontos de dados em consultas de busca.

No entanto, a busca de similaridade em dados de alta dimensionalidade pode ser lenta e intensiva em recursos. É aqui que entram as técnicas de quantização! Elas desempenham um papel importante na otimização do armazenamento de dados e na aceleração da recuperação de dados em bancos de dados de vetores.

Este artigo explora várias técnicas de quantização, seus tipos e casos de uso do mundo real.

O que é Quantização e Como Ela Funciona?

Quantização é o processo de converter dados contínuos em pontos de dados discretos. Especialmente quando você lida com parâmetros em escala de bilhões, a quantização é essencial para gerenciar e processar. Em bancos de dados de vetores, a quantização transforma dados de alta dimensionalidade em espaço comprimido, preservando recursos e distâncias de vetores importantes.

A quantização reduz significativamente os gargalos de memória e melhora a eficiência de armazenamento.

O processo de quantização inclui três processos principais:

1. Comprimindo Vetores de Alta Dimensionalidade

Na quantização, usamos técnicas como geração de código, engenharia de recursos e codificação. Essas técnicas comprimem embeddings de vetores de alta dimensionalidade em um subespaço de baixa dimensionalidade. Em outras palavras, o vetor é dividido em numerosos subvetores. Os embeddings de vetores são representações numéricas de dados de áudio, imagens, vídeos, texto ou sinais, permitindo um processamento mais fácil.

2. Mapeando para Valores Discretos

Esta etapa envolve mapear os subvetores de baixa dimensionalidade para valores discretos. O mapeamento reduz ainda mais o número de bits de cada subvetor.

3. Armazenamento de Vetores Comprimidos

Finalmente, os valores discretos mapeados dos subvetores são colocados no banco de dados para o vetor original. Dados comprimidos que representam a mesma informação em menos bits otimizam seu armazenamento.

Benefícios da Quantização para Bancos de Dados de Vetores

A quantização oferece uma série de benefícios, resultando em uma computação melhorada e uma pegada de memória reduzida.

1. Busca de Vetores Escalável Eficiente

A quantização otimiza a busca de vetores, reduzindo o custo de computação da comparação. Portanto, a busca de vetores requer menos recursos, melhorando sua eficiência geral.

2. Otimização de Memória

Os vetores quantizados permitem armazenar mais dados no mesmo espaço. Além disso, o índice de dados e a busca também são otimizados.

3. Velocidade

Com armazenamento e recuperação eficientes, vem uma computação mais rápida. Dimensões reduzidas permitem um processamento mais rápido, incluindo manipulação de dados, consulta e previsões.

Alguns bancos de dados de vetores populares, como Qdrant, Pinecone e Milvus, oferecem várias técnicas de quantização com diferentes casos de uso.

Casos de Uso

A capacidade da quantização de reduzir o tamanho dos dados, preservando informações significativas, a torna um ativo útil.

Vamos mergulhar mais fundo em alguns de seus aplicativos.

1. Processamento de Imagens e Vídeos

Dados de imagens e vídeos têm uma gama mais ampla de parâmetros, aumentando significativamente a complexidade computacional e a pegada de memória. Quantização comprime os dados sem perder detalhes importantes, permitindo um armazenamento e processamento eficientes. Isso acelera as buscas por imagens e vídeos.

2. Compressão de Modelos de Aprendizado de Máquina

Treinar modelos de IA em grandes conjuntos de dados é uma tarefa intensiva. A quantização ajuda, reduzindo o tamanho e a complexidade do modelo sem comprometer sua eficiência.

3. Processamento de Sinais

Dados de sinais representam pontos de dados contínuos, como GPS ou filmagens de vigilância. A quantização mapeia os dados em valores discretos, permitindo um armazenamento e análise mais rápidos. Além disso, o armazenamento e análise eficientes aceleram as operações de busca, permitindo uma comparação de sinais mais rápida.

Diferentes Técnicas de Quantização

Embora a quantização permita uma manipulação sem problemas de parâmetros em escala de bilhões, ela corre o risco de perda irreversível de informações. No entanto, encontrar o equilíbrio certo entre perda de informação aceitável e compressão melhora a eficiência.

Cada técnica de quantização vem com prós e contras. Antes de escolher, você deve entender os requisitos de compressão, bem como as forças e limitações de cada técnica.

1. Quantização Binária

A quantização binária é um método que converte todos os embeddings de vetores em 0 ou 1. Se um valor for maior que 0, ele é mapeado para 1; caso contrário, é marcado como 0. Portanto, ele converte dados de alta dimensionalidade em dimensões significativamente mais baixas, permitindo uma busca de similaridade mais rápida.

Fórmula

A fórmula é:

Fórmula de quantização binária. Imagem do autor.

Aqui está um exemplo de como a quantização binária funciona em um vetor.

Ilustração de QB

Representação gráfica da quantização binária. Imagem do autor.

Forças

  • Busca mais rápida, superando as técnicas de quantização escalar e de produto.
  • Reduz a pegada de memória por um fator de 32.

Limitações

  • Proporção mais alta de perda de informação.
  • Os componentes do vetor exigem uma média aproximadamente igual a zero.
  • Desempenho ruim em dados de baixa dimensionalidade devido à perda de informação mais alta.
  • Reescalonamento é necessário para os melhores resultados.

Bancos de dados de vetores como Qdrant e Weaviate oferecem quantização binária.

2. Quantização Escalar

A quantização escalar converte números de ponto flutuante ou decimais em inteiros. Isso começa identificando um valor mínimo e máximo para cada dimensão. O intervalo identificado é então dividido em vários intervalos. Por fim, cada valor em cada dimensão é atribuído a um intervalo.

O nível de precisão ou detalhe nos vetores quantizados depende do número de intervalos. Mais intervalos resultam em uma precisão mais alta, capturando detalhes mais finos. Portanto, a precisão da busca de vetores também depende do número de intervalos.

Fórmula

A fórmula é:

Fórmula de quantização escalar. Imagem do autor.

Aqui está um exemplo de como a quantização escalar funciona em um vetor.

Ilustração de QE

Representação gráfica da quantização escalar. Imagem do autor.

Forças

  • Otimização de memória significativa.
  • Perda de informação pequena.
  • Processo parcialmente reversível.
  • Compressão rápida.
  • Busca escalável eficiente devido à perda de informação pequena.

Limitações

  • Leve diminuição na qualidade da busca.
  • Vetores de baixa dimensionalidade são mais suscetíveis à perda de informação, pois cada ponto de dados carrega informações importantes.

Bancos de dados de vetores, como Qdrant e Milvus, oferecem quantização escalar.

3. Quantização de Produto

A quantização de produto divide os vetores em subvetores. Para cada seção, os pontos centrais ou centroides são calculados usando algoritmos de clusterização. Seus centroides mais próximos representam cada subvetor.

A busca de similaridade na quantização de produto funciona dividindo o vetor de busca nos mesmos número de subvetores. Em seguida, uma lista de resultados semelhantes é criada em ordem ascendente de distância de cada subvetor do centroid para cada subvetor de consulta. Como o processo de busca de vetores compara a distância dos subvetores de consulta para os centroides do vetor quantizado, os resultados da busca são menos precisos. No entanto, a quantização de produto acelera o processo de busca de similaridade, e uma precisão mais alta pode ser alcançada aumentando o número de subvetores.

Fórmula

A fórmula de encontrar centroides é um processo iterativo. Ele usa a recalculação da distância euclidiana entre cada ponto de dados e seu centróide até a convergência. A fórmula da distância euclidiana no espaço n-dimensional é:

Fórmula de quantização de produto. Imagem do autor.

Aqui está um exemplo de como a quantização de produto funciona em um vetor.

Ilustração de QP

Representação gráfica da quantização de produto. Imagem do autor.

Forças

  • Maior taxa de compressão.
  • Melhor eficiência de armazenamento do que outras técnicas.

Limitações

  • Não é adequada para vetores de baixa dimensionalidade.
  • Compressão intensiva em recursos.

Bancos de dados de vetores, como Qdrant e Weaviate, oferecem quantização de produto.

Escolhendo o Método de Quantização Certo

Cada método de quantização tem seus prós e contras. A escolha do método certo depende de fatores que incluem, mas não se limitam a:

  • Dimensão dos dados
  • Compromisso entre compressão e precisão
  • Requisitos de eficiência
  • Restrições de recursos.

Considere o gráfico de comparação abaixo para entender melhor qual técnica de quantização atende ao seu caso de uso. Este gráfico destaca fatores de precisão, velocidade e compressão para cada método de quantização.

Imagem de Qdrant

Desde a otimização de armazenamento até a busca mais rápida, a quantização mitiga os desafios de armazenar parâmetros em escala de bilhões. No entanto, entender os requisitos e compromissos antes é crucial para uma implementação bem-sucedida.

Para mais informações sobre as últimas tendências e tecnologia, visite Unite AI.

Haziqa é uma Cientista de Dados com ampla experiência em escrever conteúdo técnico para empresas de IA e SaaS.