Налаштування автоматичного перенавчання моделі (Model Retraining)

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

Напрямки 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

Налаштування автоматичного перенавчання моделі (Model Retraining)

Модель, навчена один раз, неминуче деградує: дані змінюються, поведінка користувачів еволюціонує, з'являються нові патерни. Автоматичне перенавчання – це система, яка відстежує якість моделі та запускає цикл навчання при виявленні деградації або за розкладом.

Тригери перенавчання

Існує два підходи: schedule-based та trigger-based.

Schedule-based — перенавчання за розкладом (щодня, щотижня) незалежно від якості моделі. Простий у реалізації, передбачуваний, підходить для доменів, що швидко змінюються (нові рекомендації, динамічне ціноутворення).

Trigger-based — перенавчання при виявленні дрифту або деградації метрик:

  • Data drift: розподіл вхідних даних змінився (KS-тест, PSI > 0.2)
  • Performance drift: метрики на labeled даних впали нижче порога
  • Concept drift: зв'язок між ознаками та таргетом змінився

На практиці використовують комбінацію: м'які тригери за дріфтом + жорсткий розклад як fallback.

Архітектура системи перенавчання

[Monitoring] → [Drift Detected / Schedule] → [Data Collection]
    → [Data Validation] → [Training Job] → [Evaluation]
    → [A/B Test / Canary] → [Promotion] → [Monitoring]

Оркестратори: Airflow, Prefect, Kubeflow Pipelines, Vertex AI Pipelines.

Приклад Airflow DAG:

from airflow import DAG
from airflow.operators.python import PythonOperator

dag = DAG(
    'model_retraining',
    schedule_interval='@weekly',
    catchup=False
)

check_drift = PythonOperator(
    task_id='check_data_drift',
    python_callable=run_drift_detection,
    dag=dag
)

collect_data = PythonOperator(
    task_id='collect_training_data',
    python_callable=prepare_dataset,
    dag=dag
)

train = PythonOperator(
    task_id='train_model',
    python_callable=run_training,
    dag=dag
)

check_drift >> collect_data >> train

Управління навчальними даними

Ключове питання: які дані включати у перенавчання? Варіанти:

  • Full retrain: усі історичні дані. Стабільно, але дорого за часом та обчисленнями.
  • Rolling window: лише дані за останні N днів/тижнів. Модель забуває історію, але краще адаптується до поточних патернів.
  • Incremental learning: донавчання на нових даних без перенавчання з нуля. Підходить не всім алгоритмів.
  • Weighted samples: старі дані з меншою вагою. Баланс між стабільністю та адаптацією.

Validation gate перед promotion

Автоматично перенавчена модель не повинна потрапляти у production без валідації:

def validate_new_model(new_model, current_model, test_dataset):
    new_metrics = evaluate(new_model, test_dataset)
    current_metrics = evaluate(current_model, test_dataset)

    # Новая модель должна быть лучше текущей
    if new_metrics['auc'] < current_metrics['auc'] * 0.99:
        raise ValueError(f"New model AUC {new_metrics['auc']:.4f} "
                        f"worse than current {current_metrics['auc']:.4f}")

    # Проверка latency
    if new_metrics['p95_latency_ms'] > 100:
        raise ValueError("Inference too slow")

    return True

Управління експериментами під час автоперенавчання

Кожен цикл перенавчання логується в MLflow із фіксацією: версії даних (DVC hash), гіперпараметрів, метрик, часу навчання. Це дозволяє ретроспективно проаналізувати деградацію та знайти момент, коли модель почала погіршуватися.

Типовий результат: команда переходить від ручного перенавчання "коли згадають" (раз на 2-3 місяці) до автоматичного циклу з щотижневим оновленням та метриками якості, які завжди актуальні.