Découvrez comment l'apprentissage par représentation Matryoshka (MRL) permet d'obtenir des représentations à plusieurs niveaux de granularité. Découvrez comment optimiser la recherche et le déploiement en périphérie avec Ultralytics .
L'apprentissage par représentation matriochka (MRL) est une technique d'entraînement en intelligence artificielle (IA) et en apprentissage automatique (ML) qui oblige un réseau neuronal à apprendre des représentations à granularité multiple au sein d'un seul vecteur de sortie. Inspiré des poupées russes emboîtables, le MRL structure la représentation de manière à ce que les informations sémantiques importantes soient placées en début de vecteur. Cela signifie qu'un vecteur de haute dimension (par exemple, 1 024 dimensions) peut être tronqué en sous-ensembles imbriqués plus petits (tels que 512, 256 ou 64 dimensions) sans perdre sa représentation sous-jacente. Cette flexibilité réduit considérablement la charge de calcul généralement associée aux tâches de recherche d'informations.
Traditionnellement, un modèle d'intégration est entraîné pour optimiser une fonction de perte spécifique pour une taille de sortie fixe. Si un système nécessite un vecteur plus petit pour économiser de la mémoire, il faut entraîner un modèle entièrement nouveau. Le MRL résout ce problème en appliquant une fonction de perte imbriquée pendant la phase d'entraînement. Il optimise conjointement la représentation complète et ses sous-ensembles imbriqués. Des organisations telles qu'OpenAI ont adopté le MRL pour leurs API d'intégration modernes, permettant ainsi aux développeurs de supprimer dynamiquement des dimensions à la fin d'un vecteur tout en conservant des scores de similarité cosinus précis.
Le MRL offre des avantages indéniables lorsqu'il s'agit de trouver un juste équilibre entre la précision, les coûts de stockage et la bande passante mémoire.
Pour bien utiliser le MRL, il est utile de le distinguer des anciennes techniques de compression de données.
La troncature d'un encodage MRL est extrêmement simple et ne nécessite aucune logique complexe d'indexation sémantique. Étant donné que les caractéristiques les plus cruciales sont fortement pondérées dans les premières dimensions, il suffit de découper le tableau. L'exemple suivant montre comment tronquer une sortie multimodale simulée de YOLO26 à l'aide tensor PyTorch de base.
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]}")
Commencez votre parcours avec l'avenir de l'apprentissage automatique