Календарь, взрыв идей, мозг, часы, концепция тайм-менеджмента и креативности.

Почему программы переобучения MLOps терпят неудачу — модели не забывают, их бьёт током.

Почему переобучение на основе календаря терпит неудачу в производственной среде и как практический подход к обнаружению сбоев может работать в реальных системах.

Делиться

5547fe582012eeb13f914b7db222703f

Вкратце:

Большинство моделей машинного обучения, используемых в производственных условиях, не демонстрируют плавного затухания — они дают сбой при внезапных, непредсказуемых шоках. Когда мы подогнали экспоненциальную «кривую забывания» к 555 000 мошеннических транзакций, имитирующих производственную ситуацию, она показала R² = −0,31 , что означает, что она показала худшие результаты, чем прогнозирование среднего значения.

Прежде чем устанавливать (или доверять) какому-либо графику переобучения, выполните эту диагностику из 3 строк для ваших существующих еженедельных показателей:

report = tracker.report() print(report.forgetting_regime) # «гладкий» или «эпизодический» print(report.fit_r_squared) # < 0.4 → отказаться от предположений о расписании

  • R² ≥ 0,4 → Плавный режим → плановые работы по переподготовке
  • R² < 0,4 → Эпизодический режим → использовать обнаружение шоков, а не календари

Если ваш коэффициент детерминации R² ниже 0,4, ваша модель не «распадается», и все, что получено на основе оценки периода полураспада, скорее всего, вводит в заблуждение.

Всё началось с одной недели.

Это была 7-я неделя.

Показатель отзыва снизился с 0,9375 до 0,7500 за семь дней. Тревоги не сработали. Совокупный ежемесячный показатель изменился на несколько пунктов — в пределах допустимых значений. На панели мониторинга отобразился зеленый цвет.

Эта единственная неделя свела на нет три недели улучшения модели. Десятки случаев мошенничества, которые модель раньше выявляла, прошли незамеченными. И стандартная модель экспоненциального затухания — математическая основа каждого графика переобучения, который я когда-либо создавал, — не просто не смогла это предсказать.

Оно предсказывало обратное.

R² = −0,31. Хуже, чем прямая линия.

Эта цифра изменила мое представление о MLOps. Не кардинально. Тихо. Это такое изменение, которое заставляет вернуться и пересмотреть предположение, которое ты годами придерживался, никогда не подвергая его сомнению.

Эта статья посвящена данному предположению, тому, почему оно ошибочно для целого класса производственных систем машинного обучения, и что делать вместо этого — с подкреплением реальными цифрами на общедоступном наборе данных, который можно воспроизвести за один день.

Полный код: https://github.com/Emmimal/mlops-forgetting-curve/

Предположение, которое никто не подвергает сомнению

Вся индустрия переподготовки кадров построена на одной-единственной идее, заимствованной у немецкого психолога XIX века.

В 1885 году Герман Эббингаус провел серию самоэкспериментов над человеческой памятью — запоминал списки бессмысленных слогов, измерял собственную способность к запоминанию через фиксированные интервалы и строил графики результатов во времени [1]. Он задокументировал четкую экспоненциальную зависимость:

R(t) = R₀ · e^(−λt)

Память угасает плавно. Предсказуемо. Со скоростью, пропорциональной оставшемуся объему памяти. Эта кривая стала одним из наиболее часто воспроизводимых результатов в когнитивной психологии и до сих пор остается основополагающим ориентиром в исследованиях памяти.

Столетие спустя сообщество специалистов по машинному обучению полностью переняло эту идею. Логика казалась убедительной: производственная модель со временем подвергается воздействию новых шаблонов, на которых она не обучалась, поэтому ее производительность постепенно и непрерывно снижается. Установите частоту переобучения, исходя из скорости снижения производительности. Оцените период полураспада. Составьте соответствующее расписание.

Каждая крупная платформа MLOps, каждое эмпирическое правило «переобучения каждые 30 дней», каждый автоматизированный калькулятор снижения производительности основаны на этом предположении.

Проблема в том, что никто не проверил это на основе производственных данных.

Так я и сделал.

Эксперимент

Я использовал набор данных Kaggle Credit Card Fraud Detection, созданный Картиком Шеноем [2] — синтетический набор данных из 1,85 миллиона транзакций, сгенерированный с помощью инструмента Sparkov Data Generation [3], охватывающий период с января 2019 года по декабрь 2020 года. Тестовая выборка содержит 555 719 транзакций за период с июня по декабрь 2020 года, с 2145 подтвержденными случаями мошенничества (распространенность 0,39%).

Моделирование было разработано таким образом, чтобы имитировать реалистичное развертывание в производственной среде:

  • Модель: LightGBM [4] обучена один раз на исторических данных, никогда не переобучалась в течение тестового периода
  • Основной показатель: полнота — при обнаружении мошенничества пропущенное мошенничество обходится на порядки дороже, чем ложная тревога, поэтому полнота является оперативно корректной целью [5]
  • Оценка: Еженедельные скользящие окна на контрольном тестовом наборе данных, каждое окно содержит от 15 000 до 32 000 транзакций.
  • Фильтры качества: окна с менее чем 30 подтвержденными случаями мошенничества были исключены — ниже этого порога еженедельные оценки полноты данных статистически ненадежны из-за крайнего дисбаланса в классах.

