Skip to main content

Poids et biais des réseaux de neurones (Weights & Biases)

POUR AGENT IAChatGPTClaude

Nature fondamentale d'un réseau de neurones entraîné. Les poids (Weights) sont les coefficients matriciels représentant la force des connexions entre les neurones artificiels, tandis que les biais (Biases) constituent le seuil de sensibilité à l'activation. Explication des formats de sauvegarde (.safetensors, bfloat16, fp8) et inspection des poids via Python et CLI.

1. Vue d'ensemble du concept et essence mathématique

Lorsque vous téléchargez un modèle open source depuis Hugging Face (par exemple, Llama 3.1 8B ou Mistral NeMo), vous obtenez un ou plusieurs fichiers .safetensors dont la taille varie de 4 à 140 gigaoctets.

Que contiennent ces fichiers ? Des textes issus de Wikipédia ou du code source ?

Non. Ils renferment le fruit de centaines de milliers d'heures de calcul sur des clusters GPU : les Matrices de Poids (Weights) et les Vecteurs de Biais (Biases) :

  • Poids ($W$) : coefficients de mise à l'échelle des vecteurs d'entrée. Ils déterminent la force de la liaison entre deux concepts dans un espace multidimensionnel.
  • Biais ($b$) : décalage supplémentaire qui régule la probabilité de base d'activation d'un neurone indépendamment des données d'entrée (seuil d'excitation).

La base mathématique d'une couche linéaire d'un transformer s'exprime ainsi : $$y = \sigma(W \cdot x + b)$$ où $x$ est le vecteur d'entrée des tokens, $W$ la matrice des poids, $b$ le vecteur des biais, et $\sigma$ la fonction d'activation (GELU ou SwiGLU).

Modèle mental : si l'on imagine le cerveau comme une immense console de mixage dotée de 70 milliards de curseurs, les poids représentent la position exacte, figée au millimètre près, de chaque curseur après un an d'entraînement.

┌─────────────────────────────────────────────────────────────┐
│                 MÉCANISME DE CALCUL DU NEURONE              │
├─────────────────────────────────────────────────────────────┤
│ Jetons d'entrée (x) :                                       │
│   • Jeton 1 ("Chat")      ─── [ Poids w1 : +2.85 ] ───┐     │
│   • Jeton 2 ("Aboie")     ─── [ Poids w2 : -3.40 ] ───┼──> Σ + b│
│   • Jeton 3 ("Viande")    ─── [ Poids w3 : +1.15 ] ───┘   │ │
│                                                       ▼     │
│ Biais (Bias b) : -0.50 ────────────────────> [ ACTIVATION ]│
│                                                       │     │
│                                                       ▼     │
│ Prédiction de sortie (y) : "Ronronne" (Probabilité : 96.4%)│
└─────────────────────────────────────────────────────────────┘

2. Commandes CLI pratiques et inspection des fichiers de poids en Python

Plutôt que de faire aveuglément confiance à une boîte noire, vous pouvez facilement vérifier l'en-tête et les types des tenseurs stockés directement depuis le terminal :

# 1. Швидкий перегляд метаданих та структури тензорів без завантаження всієї моделі в RAM
python -c "
from safetensors import safe_open
with safe_open('model.safetensors', framework='pt', device='cpu') as f:
    for key in list(f.keys())[:5]:
        tensor = f.get_slice(key)
        print(f'{key}: shape={tensor.get_shape()}, dtype={tensor.get_dtype()}')
"

# 2. Перевірка цілісності та контрольної суми файлу вагів SHA256
sha256sum model-00001-of-00004.safetensors

# 3. Швидке завантаження моделі з HuggingFace через офіційний CLI
huggingface-cli download Qwen/Qwen2.5-Coder-7B-Instruct --include "*.safetensors"

3. Pourquoi les fichiers de poids pèsent-ils plusieurs dizaines de gigaoctets ?

Chaque coefficient de poids est un nombre réel :

  • Le modèle Llama 3.1, avec ses 8 milliards de paramètres, contient 8 000 000 000 nombres distincts.
  • En précision standard Bfloat16 / FP16, chaque nombre occupe exactement 2 octets (16 bits).
  • Calcul de la taille : $8 \times 10^9 \times 2 \text{ octets} \approx 16 \text{ Gigaoctets}$.
  • Si l'on applique une quantification sur 4 bits (GGUF Q4_K_M ou AWQ), chaque nombre est compressé à 0,5 octet, réduisant le modèle à 4,8 Go, ce qui permet de l'exécuter même sur un laptop classique disposant de 8 Go de RAM.

4. Conclusion synthétique

Le fichier de poids constitue l'incarnation matérielle de l'intelligence artificielle. Lorsque les entreprises affirment « Nous ouvrons les poids (Open Weights) », cela signifie qu'elles publient un fichier .safetensors, vous offrant la liberté totale d'exécuter, d'étudier et de modifier le modèle localement, sans dépendance aux API cloud.

/ Questions fréquentesSchema.org FAQPage

FAQ: Poids et biais des réseaux de neurones (Weights & Biases)

Vous ne verrez aucun mot intelligible, aucune règle grammaticale ni base de faits. Le fichier contient un tableau d'en-têtes en JSON (dimensions des tenseurs) et un flux binaire continu de milliards de nombres à virgule flottante (FP16 ou Bfloat16). Ce sont précisément les matrices de poids entraînées.
/ Liens internes
Tous les termes