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)