Базовый уровень был установлен с использованием среднего значения трех лучших показателей по запоминанию за первые шесть недель квалификационного периода — метод, разработанный для того, чтобы игнорировать шум, возникающий на ранней стадии разминки, и отслеживать результаты, близкие к пиковым.

26 недель производственной эффективности

Вот результаты полного моделирования, полученные в течение 26 квалификационных еженедельных периодов:

Неделя 1 [21.06.2020] n=19 982 мошенничество = 68 R=0,7647 Неделя 2 [28.06.2020] n=20 025 мошенничество = 100 R=0,8300 Неделя 3 [05.07.2020] n=20 182 мошенничество = 83 R=0,7831 Неделя 4 [12.07.2020] n=19 777 мошенничество = 52 R=0,8462 Неделя 5 [19.07.2020] n=19 898 мошенничество = 99 R=0,8586 Неделя 6 [26.07.2020] n=19 733 мошенничество = 64 R=0,9375 ← пик Неделя 7 [02.08.2020] n=20 023 мошенничество = 152 R=0.7500 ← худший шок (−0.1875) Неделя 8 [2020-08-09] n=19 637 мошенничество = 82 R=0.7439 Неделя 9 [2020-08-16] n=19 722 мошенничество = 59 R=0.7966 Неделя 10 [2020-08-23] n=19 605 мошенничество = 102 R=0.8922 Неделя 11 [2020-08-30] n=18 081 мошенничество = 84 R=0.8690 Неделя 12 [2020-09-06] n=16 180 мошенничество = 67 R=0.7910 Неделя 13 [2020-09-13] n=16 087 мошенничество = 63 R=0.8413 Неделя 14 [2020-09-20] n=15,893 мошенничество= 90 R=0.7444 Неделя 15 [2020-09-27] n=16,009 мошенничество= 81 R=0.8272 Неделя 16 [2020-10-04] n=15,922 мошенничество= 121 R=0.8264 Неделя 17 [2020-10-11] n=15,953 мошенничество= 111 R=0.8559 Неделя 18 [2020-10-18] n=15,883 мошенничество= 53 R=0.9245 ← восстановление Неделя 19 [2020-10-25] n=15,988 мошенничество= 73 R=0.8630 Неделя 20 [2020-11-01] n=15,921 мошенничество= 70 R=0.7429 ← второй шок Неделя 21 [2020-11-08] n=16,098 мошенничество= 59 R=0.9322 ← восстановление Неделя 22 [2020-11-15] n=15,835 мошенничество= 63 R=0.9206 Неделя 23 [2020-11-22] n=15,610 мошенничество= 91 R=0.9121 Неделя 24 [2020-11-29] n=30,246 мошенничество= 57 R=0.8596 ← объем удваивается Неделя 25 [2020-12-06] n=31,946 мошенничество= 114 R=0.7895 Неделя 26 [2020-12-13] n=31 789, мошенничество = 67, R=0,8507

Из анализа были исключены два периода: неделя с 20 декабря (всего 20 случаев мошенничества) и 27 декабря (ноль зарегистрированных случаев мошенничества — артефакт данных, характерный для праздничного периода).

Источник: towardsdatascience.com

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Изображение защищённого от вирусов младенца в утробе матери.
Луна и Земля на фоне космического пространства, вид с обратной стороны Луны.
Монитор Redmi для геймеров с изображением космического корабля на экране, вид спереди и сзади.
Карта температуры поверхности Атлантического океана, цветовая градация холодного и тёплого.
Капсула NASA с тремя парашютами, спускается на Землю, вид сверху.
Спускаемый аппарат NASA на парашютах в темном небе, возвращение с миссии.
Гейзер в Йеллоустоунском парке с цветной водой и паром на фоне леса и заката.
Портрет человека с длинными темными волосами на светлом фоне, лицо скрыто.
ideipro logotyp
Image Not Found
Монитор Redmi для геймеров с изображением космического корабля на экране, вид спереди и сзади.

Стартовали продажи Xiaomi REDMI G Pro 32U 2026 — игрового монитора с Ultra HD и 160 Hz

Производители игровых мониторов сегодня активизировались. Сначала мы глядели на новинку от Alienware, затем перешли к Sony, а теперь взглянем на Xiaomi, ассортимент которой пополняется новой моделью REDMI G Pro 32U 2026. Её ценник не сильно далеко ушёл…

Апр 16, 2026
Портрет человека с длинными темными волосами на светлом фоне, лицо скрыто.

Неужели компания Neuralink сделала неправильную ставку?

В области интерфейсов «мозг-компьютер» происходит переход от управления курсором с помощью мысли к восстановлению речи. Элисса Велле, бывший научный сотрудник Tarbell AI Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту…

Апр 16, 2026
ideipro logotyp

Если финансы имеют значение: 5 формул для таблиц Р7 офис, которые точно пригодятся!

Если вы решили вести финансовые расчёты не в блокноте, а в современном редакторе таблиц, вот пять полезных формул. Они помогут принимать решения о покупке или продаже активов, контролировать расходы и доходы, анализировать семейный бюджет и многое другое.…

Апр 16, 2026
ideipro logotyp

Если финансы имеют значение: 5 формул для таблиц Р7 офис, которые точно пригодятся!

Если вы решили вести финансовые расчёты не в блокноте, а в современном редакторе таблиц, вот пять полезных формул. Они помогут принимать решения о покупке или продаже активов, контролировать расходы и доходы, анализировать семейный бюджет и многое другое.…

Апр 16, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых