Щойно натрапив на щось, що мене дуже турбує щодо виробничих систем машинного навчання. Усі зациклені на метриках результату — точності, прецизійності, відгуку — але коли вони падають, вже пізно. Реальна проблема виникає раніше, на рівні вхідних даних.



Є підхід, про який я читав, і він повністю змінює гру. Замість того, щоб стежити за тим, що видає модель, ви моніторите, чи поводяться ваші вхідні дані так само, як під час тренування. Звучить просто, але реалізація дуже хитра.

Основна ідея полягає у використанні найближчих сусідів для оцінки щільності разом із дивергенцією Кульбака–Лейблера (KL). Ось чому це працює: ви встановлюєте базову лінію на основі ваших тренувальних даних, а потім постійно порівнюєте вхідні дані з нею за допомогою ковзного вікна. Коли дивергенція KL різко зростає вище за ваш поріг, щось змінилося. Не потрібно робити припущень про розподіл даних, не потрібно дивитися всередину моделі.

Уявіть, наприклад, рекомендательний движок для електронної комерції, натренований на поведінці до пандемії. Смаки клієнтів змінюються, шаблони покупок еволюціонують, але традиційний моніторинг може пропустити це на кілька днів. Цей підхід з найближчими сусідами миттєво виявляє зміни — ваші векторі ознак більше не відповідають початковому розподілу, і вас попереджають ще до того, як продуктивність реально впаде.

Практична сторона важлива. Розмір вікна має значення — занадто мале, і ви будете реагувати на шум, занадто велике — пропустите швидкі зміни. Те саме стосується калібрування порогу. Хороший підхід — взяти ваші однорідні тренувальні дані, розділити їх на послідовні вікна, обчислити парні дивергенції KL і використовувати 95-й або 99-й перцентиль як поріг.

Щодо вибору параметра k, хороша початкова точка — квадратний корінь із розміру вибірки. Більше k робить оцінку щільності менш чутливою, але більш гладкою. Менше k — швидше виявляє нерегулярності, але ризикує підхопити шум.

На масштабі це стає керованим за допомогою стратегій вибірки, бібліотек для приблизних найближчих сусідів, таких як Annoy або Faiss, і паралельної обробки. Ви не перераховуєте все з нуля — просто оновлюєте ковзні статистики поступово.

Гарна річ цього підходу — його модель-агностичність. Він працює незалежно від того, чи запускаєте ви простий класифікатор, чи щось складніше. Ви фактично створюєте систему раннього попередження, яка виявляє зміни даних ще до того, як модель усвідомить, що щось не так. Це той вид захисної інженерії, що підтримує стабільність виробничих систем.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
Додати коментар
Додати коментар
Немає коментарів
  • Закріпити