1 points par GN⁺ 2025-09-16 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Dans un espace d’embedding de haute dimension, il est possible de représenter un très grand nombre de concepts en exploitant la quasi-orthogonalité plutôt qu’une orthogonalité parfaite
  • Le lemme de Johnson-Lindenstrauss garantit que des données arbitraires de haute dimension peuvent être projetées dans une dimension plus faible avec très peu de perte d’information
  • Au cours de l’optimisation, la conception de la fonction de perte est cruciale, car une fonction de perte de base peut produire une disposition de vecteurs inefficace ou biaisée
  • Les résultats expérimentaux montrent que la capacité réelle de l’espace d’embedding est bien supérieure à ce que l’on supposait théoriquement, et que des millions à des milliards de concepts peuvent naturellement y coexister
  • Ces résultats ont une grande portée pratique pour la mise en œuvre du machine learning, notamment pour la représentation des données et la réduction de dimension en NLP et dans la conception d’embeddings

Introduction : la question de la capacité de l’espace d’embedding des modèles de langage

Dans une récente série de vidéos de 3Blue1Brown sur les modèles Transformers, Grant Sanderson a soulevé une question fascinante : comment l’espace d’embedding à 12 288 dimensions de GPT-3 peut-il contenir des millions de concepts du monde réel ?
Cette interrogation rejoint des résultats mathématiques liés à la géométrie en haute dimension et au lemme de Johnson-Lindenstrauss (JL)
En explorant ce sujet, de nouvelles intuitions ont émergé sur les propriétés fondamentales des espaces vectoriels et sur l’optimisation, jusqu’à déboucher sur une collaboration avec Grant

Quasi-orthogonalité des vecteurs et capacité de l’espace d’embedding

  • Dans un espace de dimension N, il n’existe que N vecteurs parfaitement orthogonaux
  • En pratique, si l’on autorise des relations quasi-orthogonales légèrement éloignées de 90° (par exemple des angles entre 85° et 95°), le nombre de vecteurs représentables dans le même espace augmente de façon exponentielle
  • Dans la vidéo de Grant, une visualisation montre 10 000 vecteurs unitaires placés dans un espace à 100 dimensions de manière presque orthogonale
  • Mais en reproduisant cette même expérience, un piège subtil dans la conception de la fonction de perte d’optimisation a été mis au jour

Problèmes et motifs de la fonction de perte

  • Fonction de perte de base :
    loss = (dot_products.abs()).relu().sum()
  • Sur la sphère unitaire réelle, cette fonction de perte pose deux problèmes
    1. Piège de gradient : lorsque l’angle entre vecteurs approche de 90°, le gradient agit fortement, mais près de 0° ou 180°, il devient presque nul, ce qui bloque l’amélioration
    2. Solution à 99 % : la méthode d’optimisation minimise la perte globale en plaçant chaque vecteur de façon à être correctement orthogonal à 9 900 autres, mais presque parallèle à 99 d’entre eux (autrement dit, en dupliquant des vecteurs de référence)
  • Cette solution diffère fondamentalement de ce qui était attendu à l’échelle globale, d’où la nécessité d’une fonction de perte plus sophistiquée
  • La fonction de perte a donc été modifiée avec une pénalité exponentielle : loss = exp(20*dot_products.abs()**2).sum()
  • Cette approche produit un résultat plus proche de la distribution recherchée (l’angle pairwise maximal est d’environ 76,5°)

Lemme de Johnson-Lindenstrauss (JL) : une garantie géométrique

  • Le lemme JL garantit que même si un ensemble arbitraire de points de données en haute dimension est projeté aléatoirement dans une dimension plus faible, les distances euclidiennes sont presque préservées
  • Pour un ensemble de 1 à N points, un facteur d’erreur ε et une dimension de projection k :
    (1-ε)||u-v||² ≤ ||f(u)-f(v)||² ≤ (1+ε)||u-v||²
  • La dimension minimale requise k est : k ≥ (C/ε²) * log(N)
    où C est une constante qui ajuste la probabilité de succès
  • En général, on choisit une valeur prudente de C entre 4 et 8, mais des schémas de projection particuliers (par exemple une matrice de Hadamard ou des méthodes d’optimisation) peuvent permettre d’atteindre une valeur plus faible

