Рубрики
Без рубрики

Торговое вещество на AWS.

Эта серия проходит вас через необходимую информацию и охватывает практический опыт обучения на … Помечено с AWS, MachineLearning, Python.

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

Мы начинаем, представляем вас к пейторчем и факелу, а затем отдайте вам свой опыт работы, используя TOMSERVER во многих различных средах.

В частности, мы берем вам несколько различных типов развертывания:

  • Местное развертывание на вашей машине.
  • Развертывание пользовательской модели на Amazon Sagemaker с помощью контейнера Docker. Это также известно как «принести свой собственный контейнер» или развертывание BYOC.

  • Развертывание, которое использует Amazon SageMaker SDK для родомской модели, обслуживающей факел.

  • И, наконец, развертывание с использованием службы Amazon Elastic Cubernetes (Amazon Eks).

Pytorch на AWS.

Используя TOMScript Pytorch, разработчики могут беспрепятственно переходить между режимом готовности, который немедленно выполняет вычисления для легкого развития, а также режим графика, который создает вычислительные графики для эффективного выполнения в производственных условиях.

Pytorch поддерживает динамические графики вычислений, которые обеспечивают гибкую структуру, которая интуитивнаправлена для работы и легко для отладки.

Pytorch также предлагает распределенные тренировки, глубокую интеграцию в Python и богатую экосистему инструментов и библиотек, что делает его популярным с исследователями и инженерами.

Pytorch Origin.

Он начался в виде GPU-ускоренной библиотеки Tensor с API относительно похожим на Numpy. Он развился из рамок под названием факел, написанный в Луа, что люди действительно понравились из-за императивного стиля построения нейронных сетей, которые дал вам факел.

Тем не менее, некоторые посмотрели на изучение Луа в качестве барьера для входа к глубокому обучению, а также хотели модульности интерфейсу с другими библиотеками. Исследователи AI в Facebook решили реализовать факел в Python, потому что Python и назвал его «Pytorch». Pytorch теперь является одним из самых ссылочных и самых быстрых растущих рамок.

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

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

Напротив, Pytorch использует динамические вычислительные графики. Это означает, что модели необходимы, используя идентификационный код Python, а затем график вычислений создан и повторно создан во время выполнения. Вместо того, чтобы быть предопределенным, структура графика может меняться во время выполнения.

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

Способ того, что график определен в Pytorch, очень похоже на регулярное исполнение Python. Вы определяете своих операторов, вы можете использовать перегрузки оператора, как этот оператор Plus. График определяется на основе того, как вы его провели.

Pytorch – гражданин первого класса на AWS. Вы можете начать работу с Pytorch на AWS, используя Amazon Sagemaker, полностью управляемую технику обучения машины, которая позволяет легко и экономически эффективно построить, поезжать и развертывать модели Pytorch в масштабе.

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

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

Каждая из этих задач является сложными ручными операциями, которые могут замедлить развертывание модели по неделям или даже месяцам. Разработчики Pytorch не хватало канонического, официально поддерживаемого механизма развертывания моделей Pytorch в производстве и в масштабе.

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

Torchserve был разработан AWS и запущен совместно с Facebook в апреле 2020 года. AWS Инженеры являются государственными сопровождающими проекта под управлением Pytorch.

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

Он обеспечивает обработчики по умолчанию для наиболее распространенных приложений, таких как обнаружение объекта и классификация текста, поэтому вам не нужно писать пользовательский код для развертывания ваших моделей.

С мощными функциями Torchserve, включая Multi-Model Destoring, модель версий для проверки A/B, метрики для мониторинга и восстановленных конечных точек для интеграции приложений, вы можете быстро принять вашим моделям из исследований до производства.

Torchserve поддерживает любую машинную обучающую среду, включая Amazon Sagemaker, Kubernetes, Amazon EKS и Amazon EC2.

Как это работает

