Навіщо запускати навчання ML на локальній машині, а потім запускати регулярне виконання на сервері?

Автор: Roger Morrison
Дата Створення: 28 Вересень 2021
Дата Оновлення: 1 Липня 2024
Anonim
Навіщо запускати навчання ML на локальній машині, а потім запускати регулярне виконання на сервері? - Технологія
Навіщо запускати навчання ML на локальній машині, а потім запускати регулярне виконання на сервері? - Технологія

Зміст

Q:

Навіщо запускати навчання машинного навчання (ML) на локальній машині, а потім запускати регулярне виконання на сервері?


A:

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

Однією з найпростіших причин використовувати вищевказану модель перенесення навчальних курсів на локальну машину і потім переміщення виконання до системи, заснованої на сервері, є перевагою суттєвого розподілу обов'язків. Загалом, ви хочете, щоб навчальний набір був ізольованим, щоб мати чітке уявлення про те, де починаються та припиняються тренування, і де починається тестування. Ця стаття KDNuggets говорить про цей принцип грубо, а також переживає деякі інші причини, щоб виділити навчальні набори на локальній машині. Ще одна основна цінність цієї моделі полягає в тому, що при навчанні та тестових наборах на дуже різних архітектурах ви ніколи не будете плутати щодо спільного розподілу поїздів / тестів!


Ще одна цікава користь стосується кібербезпеки. Фахівці зазначають, що якщо у вас початкові процеси поїздів на локальній машині, це не обов'язково підключати до Інтернету! Це розширює безпеку фундаментально, «інкубуючи» процес, поки він не потрапить у виробничий світ, де потім потрібно побудувати належну безпеку в серверній моделі.

Крім того, деякі з цих «ізольованих» моделей можуть допомогти при таких проблемах, як концепція дрейфу та прихованих мінусів - принцип «нестаціонарності» попереджає розробників, що дані не «залишаються однаковими» з часом (залежно від того, що вимірюється) та що може знадобитися багато пристосованості, щоб тестова фаза відповідала фазі поїзда. Або в деяких випадках процеси поїздів і випробувань змішуються між собою, створюючи плутанину.

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


Тоді також серверне середовище, очевидно, обслуговує в режимі реального часу або динамічні процеси, в яких інженери захочуть отримати доступ до моделей передачі даних та коду, які найкраще працюють для виробництва в ML. Наприклад, AWS Lambda може бути привабливим варіантом для управління мікрофункціями виробництва (або комбінацією об'єктів зберігання об'єктів Lambda та S3) та без підключення (без сервера), що стає неможливим.

Ось деякі проблеми, про які розробники можуть замислюватися, коли вони розглядають, як розділити фази навчання МЛ від тестування та виробництва.