Zubnet AIApprendreWiki › Tenseur
Fondamentaux

Tenseur

Tableau multidimensionnel
Un tableau multidimensionnel de nombres — la structure de données fondamentale en deep learning. Un scalaire est un tenseur 0D (un seul nombre). Un vecteur est un tenseur 1D. Une matrice est un tenseur 2D. Une image est un tenseur 3D (hauteur × largeur × canaux). Un lot d'images est un tenseur 4D. Les poids du modèle, les activations, les gradients — tout dans un réseau de neurones est un tenseur.

Pourquoi c'est important

Les tenseurs sont le langage du deep learning. PyTorch, TensorFlow et JAX sont fondamentalement des bibliothèques de calcul tensoriel. Comprendre les formes et opérations de tenseurs est essentiel pour lire le code de modèles, déboguer les erreurs de forme (l'erreur la plus courante dans le code ML), et comprendre ce qui se passe à l'intérieur des réseaux de neurones. Si tu peux suivre les formes de tenseurs, tu peux suivre l'architecture.

En profondeur

Formes de tenseurs courantes en NLP : les tokens d'entrée sont des entiers (batch_size, sequence_length). Les embeddings sont des floats (batch_size, seq_len, model_dim). Les poids d'attention sont (batch_size, num_heads, seq_len, seq_len). Les logits de sortie sont (batch_size, seq_len, vocab_size). Comprendre ces formes te dit exactement ce qui se passe : le tenseur d'attention est N×N parce que chaque token attend à chaque autre token.

Opérations

Opérations clés sur les tenseurs : matmul (multiplication matricielle — le calcul central dans les réseaux de neurones), reshape (changer les dimensions sans changer les données), transpose (échanger les dimensions), concat (joindre des tenseurs le long d'une dimension), slice (extraire des sous-tenseurs), et broadcast (rendre des tenseurs de formes différentes compatibles pour les opérations élément par élément). Le deep learning est vraiment juste une séquence de ces opérations appliquées à des tenseurs.

Accélération GPU

Les tenseurs sont calculés sur GPU parce que les opérations tensorielles sont massivement parallèles : multiplier deux matrices implique des millions d'opérations multiplier-additionner indépendantes qui peuvent tourner simultanément. C'est pourquoi la VRAM du GPU compte — tous les tenseurs impliqués dans le calcul doivent résider dans la mémoire du GPU. Quand tu manques de VRAM, c'est parce que la somme de toutes les tailles de tenseurs (poids du modèle + activations + gradients + états de l'optimiseur) dépasse la capacité. Les techniques comme le gradient checkpointing, la précision mixte et le sharding de modèle visent toutes à gérer la mémoire tensorielle.

← Tous les termes