Настройка MLflow для отслеживания экспериментов

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Настройка MLflow для отслеживания экспериментов
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    854
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Настройка 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 для production 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