\n\n\n\n Comment configurar a monitorização com Weights & Biases (passo a passo) - BotSec \n

Comment configurar a monitorização com Weights & Biases (passo a passo)

📖 12 min read2,234 wordsUpdated Mar 31, 2026

Como configurar a supervisão com Weights & Biases (passo a passo)

Se você está gerenciando experimentos de aprendizado de máquina e registrando tudo em planilhas ou arquivos de texto espalhados, você está perdendo algo importante—configurar a supervisão com Weights & Biases pode lhe poupar dezenas de horas frustrantes e noites em claro lutando com dados experimentais desorganizados.

O que você vai construir e por que isso é importante

Estamos implementando a supervisão Weights & Biases para acompanhar, visualizar e depurar de forma eficiente as execuções de aprendizado de máquina—sem mais métricas perdidas ou suposições sobre os hiperparâmetros que elevaram seu modelo.

Pré-requisitos

  • Python 3.8+ (Weights & Biases é bastante tolerante, mas fique na versão 3.8 ou superior para compatibilidade)
  • pip instalado, de preferência versão 23.0+ (as atualizações frequentemente corrigem bugs relacionados às dependências dos pacotes)
  • Criar uma conta gratuita Weights & Biases em https://wandb.ai
  • Conhecimento básico sobre scripts de treinamento em aprendizado de máquina (qualquer que seja TensorFlow, PyTorch ou sklearn funciona)
  • Familiaridade com ferramentas de linha de comando (o CLI do Weights & Biases é indispensável)

Configuração passo a passo

Passo 1: Instalar o pacote Python Weights & Biases

pip install wandb

Esse é o único pacote que você precisa para monitorar suas execuções de ML. Ele se integra ao seu código e fornece dashboards em tempo real, acompanhamento de métricas e gerenciamento de artefatos.

Por quê? Porque o cliente wandb gerencia tudo relacionado ao upload, sincronização e conexão com o servidor automaticamente. Isso te economiza a dor de cabeça de registrar manualmente.

Armadilhas comuns: Se você encontrar um conflito de versão ou um problema de dependência falhada, atualize o pip e setuptools:

pip install --upgrade pip setuptools

Passo 2: Faça login na sua conta Wandb

wandb login

Este comando pede sua chave API. Vá nas configurações de sua conta em https://wandb.ai/settings e copie sua chave API. Cole-a quando o CLI solicitar.

Por quê? Você precisa autenticar sua ferramenta CLI com seu projeto em nuvem para que suas execuções estejam vinculadas à sua conta de usuário e aos seus projetos.

Atenção: Se você colar acidentalmente espaços em branco ou pressionar enter muito cedo, o wandb rejeitará sua chave e mostrará um erro criptografado sobre uma falha de autenticação.

Passo 3: Inicializar Wandb em seu script de treinamento

import wandb

# Iniciar uma nova execução
wandb.init(project="my-ml-project", entity="your-username")

# Exemplo: Registrar os hiperparâmetros
config = wandb.config
config.learning_rate = 0.001
config.batch_size = 32

Inserir esse trecho de código no início do seu loop principal de treinamento permite que o wandb capture tudo que acontece nessa execução.

Por quê? A etapa de inicialização cria um novo objeto de execução no lado do servidor, permitindo que você registre métricas e artefatos em tempo real. Sem isso, você não verá dados em seu espaço de trabalho.

Erro comum: Se você esquecer de chamar wandb.init(), suas chamadas para wandb.log() não farão nada e isso pode falhar silenciosamente. Sempre verifique isso.

Passo 4: Registrar métricas e hiperparâmetros durante o treinamento

for epoch in range(num_epochs):
 # Treine seu modelo aqui
 train_loss = compute_train_loss()
 val_loss = compute_val_loss()
 
 # Registre as métricas no wandb
 wandb.log({
 "epoch": epoch,
 "train_loss": train_loss,
 "val_loss": val_loss
 })

Esse trecho de código deve estar dentro do seu loop principal de treinamento. wandb.log() envia os dados ao servidor de forma assíncrona.

Por quê? O registro permite que você acompanhe a performance do modelo passo a passo. Você pode identificar overfitting ou platôs e ajustar os hiperparâmetros de acordo.

Erro típico: Não enviar os logs com frequência suficiente, resultando em dados de execução incompletos caso sua tarefa falhe. Certifique-se de que wandb.log() é chamado após cada atualização significativa (geralmente a cada época ou lote).

Passo 5: Salvar artefatos do modelo para rastreamento de versões

# Salvar seu ponto de verificação de modelo localmente
torch.save(model.state_dict(), "model.pt")

# Fazer upload do ponto de verificação como um artefato no wandb
artifact = wandb.Artifact('model', type='model')
artifact.add_file("model.pt")
wandb.log_artifact(artifact)

