Sobes.tech
Middle — Senior
33

Зачем нужен bias=False у Linear-слоёв в современных LLM?

Компании, где спрашивали
НейроЛаб
Райффайзенбанк

Ответ от нейросети

sobes.tech AI

В современных больших языковых моделях (LLM) часто устанавливают параметр bias=False в линейных слоях, чтобы убрать смещение (bias). Это связано с тем, что в архитектуре трансформеров смещения могут быть избыточными или даже вредными, так как:

  • В нормализации слоёв (LayerNorm) уже есть сдвиг и масштабирование, которые компенсируют необходимость bias в линейных слоях.
  • Удаление bias уменьшает количество параметров и может улучшить стабильность обучения.
  • В некоторых случаях bias может привести к избыточной параметризации и ухудшению обобщающей способности модели.

Таким образом, bias=False помогает сделать модель более компактной и стабильной, особенно когда есть другие механизмы компенсации смещения.

Пример в PyTorch:

import torch.nn as nn

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