Налаштування Weights & Biases (W&B) для відстеження експериментів

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Налаштування Weights & Biases (W&B) для відстеження експериментів
Простий
від 1 дня до 3 днів
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1288
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1123
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    590
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    860

Налаштування Weights & Biases для трекінгу експериментів

W&B (Weights & Biases) – найбільш популярний комерційний трекер експериментів. Сильні сторони: візуалізація навчання у реальному часі, Sweeps (гіперпараметричний пошук), Artifacts (версіонування даних та моделей), Reports (документація експериментів).

Базове налаштування

pip install wandb
wandb login  # или WANDB_API_KEY env variable
import wandb

# Инициализация run
run = wandb.init(
    project="fraud-detection",
    name="lgbm-experiment-42",
    config={
        "learning_rate": 0.05,
        "n_estimators": 500,
        "max_depth": 6,
        "dataset": "v2.3",
    },
    tags=["lgbm", "production-candidate"],
    notes="Testing new feature engineering"
)

# Логирование метрик
for epoch in range(config.epochs):
    train_loss, val_loss = train_step(epoch)
    wandb.log({"train/loss": train_loss, "val/loss": val_loss, "epoch": epoch})

# Логирование артефактов
artifact = wandb.Artifact("fraud-model", type="model")
artifact.add_file("model.pkl")
run.log_artifact(artifact)

wandb.finish()

W&B Sweeps для гіперпараметричного пошуку

sweep_config = {
    "method": "bayes",  # bayes / random / grid
    "metric": {"name": "val/f1", "goal": "maximize"},
    "parameters": {
        "learning_rate": {"distribution": "log_uniform_values", "min": 1e-4, "max": 1e-1},
        "n_estimators": {"values": [100, 200, 500, 1000]},
        "max_depth": {"min": 3, "max": 10},
        "num_leaves": {"min": 20, "max": 100},
    }
}

sweep_id = wandb.sweep(sweep_config, project="fraud-detection")

def train_sweep():
    with wandb.init() as run:
        config = run.config
        model = LGBMClassifier(**config)
        model.fit(X_train, y_train)
        f1 = f1_score(y_test, model.predict(X_test))
        wandb.log({"val/f1": f1})

wandb.agent(sweep_id, function=train_sweep, count=50)

W&B Tables для аналізу даних

# Логирование примеров с предсказаниями
table = wandb.Table(columns=["text", "true_label", "predicted", "confidence", "is_correct"])
for text, true, pred, conf in test_samples[:100]:
    table.add_data(text, true, pred, conf, true == pred)
wandb.log({"predictions": table})

W&B зберігає всі версії таблиць - можна порівнювати прогнози різних моделей на одних даних.

Self-hosted W&B Server

# Для on-premise деплоя
docker run -d --name wandb-server \
  -p 8080:8080 \
  -v wandb-data:/vol \
  -e LICENSE=xxx \
  wandb/local:latest