Версіонування даних і моделей

Розроблення моделей машинного навчання для продакшну

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Мажорні й мінорні версії

Два типи версій: мажорні та мінорні

  • Мажорна версія означає суттєву зміну в даних або моделі

  • Мінорна версія означає невелику зміну

З мажорними/мінорними версіями видно, як і що змінювали в даних або моделі

Розроблення моделей машинного навчання для продакшну

Версіонування тренувальних даних

  • Унікальні мажорні/мінорні мітки або позначки часу
  • Забезпечення відтворюваності та простежуваності експериментів
  • Легке повернення до попередньої версії даних
  • Перегляд змін даних з часом

Приклад:

  1. Data V 1.0 — наш початковий набір даних
  2. Data V 1.1 містить додаткові перетворення ознак
  3. Data V 1.2 додано метод відбору ознак
  4. Data V 2.0 містить нове джерело даних
Розроблення моделей машинного навчання для продакшну

Feature stores

  • Центральне сховище для зберігання й керування різними версіями ознак
  • Просте відстеження версій ознак
  • Використання ознак у різних експериментах
  • Поліпшення співпраці та цілісності експериментів
  • Менше дублювання роботи
Розроблення моделей машинного навчання для продакшну

Версіонування ML‑моделей

  • Відстеження різних версій ML‑моделей
  • Забезпечення відтворюваності та простежуваності експериментів
  • Легкий відкат до попередньої версії моделі
  • Зазвичай відповідає версії тренувальних даних, але не завжди

Приклад:

  1. Model V 1.0 — початкова модель (Random Forest)
  2. Model V 1.1 — та сама модель, донавчена на Data V 1.1
  3. Model V 2.0 — це XGBoost‑модель, донавчена на Data V 1.2
  4. Model V 2.1 — XGBoost‑модель, донавчена на Data V 2.0
Розроблення моделей машинного навчання для продакшну

Model stores

  • Центральне сховище для зберігання й керування різними версіями моделей
  • Просте відстеження версій моделей
  • Відкат до попередніх версій
Розроблення моделей машинного навчання для продакшну

Приклад версіонування моделі з MLflow

import mlflow

# Start a new mlflow run
with mlflow.start_run() as run:
    # Log model version as a parameter
    mlflow.log_param("model_version", "1.0")

    # Train and save the model
    model = train_model()
    mlflow.sklearn.log_model(model, "model")
Розроблення моделей машинного навчання для продакшну

Давайте потренуємось!

Розроблення моделей машинного навчання для продакшну

Preparing Video For Download...