Os artefatos do Wandb permitem que você acompanhe versões de modelos, conjuntos de dados ou outros resultados. Isso torna seu treinamento reproducível e depurável.

Por quê? Os artefatos permitem fluxos de trabalho colaborativos e integração com CI/CD. Você pode comparar modelos e até voltar a pontos de verificação anteriores com facilidade.

Atenção: Esquecer de chamar wandb.log_artifact() significa que seus arquivos salvos não aparecerão no painel do projeto. Além disso, grandes artefatos podem falhar silenciosamente se os limites de armazenamento forem atingidos—verifique os limites de uso do seu projeto.

Passo 6: Visualizar os resultados no painel do Wandb

Acesse https://wandb.ai e navegue até seu projeto. Você verá gráficos ao vivo sendo atualizados com suas métricas registradas, hiperparâmetros e artefatos.

Por quê? A visualização é a funcionalidade essencial que torna a configuração da supervisão com Weights & Biases realmente útil—ver as tendências de suas métricas o ajuda a entender o comportamento do modelo em tempo real.

Atenção: Se suas métricas não aparecerem, verifique se sua wandb.init() tem o nome do projeto correto e se você está logado na conta certa (entidade). Verifique também se sua rede permite conexões em nuvem (às vezes, firewalls corporativos bloqueiam isso).

Passo 7: Integração avançada – Automatizar execuções Wandb com CI/CD

# Exemplo de snippet de workflow GitHub Actions

name: Run Training and Log to W&B

on: [push]

jobs:
 train:
 runs-on: ubuntu-latest
 steps:
 - uses: actions/checkout@v2
 - name: Configurar Python
 uses: actions/setup-python@v2
 with:
 python-version: 3.9
 - name: Instalar dependências
 run: pip install wandb torch
 - name: Conectar ao Wandb
 run: echo ${{ secrets.WANDB_API_KEY }} | wandb login
 - name: Executar o script de treinamento
 run: python train.py

Este script mostra um workflow CI automatizado com GitHub executando seu treinamento e enviando os resultados para wandb automaticamente.

Por quê? Equipes de nível produção precisam de uma supervisão que se integre nos pipelines—execuções manuais são cansativas e propensas a erros.

Problemas potenciais: Você deve armazenar sua chave API Wandb com segurança como uma variável de ambiente secreta (nunca validá-la). Esquecer isso significa que as tarefas CI falharão silenciosamente na autenticação.

Armadilhas que ninguém te conta

  • Quotas e limites: Seu nível gratuito no Wandb permite registrar cerca de alguns milhares de execuções por mês antes de atingir os limites de largura de banda ou de armazenamento de artefatos. Se você fizer mais de 10.000 épocas ou conjuntos de dados grandes, espere desacelerações. Você não receberá avisos explícitos imediatamente; apenas verifique seu quota de projeto.

    Solução: Limpe regularmente as execuções antigas e arquive os grandes artefatos externamente.

  • Latência entre o registro e a atualização do painel: O Wandb faz o upload de forma assíncrona, então às vezes suas métricas mais recentes aparecem com alguns segundos de atraso, o que é frustrante se você está depurando em um nível de granularidade de lote.

    Solução: Adicione `wandb.log(…, commit=True)` para enviar os dados em pontos críticos.

  • Inconsistências de ambiente: O Wandb monitora as versões de pacote do seu ambiente Python. Se seu código é executado em um ambiente Docker ou remoto sem listas de pacotes exatas (requirements.txt), sua experiência pode não ser reproduzível apesar das métricas registradas.
    Solução: Sempre fixe e registre as versões dos pacotes.
  • Problemas de rede em ambientes restritos: Os servidores empresariais e acadêmicos frequentemente bloqueiam os uploads de telemetria do Wandb por padrão, causando falhas silenciosas ou travamentos indefinidos.
    Solução: Use o modo offline local (`wandb.init(mode=”offline”`) e sincronize mais tarde, ou coloque em lista branca os domínios nos firewalls.
  • Registro de muitos dados: Registrar cada métrica de lote pode inflar suas execuções e desacelerar sua interface. Use estatísticas de resumo ou amostre por intervalos.
    Solução: Registre no nível da época ou a cada N lotes, e não cada lote.

Exemplo completo de código funcional

import wandb
import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader, TensorDataset

# Conjunto de dados fictício
X = torch.randn(100, 10)
y = torch.randint(0, 2, (100,))

dataset = TensorDataset(X, y)
loader = DataLoader(dataset, batch_size=16, shuffle=True)

# Classificador binário simples
class SimpleModel(nn.Module):
 def __init__(self):
 super().__init__()
 self.fc = nn.Linear(10, 2)
 def forward(self, x):
 return self.fc(x)

