Архив рубрики ~Лента новостей~

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

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

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

Делиться

NOVOSTI

Вкратце:

Большинство моделей машинного обучения, используемых в производственных условиях, не демонстрируют плавного затухания — они дают сбой при внезапных, непредсказуемых шоках. Когда мы подогнали экспоненциальную «кривую забывания» к 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

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Архив рубрики ~Коротко из Telegram~ ФСТЭК добралась до нейросетей ФСТЭК предложила полностью заменить действующий с… Новости робототехники Ropedia привлекла 22 миллиона долларов на масштабирование сбора данных для обучающихся роботов Архив рубрики ~Коротко из Telegram~ В космос отправили первого робота-механика Northrop Grumman вывела на орбиту… Архив рубрики ~Коротко из Telegram~ MacBook наконец разрешат трогать руками Apple собирается обновить практически всю… Архив рубрики ~Коротко из Telegram~ Бесплатная альтернатива Suno для генерации песен Нашли SongGeneration Studio —… Архив рубрики ~Коротко из Telegram~ Gemini внезапно оказался нормальным садоводом Парень доверил Gemini уход за… Архив рубрики ~Коротко из Telegram~ Яндекс научился добавлять НОВЫЕ команды в системы с голосовым управлением,… Архив рубрики ~Коротко из Telegram~ 🤓Вы тоже заметили кое-что интересное❓ 🟢Открываете Lovable — там GPT… Архив рубрики ~Коротко из Telegram~ Аналитики Альфа-Банка прогнозируют, что отечественное ПО продолжит вытеснять зарубежные решения,… Архив рубрики ~Коротко из Telegram~ После отказа от SAP «Магнит» перевёл финансовые и часть HR-процессов… Архив рубрики ~Коротко из Telegram~ ☀️ OpenAI выпустила свой первый физический продукт — и это… Архив рубрики ~Коротко из Telegram~ Opus 5 вышла и сразу пошла бодаться с Fable 5… Архив рубрики ~Коротко из Telegram~ ⚡️ Claude теперь умеет снимать кино. Нет, серьёзно. Claude обучили… Архив рубрики ~Обо всем~ Лучшие роботизированные пылесосы для бассейнов 2026 года: мы протестировали 21 модель. Архив рубрики ~Коротко из Telegram~ ФСТЭК добралась до нейросетей ФСТЭК предложила полностью заменить действующий с… Новости робототехники Ropedia привлекла 22 миллиона долларов на масштабирование сбора данных для обучающихся роботов Архив рубрики ~Коротко из Telegram~ В космос отправили первого робота-механика Northrop Grumman вывела на орбиту… Архив рубрики ~Коротко из Telegram~ MacBook наконец разрешат трогать руками Apple собирается обновить практически всю… Архив рубрики ~Коротко из Telegram~ Бесплатная альтернатива Suno для генерации песен Нашли SongGeneration Studio —… Архив рубрики ~Коротко из Telegram~ Gemini внезапно оказался нормальным садоводом Парень доверил Gemini уход за… Архив рубрики ~Коротко из Telegram~ Яндекс научился добавлять НОВЫЕ команды в системы с голосовым управлением,… Архив рубрики ~Коротко из Telegram~ 🤓Вы тоже заметили кое-что интересное❓ 🟢Открываете Lovable — там GPT… Архив рубрики ~Коротко из Telegram~ Аналитики Альфа-Банка прогнозируют, что отечественное ПО продолжит вытеснять зарубежные решения,… Архив рубрики ~Коротко из Telegram~ После отказа от SAP «Магнит» перевёл финансовые и часть HR-процессов… Архив рубрики ~Коротко из Telegram~ ☀️ OpenAI выпустила свой первый физический продукт — и это… Архив рубрики ~Коротко из Telegram~ Opus 5 вышла и сразу пошла бодаться с Fable 5… Архив рубрики ~Коротко из Telegram~ ⚡️ Claude теперь умеет снимать кино. Нет, серьёзно. Claude обучили… Архив рубрики ~Обо всем~ Лучшие роботизированные пылесосы для бассейнов 2026 года: мы протестировали 21 модель.

Оставить комментарий