Налаштування MLflow для відстеження експериментів

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

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

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

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

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

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

MLflow Tracking – відкритий стандарт для логування ML-експериментів. Параметри, метрики, артефакти, моделі – все в одному місці з можливістю порівняння та відтворення.

Швидкий старт

# Локальный сервер (для разработки)
pip install mlflow
mlflow server --host 0.0.0.0 --port 5000

# Production: с PostgreSQL backend и S3 для артефактов
mlflow server \
  --backend-store-uri postgresql://user:pass@localhost/mlflow \
  --default-artifact-root s3://my-mlops-bucket/mlflow \
  --host 0.0.0.0 --port 5000

Логування експерименту

import mlflow

mlflow.set_tracking_uri("http://mlflow-server:5000")

with mlflow.start_run():
    mlflow.log_param("learning_rate", 0.01)
    mlflow.log_params({"batch_size": 32, "epochs": 10, "optimizer": "adam"})

    # Логирование метрик по эпохам
    for epoch in range(10):
        train_loss = train_one_epoch(model, train_loader)
        val_loss, val_acc = evaluate(model, val_loader)
        mlflow.log_metrics({"train_loss": train_loss, "val_loss": val_loss, "val_acc": val_acc}, step=epoch)

    # Финальные метрики
    mlflow.log_metric("test_f1", 0.924)

    # Артефакты
    mlflow.log_artifact("confusion_matrix.png")
    mlflow.log_dict({"feature_importance": feature_imp}, "artifacts/feature_importance.json")

    # Модель
    mlflow.sklearn.log_model(model, "model", registered_model_name="my-classifier")

Autologging

# Автоматическое логирование без ручного кода
mlflow.autolog()  # включает autolog для всех поддерживаемых фреймворков

# Или для конкретного
mlflow.sklearn.autolog(log_models=True, log_input_examples=True)
mlflow.pytorch.autolog(log_every_n_epoch=1)
mlflow.transformers.autolog()

Docker для виробництва MLflow

services:
  mlflow:
    image: ghcr.io/mlflow/mlflow:v2.14.0
    ports: ["5000:5000"]
    environment:
      - MLFLOW_S3_ENDPOINT_URL=https://storage.yandexcloud.net
      - AWS_ACCESS_KEY_ID=${YC_ACCESS_KEY}
      - AWS_SECRET_ACCESS_KEY=${YC_SECRET_KEY}
    command: >
      mlflow server
      --backend-store-uri postgresql://mlflow:${DB_PASS}@postgres:5432/mlflow
      --default-artifact-root s3://mlops-bucket/mlflow
      --host 0.0.0.0