model = SimpleModel()
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)

# Inicializar uma execução do wandb
wandb.init(project="my-ml-project", entity="your-username")
wandb.config.update({
 "epochs": 5,
 "batch_size": 16,
 "learning_rate": 0.001,
})

for epoch in range(wandb.config.epochs):
 running_loss = 0.0
 for inputs, labels in loader:
 optimizer.zero_grad()
 outputs = model(inputs)
 loss = criterion(outputs, labels)
 loss.backward()
 optimizer.step()
 running_loss += loss.item()
 avg_loss = running_loss / len(loader)

 print(f"Época {epoch+1}, Perda: {avg_loss:.4f}")
 wandb.log({"epoch": epoch + 1, "loss": avg_loss})

# Salvar e fazer upload do artefato do modelo
torch.save(model.state_dict(), "model.pt")
artifact = wandb.Artifact('simple-model', type='model')
artifact.add_file("model.pt")
wandb.log_artifact(artifact)

wandb.finish()

Quais são os próximos passos

Uma vez que você tenha configurado seus pesos & viés para o acompanhamento e registro, recomendo que adicione wandb Sweeps para automatizar a sintonização de hiperparâmetros. É muito melhor do que reiniciar manualmente os scripts para cada combinação de parâmetros e permite que você se concentre nos resultados em vez de experimentos complicados.

FAQ

Q: Posso usar weights & biases com frameworks além do PyTorch?

R: Absolutamente. O Wandb suporta TensorFlow, Keras, Hugging Face Transformers, sklearn—você nomeia. Ele basicamente encapsula seu loop de treinamento e registra os dados. Você só precisa inserir chamadas wandb.init() e wandb.log() em lugares apropriados.

Q: Como manter as informações de identificação sensíveis em segurança ao usar wandb em pipelines CI?

R: Armazene sua chave API do Wandb no sistema de gerenciamento de segredos do seu fornecedor CI (por exemplo, GitHub Secrets, variáveis CI do GitLab). Nunca codifique as chaves diretamente no código-fonte. Em seguida, use variáveis de ambiente para fornecer as chaves durante a execução CI, como echo $WANDB_API_KEY | wandb login.

Q: É possível fazer registro wandb offline e sincronizar depois?

R: Sim. Você pode inicializar o wandb com wandb.init(mode="offline"), o que armazena os logs localmente. Mais tarde, execute wandb sync para fazer upload dos dados das execuções anteriores quando o acesso à rede for restabelecido. Isso é útil para ambientes isolados.

Dados do projeto e das execuções do Wandb em um relance

Para entender por que configurar pesos & viés para acompanhamento vai além dos logs tradicionais de planilhas, aqui está um panorama rápido comparando o acompanhamento manual típico com o acompanhamento do wandb em métricas-chave:

Aspecto Registro manual (Excel/CSV) Acompanhamento de pesos & viés
Visibilidade em tempo real Não (precisa esperar para abrir arquivos) Sim (painéis ao vivo que se atualizam automaticamente)
Acompanhamento de hiperparâmetros Freqüentemente esquecido ou inconsistente Automatizado; sempre vinculado às execuções
Versionamento de artefatos do modelo Backups de arquivos manuais, sem metadados Controle de versão de artefatos integrado
Colaboração Enviar arquivos por e-mail ou compartilhar pastas As equipes compartilham projetos ao vivo com acesso baseado em funções
Integração com CI/CD Etapas manuais Automatizado via scripts e APIs
Limites de armazenamento Espaço em disco local Quotas em nuvem e opções de arquivamento

Recomendações personalizadas para diferentes perfis de desenvolvedores

Se você é um hobbyista trabalhando em pequenos modelos no seu laptop, comece configurando o wandb localmente com o modo offline ativado para não se preocupar com problemas de rede. A interface e o registro darão às suas experiências um senso de organização que as planilhas não podem igualar.

Se você é um cientista de dados gerenciando vários modelos e colaboradores, invista tempo integrando as execuções do wandb com os repositórios Git de sua equipe e com a infraestrutura em nuvem. Automatize seu registro e seus artefatos—acredite em mim, ninguém quer pedir uma nova exportação CSV.

Para engenheiros de ML construindo pipelines de produção, integre os sweeps do wandb e a automação CI/CD desde o início do seu processo. Você desejará um estado de experiência consistente, opções de restauração e um acompanhamento integrado nos ciclos de lançamento para evitar buracos negros de depuração semanas depois.

Dados válidos até 21 de março de 2026. Fontes: Site oficial do Weights & Biases, Documentação do Weights & Biases

Artigos relacionados

🕒 Published:

✍️
Written by Jake Chen

AI technology writer and researcher.

Learn more →
Browse Topics: AI Security | compliance | guardrails | safety | security
Scroll to Top