Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Quantização vetorial

Explore a quantização vetorial para compressão de dados e discretização em ML. Saiba como esta técnica otimiza as implementações de VQ-VAEs, pesquisa vetorial e Ultralytics .

A quantização vetorial é uma técnica poderosa de compressão e discretização de dados amplamente utilizada na aprendizagem automática (ML) moderna e no processamento de sinais digitais. Na sua essência, funciona através da divisão de um grande conjunto de pontos ou vetores contínuos em grupos e da representação de cada grupo por um único vetor «protótipo», formando coletivamente uma estrutura conhecida como livro de códigos. Ao mapear vetores contínuos de alta dimensão para estas entradas discretas do livro de códigos, os sistemas podem reduzir drasticamente o uso de memória, ao mesmo tempo que preservam as características semânticas essenciais dos dados para uma redução de dimensão eficaz.

O papel da discretização na aprendizagem profunda

No deep learning (DL) contemporâneo, este conceito foi popularizado de forma notável pelo Autoencoder Variacional com Quantização Vetorial (VQ-VAE). Ao contrário dos autoencoders padrão, que aprendem um espaço latente contínuo para realizar a extração de características, os VQ-VAEs aprendem uma representação discreta. Isto permite que os modelos generativos tratem imagens, áudio ou vídeo como uma sequência de tokens discretos, de forma semelhante à forma como os Modelos de Linguagem de Grande Dimensão (LLMs) processam entradas de texto . Pode explorar a investigação fundamental sobre a aprendizagem de representações discretas para ver como as primeiras implementações abriram caminho para os modernos sistemas de visão baseados em tokens.

Aplicações no Mundo Real

A quantização vetorial desempenha um papel fundamental em várias aplicações de IA no mundo real, nas quais o desempenho e a eficiência da memória são fundamentais:

Distinguir conceitos relacionados

Compreender as nuances entre a quantização vetorial e terminologia semelhante é útil na conceção de uma arquitetura eficiente de visão computacional (CV):

  • Quantização de vetores vs. quantização de modelos: A quantização de modelos refere-se geralmente à redução da precisão numérica dos pesos das redes neurais (por exemplo, de ponto flutuante de 32 bits para inteiro de 8 bits) para acelerar a inferência em implementações de hardware de modelos como Ultralytics . A quantização vetorial, no entanto, agrupa vetores de dados num vocabulário fixo de protótipos discretos.
  • Quantização vetorial vs. Base de dados vetorial: Uma base de dados vetorial é a infraestrutura propriamente dita que armazena dados de alta dimensão. A quantização vetorial é uma técnica algorítmica subjacente frequentemente utilizada por estas bases de dados para minimizar o seu consumo de memória, conforme detalhado na explicação da Qdrant sobre o tratamento de vetores.
  • Quantização vetorial vs. Pesquisa vetorial: A pesquisa vetorial é o processo ativo de encontrar itens semelhantes com base na proximidade vetorial. A quantização atua como uma camada de otimização estrutural para tornar esta pesquisa computacionalmente viável em grande escala.

Exemplo básico de implementação

Para ver como a quantização vetorial mapeia entradas contínuas para valores discretos na prática, pode usar PyTorch calcular distâncias euclidianas e encontrar o protótipo mais próximo num livro de códigos predefinido:

import torch

# Define a continuous input batch and a discrete codebook vocabulary
inputs = torch.randn(4, 128)  # 4 input vectors of dimension 128
codebook = torch.randn(10, 128)  # 10 discrete prototype vectors

# Compute distances and find the nearest codebook index for each input
distances = torch.cdist(inputs, codebook)
quantized_indices = torch.argmin(distances, dim=1)

# Retrieve the discrete quantized vectors corresponding to the inputs
quantized_vectors = codebook[quantized_indices]

Para uma análise aprofundada sobre o cálculo tensor de forma nativa e a otimização dessas operações, consulte a documentação oficial do PyTorch .

Otimizar os fluxos de trabalho com a Ultralytics

A integração de embeddings otimizadas no seu pipeline requer ferramentas robustas. A Ultralytics oferece um ambiente completo para a seleção de dados de treino e o treino de modelos de visão de última geração. Ao otimizar a gestão de dados e simplificar a implementação de modelos, os programadores podem gerar facilmente características visuais de alta qualidade adequadas para a quantização vetorial, o que resulta em aplicações mais rápidas de deteção de objetos e de pesquisa de multimédia em grande escala.

Vamos construir juntos o futuro da IA!

Comece sua jornada com o futuro do aprendizado de máquina