Model Weights
Apprends comment les poids de modèle agissent comme la connaissance de l'IA. Explore comment Ultralytics YOLO26 utilise des poids optimisés pour un entraînement et une inférence plus rapides et précis.
Les poids d'un modèle sont les paramètres ajustables au sein d'un modèle d'apprentissage automatique qui transforment les données d'entrée en prédictions. Dans un réseau de neurones, ces poids représentent la force des connexions entre les neurones de différentes couches. Lorsqu'un modèle est initialisé, ces poids sont généralement définis sur de petites valeurs aléatoires, ce qui signifie que le modèle ne "sait" rien. Grâce à un processus appelé entraînement, le modèle ajuste de manière itérative ces poids en fonction des erreurs qu'il commet, apprenant progressivement à reconnaître les motifs, les caractéristiques et les relations au sein des données. Tu peux considérer les poids d'un modèle comme la "mémoire" ou la "connaissance" de l'IA ; ils stockent ce que le système a appris de ses données d'entraînement.
Le rôle des poids dans l'apprentissage#
L'objectif principal de l'entraînement d'un réseau de neurones est de trouver l'ensemble optimal de poids qui minimise l'erreur entre les prédictions du modèle et la réalité observée. Ce processus implique de faire passer les données à travers le réseau — une étape connue sous le nom de passe avant (forward pass) — puis de calculer une valeur de perte à l'aide d'une fonction de perte spécifique. Si la prédiction est incorrecte, un algorithme d'optimisation tel que Stochastic Gradient Descent (SGD) ou le nouvel optimiseur Muon utilisé dans YOLO26 calcule la contribution de chaque poids à l'erreur.
Grâce à une technique appelée rétropropagation, l'algorithme met légèrement à jour les poids pour réduire l'erreur lors de la tentative suivante. Ce cycle se répète des milliers ou des millions de fois jusqu'à ce que les poids du modèle se stabilisent et que le système atteigne une grande précision. Une fois l'entraînement terminé, les poids sont "gelés" et sauvegardés, ce qui permet de déployer le modèle pour l'inférence sur des données nouvelles et inédites.
Poids du modèle vs. biais#
Il est important de faire la distinction entre les poids et les biais, car ils fonctionnent ensemble mais servent des objectifs différents. Alors que les poids du modèle déterminent la force et la direction de la connexion entre les neurones (en contrôlant la pente de l'activation), les biais permettent de décaler la fonction d'activation vers la gauche ou vers la droite. Ce décalage garantit que le modèle peut mieux s'ajuster aux données, même lorsque toutes les caractéristiques d'entrée sont nulles. Ensemble, les poids et les biais forment les paramètres ajustables qui définissent le comportement d'architectures telles que les Convolutional Neural Networks (CNNs).
Applications concrètes#
Les poids du modèle sont le composant essentiel qui permet aux systèmes d'IA de fonctionner dans divers secteurs. Voici deux exemples concrets de leur application :
- Vision par ordinateur dans le commerce de détail : Dans un système de supermarché intelligent, un modèle tel que YOLO26 utilise ses poids entraînés pour identifier des produits sur une étagère. Les poids ont "appris" des caractéristiques visuelles — telles que la forme d'une boîte de céréales ou la couleur d'une canette de soda — ce qui permet au système de détecter des articles, de gérer les stocks et même de faciliter efficacement les processus de caisse automatisés.
- Analyse d'images médicales : Dans le secteur de la santé, les modèles d'apprentissage profond utilisent des poids spécialisés pour analyser des radiographies ou des examens IRM. Par exemple, un modèle entraîné pour la détection de tumeurs utilise ses poids pour faire la distinction entre des tissus sains et des anomalies potentielles. Ces poids capturent des motifs complexes et non linéaires dans les données de pixels qui pourraient échapper à l'œil humain, aidant ainsi les radiologues à poser des diagnostics plus rapides.
Enregistrer et charger des poids#
En pratique, travailler avec les poids d'un modèle implique d'enregistrer les paramètres entraînés dans un fichier et de les charger ultérieurement pour la prédiction ou le réglage fin. Dans l'écosystème Ultralytics, ceux-ci sont généralement stockés sous forme de fichiers .pt (PyTorch).
Voici un exemple simple pour charger des poids pré-entraînés dans un modèle YOLO et effectuer une prédiction :
from ultralytics import YOLO
# Load a model with pre-trained weights (e.g., YOLO26n)
model = YOLO("yolo26n.pt")
# Run inference on an image using the loaded weights
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")Apprentissage par transfert et fine-tuning#
L'un des aspects les plus puissants des poids d'un modèle est leur portabilité. Au lieu d'entraîner un modèle à partir de zéro — ce qui nécessite des ensembles de données massifs et une puissance de calcul importante —, les développeurs ont souvent recours à l'apprentissage par transfert. Cela consiste à prendre un modèle dont les poids ont été pré-entraînés sur un grand ensemble de données tel que COCO ou ImageNet et à l'adapter à une tâche spécifique.
Par exemple, tu peux prendre les poids d'un détecteur d'objets général et les affiner sur un ensemble de données plus restreint de panneaux solaires. Étant donné que les poids pré-entraînés comprennent déjà les contours, les formes et les textures, le modèle converge beaucoup plus rapidement et nécessite moins de données étiquetées. Des outils tels que l'Ultralytics Platform simplifient ce processus, permettant aux équipes de gérer des ensembles de données, d'entraîner des modèles dans le cloud et de déployer de manière transparente des poids optimisés sur des appareils de périphérie (edge devices).
Compression et optimisation#
La recherche moderne en IA se concentre souvent sur la réduction de la taille de fichier des poids d'un modèle sans sacrifier les performances, un processus connu sous le nom de quantification de modèle. En réduisant la précision des poids (par exemple, en passant de nombres à virgule flottante 32 bits à des entiers 8 bits), les développeurs peuvent réduire considérablement l'utilisation de la mémoire et améliorer la vitesse d'inférence. C'est crucial pour déployer des modèles sur du matériel aux ressources limitées comme les téléphones portables ou les appareils Raspberry Pi. De plus, des techniques telles que l'élagage (pruning) suppriment les poids qui contribuent peu au résultat, rationalisant ainsi davantage le modèle pour les applications en temps réel.






