Model Weights
Os pesos de um modelo são os valores aprendidos que transformam as entradas de uma rede em previsões. Abrange como o treinamento os define, arquivos de pesos e compressão.
Os pesos do modelo são os números aprendíveis dentro de uma rede neural que transformam as entradas em previsões. Cada peso escala o sinal que passa entre duas unidades ou forma um valor de um filtro de convolução e, juntos, os pesos codificam tudo o que o modelo aprendeu com seus dados de treinamento. O termo costuma ser usado de forma imprecisa para designar todos os parâmetros aprendidos de um modelo, incluindo vieses e valores de normalização, como em "pesos pré-treinados" ou "modelos de pesos abertos". A quantidade de pesos varia por várias ordens de magnitude: ResNet-50 tem cerca de 25,6 milhões de parâmetros, enquanto modelos de linguagem grandes têm bilhões.
Como o treinamento define os pesos#
Uma nova rede começa com pesos aleatórios pequenos, extraídos de esquemas como a inicialização de He, que ajustam a escala dos valores aleatórios ao tamanho de cada camada para que os sinais não desapareçam nem explodam ao passarem por muitas camadas. Nesse momento, as previsões do modelo são ruído. O treinamento então repete um ciclo para cada lote de dados: uma passagem para frente produz previsões, uma função de perda avalia seus erros, a retropropagação calcula quanto cada peso contribuiu para esse erro e um otimizador, como a descida estocástica do gradiente (SGD) ou o otimizador Adam, ajusta ligeiramente cada peso para reduzir o erro. Após milhões desses pequenos ajustes, os pesos se estabilizam em valores que produzem previsões precisas e permanecem fixos durante a inferência.
Pesos vs. termos relacionados#
- Vieses: Em uma camada que calcula
y = Wx + b, os pesosWmultiplicam as entradas e o viésbadiciona um deslocamento, permitindo que a função de ativação de uma unidade desloque seu limiar e produza uma saída diferente de zero quando todas as entradas forem zero. Ambos são aprendidos durante o treinamento. - Hiperparâmetros: Configurações como a taxa de aprendizado e o tamanho do lote, escolhidas antes do treinamento, que controlam como os pesos são aprendidos. A descida do gradiente não os atualiza.
- Ativações: As saídas intermediárias que uma rede calcula para uma entrada específica. Os pesos permanecem iguais para todas as entradas, enquanto as ativações são recalculadas para cada uma.
- Weights & Biases: Uma plataforma de acompanhamento de experimentos cujo nome se inspira nos dois tipos de parâmetros.
Salvar e carregar pesos#
Os pesos treinados são salvos em arquivos para que possam ser recarregados para inferência, compartilhados ou usados como ponto de partida para o aprendizado por transferência. No PyTorch, os pesos de um modelo ficam em seu state_dict e geralmente são salvos em arquivos .pt. Esses arquivos usam o formato pickle do Python, que pode executar código ao ser carregado; por isso, desde o PyTorch 2.6, torch.load usa weights_only=True por padrão. O formato safetensors armazena apenas tensores brutos, o que impede a execução de código e permite carregamento rápido com mapeamento de memória, sendo o formato padrão no Hugging Face. Os arquivos ONNX empacotam os pesos junto com o grafo computacional para que outros ambientes de execução possam executar o modelo.
Os checkpoints .pt do Ultralytics YOLO26 armazenam uma média móvel exponencial (EMA) dos pesos, que suaviza o ruído entre etapas, junto com os argumentos de treinamento e os resultados por época; cada execução de treinamento grava best.pt e last.pt em sua pasta weights. Carregar a mesma arquitetura com e sem pesos treinados mostra onde o conhecimento do modelo está armazenado:
from ultralytics import YOLO
# Same YOLO26n architecture with two different sets of weights
trained = YOLO("yolo26n.pt") # weights learned on COCO
untrained = YOLO("yolo26n.yaml") # randomly initialized weights
for name, model in [("trained", trained), ("untrained", untrained)]:
results = model("https://ultralytics.com/images/bus.jpg")
print(f"{name}: {len(results[0].boxes)} objects detected")Os pesos treinados encontram o ônibus e as pessoas na imagem, enquanto a cópia da rede idêntica, inicializada aleatoriamente, não detecta nada.
Compactação de pesos para implantação#
A precisão dos pesos determina o tamanho do arquivo e o uso de memória do modelo, algo especialmente importante em dispositivos de IA de borda. A quantização de modelos armazena os pesos com menor precisão; passar de ponto flutuante de 32 bits para inteiros de 8 bits os torna quatro vezes menores e acelera a inferência em hardware compatível com inteiros. A poda remove pesos que pouco contribuem para a saída, e a destilação de conhecimento treina um modelo menor para imitar um maior. Para ter uma referência, um modelo de linguagem com 7 bilhões de parâmetros precisa de cerca de 28 GB para seus pesos a 32 bits, 14 GB a 16 bits e 3,5 GB a 4 bits.










