Привет, мир машиностроения!

Допустим, вы работаете в отделе обработки данных вашей компании. Вы очень счастливы, потому что успешно обучили модель машинного обучения, и ее производительность является выдающейся. Итак, каков следующий шаг? Внезапно архитектор данных спрашивает вас: готовы ли вы к развертыванию? Сегодня мы рассмотрим некоторые шаблоны развертывания, чтобы вы могли быть уверены, что ваша модель готова к развертыванию.

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

Распространенные случаи развертывания:

- Новый продукт или возможность. Если ваша система машинного обучения новая, обычно вы начинаете с ограниченного объема трафика, а затем постепенно его увеличиваете.

- Автоматизируйте или помогайте с ручными задачами. Если задача, которую будет выполнять система машинного обучения, была выполнена человеком вручную, но в будущем будет автоматизирована, это позволит более гибко развертывать. В этом случае развертывание теневого режима особенно полезно.

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

В любом случае рекомендуется направлять постепенный трафик в модель и отслеживать ее производительность. Затем постепенно увеличивайте объем трафика, отправляемого на развернутую модель. Кроме того, очень часто используется стратегия отката. В случае, если модель не работает, чтобы иметь возможность вернуться к предыдущему сценарию.

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

Как только вы получаете модель, которая полностью готова к принятию решения, распространенным методом развертывания является развертывание Canary. В этом случае трафик на модель будет небольшой (допустим 5%) и модель будет принимать реальные решения. Перед увеличением трафика к модели есть время, чтобы оценить, есть ли ошибки в работе модели, но это позволяет компании предотвратить основные проблемы или последствия из-за потенциальной проблемы с моделью (недостаточная производительность).

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

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

Для получения дополнительной информации, пожалуйста, посетите DeepLearning.ai.

Пожалуйста, оставьте комментарий с вашими мыслями, если вам понравилось!