Sobes.tech
Middle — Senior

Pourquoi faut-il mettre bias=False dans les couches linéaires des LLM modernes?

sobes.tech IA

Réponse de l'IA

Dans les grands modèles de langage modernes (LLM), il est courant de définir le paramètre bias=False dans les couches linéaires pour supprimer le biais (bias). Cela est lié au fait que dans l'architecture des transformateurs, les biais peuvent être redondants ou même nuisibles, car :

  • La normalisation de couche (LayerNorm) inclut déjà un décalage et une mise à l'échelle, qui compensent la nécessité du biais dans les couches linéaires.
  • La suppression du biais réduit le nombre de paramètres et peut améliorer la stabilité de l'apprentissage.
  • Dans certains cas, le biais peut conduire à une paramétrisation excessive et diminuer la capacité de généralisation du modèle.

Ainsi, bias=False aide à rendre le modèle plus compact et stable, surtout lorsqu'il existe d'autres mécanismes de compensation du biais.

Exemple en PyTorch :

import torch.nn as nn

linear = nn.Linear(in_features=768, out_features=768, bias=False)