Q:
Навіщо запускати навчання машинного навчання (ML) на локальній машині, а потім запускати регулярне виконання на сервері?
A:Питання про те, як структурувати проект машинного навчання та його етапи підготовки та тестування, має багато спільного з тим, як ми рухаємось через "життєвий цикл" МЛ та переносимо програму з навчального середовища у виробниче середовище.
Однією з найпростіших причин використовувати вищевказану модель перенесення навчальних курсів на локальну машину, а потім переміщення виконання до системи, заснованої на сервері, є перевага суттєвого розподілу обов'язків. Загалом, ви хочете, щоб навчальний набір був ізольованим, щоб ви мали чітке уявлення про те, де тренінг починається і припиняється, і де починається тестування. Ця стаття KDNuggets говорить про цей принцип грубо, а також переживає деякі інші причини, щоб виділити навчальні набори на локальній машині. Ще одна основна цінність цієї моделі полягає в тому, що з навчальними і тестовими наборами на дуже різних архітектурах ви ніколи не будете плутати з приводу спільного розподілу поїздів / тестів!
Ще одна цікава користь стосується кібербезпеки. Експерти зазначають, що якщо у вас початкові процеси поїздів на локальній машині, це не обов’язково підключати до Інтернету! Це розширює безпеку фундаментально, "інкубуючи" процес, поки він не потрапить у виробничий світ, де потім потрібно побудувати належну безпеку в серверній моделі.
Крім того, деякі з цих «ізольованих» моделей можуть допомогти при таких проблемах, як концепція дрейфу та прихованих контекстів - принцип «нестаціонарності» попереджає розробників, що дані не «залишаються однаковими» з часом (залежно від того, що вимірюється) та що може знадобитися багато пристосованості, щоб тестова фаза відповідала фазі поїзда. Або в деяких випадках процеси поїздів і випробувань змішуються, створюючи плутанину.
Вперше розгортання тестової фази на сервері може полегшити різні моделі «чорної скриньки», де ви вирішите проблему адаптації даних. У деяких випадках це виключає зайвий процес розміщення замовлень на зміну на декількох платформах.
Тоді також серверне середовище, очевидно, обслуговує в режимі реального часу або динамічні процеси, в яких інженери захочуть отримати доступ до моделей передачі даних та коду, які найкраще працюють для виробництва в ML. Наприклад, AWS Lambda може бути привабливим варіантом для управління мікрофункціями виробництва (або комбінацією об'єктів зберігання об'єктів Lambda та S3) та без підключення (без сервера), що стає неможливим.
Ось деякі проблеми, про які розробники можуть замислюватися, коли вони розглядають, як розділити фази навчання МЛ від тестування та виробництва.