Torchserve можно использовать для многих типов вывода в настройках производства. Он предоставляет простой в использовании интерфейс командной строки и использует API на основе отдыха для обработки запросов прогнозирования состояния. Например, вы хотите сделать приложение, которое позволяет своим пользователям оснастить картину, и он скажет им, какие объекты были обнаружены в сцене и прогнозах о том, что могут быть объекты.

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

Torchserve принимает модуль глубокого обучения Pytorch, и она заворачивает его в наборе API. В настоящее время он поставляется со встроенным веб-сервером, который вы запускаете из командной строки. Этот вызов командной строки принимает в одно или несколько моделей, которые вы хотите служить, наряду с дополнительными дополнительными параметрами, управляющими портом, хостом и регистрацией. Torchserve поддерживает работу пользовательских услуг для обработки удельного логики обработки выводов.

Архитектура Torchserve.

Frestend: запрос/обработку ответов компонент факелов. Эта часть сервировочного компонента обрабатывает как запрос/ответ, исходящий от клиентов и управляет жизненным словами моделей.

Модель работников: эти работники несут ответственность за выполнение фактического вывода на модели. Это фактические функции запуска моделей.

Модель: Модели могут быть Script_Module (JIT сохраненные модели) или Eager_Mode_Models. Эти модели могут предоставлять пользовательскую предварительно и после обработки данных вместе с любыми другими модельными артефактами, такими как Desty_DICTS. Модели могут быть загружены из облачного хранения или от локальных хостов.

Плагины: это пользовательские конечные точки или алгоритмы AUTHZ/AUTHN или BATCHERING, которые можно сбросить во время запуска во времени запуска.

Магазин модели: Это каталог, в котором существуют все загруженные модели.

После установки вы можете быстро запустить сервер, запустив «Torchserve –start». Как только сервер работает, вы получите доступ к трем наборам API:

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

API управления – позволяет зарегистрировать/не регистрировать модель, указать количество работников для модели, опишите состояние модели, перечисление зарегистрированных моделей и установить версию модели по умолчанию.

Метрики API – возвращает измерительные метрики PROMETHEUS.

Все эти услуги прослушивают на порт 8080, 8081 и 8082 соответственно по умолчанию, но вы можете изменить это. Вы можете развернуть модели, работающие как в WAGER MODE, так и в Taskscript. Torchscript использует факел. JIT, компилятор просто вовремя, для производства моделей, которые могут быть сериализованы и оптимизированы из кода Pytorch.

Развертывание стека CloudFormation и проверка ноутбука в 5 простых шагах

[1] Чтобы начать, войти в свою консоль AWS. Вы будете запустить шаблон CloudFation (CF) в один из следующих регионов.

[2] Далее щелкните единственный значок ниже, чтобы запустить ваш шаблон CF.

[3] Проверьте три ящики подтверждения и кнопку оранжевого «Create Stack» внизу, как показано ниже:

[4] После завершения убедитесь, что вы видите, что вы должны увидеть выход, аналогичный на следующем экране:

[5] Наконец, отправляйтесь на консоль Amazon Sagemaker и нажмите экземпляры ноутбука с левой панели навигации. Определите вновь созданную ноутбук и нажмите ссылку «Открыть Jupyter», как показано ниже:

Начало работы с факелами

С точью вы получаете много функций вне коробки. Это дает вам полную гибкость развертывания обученных моделей Pytorch, представительно в масштабе без необходимости писать пользовательские обработчики для популярных моделей. Вы можете отправиться от обученной модели до развертывания производства всего несколькими строками кода.

Торговая установка и вывод

Из экземпляра ноутбука Jupyter, пожалуйста, нажмите на папку «1_torchserve-informent-and-inface», а затем откройте ноутбук Torchserve-and-and-and-onference.ipynb Jupyter.

Использованная литература:

Torchserve QuickStart.

Оригинальная мастерская

Оригинал: “https://dev.to/aws-builders/torchserve-on-aws-379b”