Domaines d’application pratique

  1. Réduction de dimension :
    • Exemple : convertir efficacement les préférences de clients d’un site e-commerce depuis des dizaines de milliers de dimensions produits vers quelques milliers de dimensions
    • Cela peut être utilisé pour l’analyse en temps réel de données de haute dimension, les systèmes de recommandation, etc.
  2. Analyse des limites de capacité d’un espace d’embedding :
    • Au lieu d’une orthogonalité parfaite, l’espace peut naturellement représenter un spectre de similarités et de différences entre concepts
    • Exemples de mots réels : "archery", "fire", "gelatinous", "green", dont les significations physiques et abstraites se superposent dans l’espace de haute dimension

Analyse expérimentale de la capacité des embeddings

  • Après optimisation avec des transformations comme la matrice de Hadamard, la valeur de C se situe entre 2,5 et 4, et peut devenir bien plus faible avec une optimisation sur GPU
  • Méthode expérimentale : projeter successivement N vecteurs de base standards dans un espace de dimension k, puis répéter l’optimisation 50 000 fois
  • Observations :
    1. Quand N augmente, la valeur de C atteint d’abord un maximum (~0,9), puis baisse progressivement
    2. Plus le ratio N/k est élevé, plus C descend en dessous de 0,2
  • Cela s’explique par l’efficacité du sphere packing dans les espaces de haute dimension
  • Cela suggère qu’en pratique, la marge de représentation des concepts est encore plus grande que ne l’indiquent les bornes théoriques supérieures

Signification concrète pour les embeddings des modèles de langage

  • Selon le nombre de dimensions d’embedding k, l’angle quasi orthogonal F (90° - angle réel), et la valeur de C, le nombre de concepts pouvant être encodés est : Vectors ≈ 10^(k * F² / 1500)
    • k=12 288, F=1(89°) → 10^8
    • F=2(88°) → 10^32
    • F=3(87°) → 10^73
    • F=5(85°) → possibilité de stocker plus de 10^200 vecteurs
  • Avec seulement 86°, on dépasse déjà le nombre d’atomes observables dans l’univers (10^80)
  • Autrement dit, les modèles de langage réels peuvent préserver très richement des millions de significations même avec un nombre de dimensions relativement limité

Applications pratiques et pistes futures

  1. Réduction de dimension efficace :
    • Grâce à des méthodes de projection aléatoire combinées à des transformations de Hadamard, au codage BCH, etc., il devient possible de réduire la dimension de données massives et d’accélérer les calculs sans optimisation complexe
  2. Conception de l’espace d’embedding :
    • Cette compréhension de la capacité de l’espace aide à expliquer comment de grands modèles de langage comme les Transformers peuvent préserver simultanément des relations sémantiques fines jusque dans des concepts comme "Canadian" ou "Muppet-like"
  • En conclusion, les dimensions d’embedding actuelles (1 000 à 20 000) suffisent à représenter la connaissance humaine ; l’enjeu central est d’apprendre une disposition idéale dans cet espace

Conclusion

  • En partant de problèmes subtils d’optimisation dans la fonction de perte, cette exploration débouche sur des intuitions profondes sur la géométrie en haute dimension et les structures fondamentales du machine learning
  • Publié en 1984, le lemme JL fournit aujourd’hui encore un principe central pour les embeddings en machine learning, la représentation de l’information et la réduction de dimension
  • L’auteur remercie Grant Sanderson, la chaîne 3Blue1Brown et Suman Dev pour leur collaboration, et partage le plaisir qu’a représenté cette recherche et sa rédaction

Lectures complémentaires

  1. Sphere Packings, Lattices and Groups – Conway & Sloane
  2. Database-friendly random projections: Johnson-Lindenstrauss with binary coins – Achlioptas
  3. Hadamard Matrices, Sequences, and Block Designs – Seberry & Yamada

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.