Saiba como a Matryoshka Representation Learning (MRL) permite a criação de representações multigranulares. Descubra como otimizar a pesquisa e a implementação em dispositivos periféricos Ultralytics .
A Aprendizagem de Representação Matryoshka (MRL) é uma técnica de treino em inteligência artificial (IA) e aprendizagem automática (ML) que obriga uma rede neural a aprender incorporações multigranulares dentro de um único vetor de saída. Inspirada nas bonecas russas, a MRL estrutura a incorporação de forma a que a informação semântica importante seja apresentada em primeiro lugar. Isto significa que um vetor de alta dimensão (por exemplo, 1024 dimensões) pode ser truncado em subconjuntos menores e aninhados (como 512, 256 ou 64 dimensões) sem perder a sua representação subjacente. Esta flexibilidade reduz drasticamente a sobrecarga computacional normalmente associada a tarefas de recuperação de informação.
Tradicionalmente, um modelo de incorporação é treinado para otimizar uma função de perda específica para um tamanho de saída fixo. Se um sistema necessitar de um vetor mais pequeno para poupar memória, é necessário treinar um modelo completamente novo. O MRL resolve esta questão aplicando uma função de perda aninhada durante a fase de treino. Este método otimiza conjuntamente a representação completa e os seus subconjuntos aninhados. Organizações como a OpenAI adotaram o MRL para as suas API de incorporação modernas, permitindo aos programadores remover dinamicamente dimensões do final de um vetor, mantendo pontuações precisas de similaridade cosinusoidal.
O MRL oferece vantagens distintas ao equilibrar a precisão com os custos de armazenamento e a largura de banda da memória.
Para utilizar corretamente o MRL, é útil distingui-lo das técnicas mais antigas utilizadas para comprimir dados.
Truncar uma incorporação MRL é incrivelmente simples e não requer nenhuma lógica complexa de indexação semântica. Como as características mais críticas têm um peso significativo nas primeiras dimensões, basta dividir a matriz. O exemplo seguinte demonstra como truncar uma saída multimodal simulada do YOLO26 utilizando tensor básicas tensor PyTorch .
import torch
# Simulate a full 1024-dimensional MRL embedding returned by a model
full_embedding = torch.rand(1, 1024)
# To deploy on memory-constrained hardware, simply slice the first 256 dimensions
# Because the model was trained with MRL, this subset remains highly accurate
truncated_embedding = full_embedding[:, :256]
print(f"Original size: {full_embedding.shape[1]}, Compressed size: {truncated_embedding.shape[1]}")
Comece sua jornada com o futuro do aprendizado de máquina