Создание

Управляемые блокноты для разработки моделей

Amazon SageMaker предоставляет полностью управляемые инстансы, которые используют блокноты Jupyter для исследования и предварительной обработки данных для обучения. В эти блокноты предварительно загружены драйверы CUDA и cuDNN для популярных платформ глубокого обучения, пакеты Anaconda и библиотеки для TensorFlow, Apache MXNet, Chainer и PyTorch.

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

Рабочее пространство блокнота позволяет исследовать и визуализировать данные, а также документировать результаты в рабочих процессах с возможностью повторного использования, применяя практически все популярные библиотеки, платформы и интерфейсы. Работая с блокнотом, можно импортировать данные, которые уже хранятся в Amazon S3. Чтобы просто перенести данные из Amazon RDS, Amazon DynamoDB и Amazon Redshift в S3 для анализа, также можно использовать AWS Glue. Можно сделать запись в блокноте, импортировать блокнот пользователя или использовать один из готовых блокнотов, загруженных в Amazon SageMaker. Предустановленные блокноты доступны для всех встроенных алгоритмов машинного обучения. Кроме того, доступны шаблоны блокнотов, которые помогут начать работу со стандартными приложениями машинного обучения и расширенными возможностями Amazon SageMaker.

Шаблоны для стандартных приложений машинного обучения

Шаблоны для расширенных возможностей SageMaker

Прогнозирование с помощью временных рядов

Использование собственных контейнеров TensorFlow, MXNet и Chainer

Таргетированный прямой маркетинг

Использование собственных алгоритмов или моделей scikit или R

Прогнозирование оттока клиентов

Сегментирование данных при распределенном обучении

Встроенные высокопроизводительные алгоритмы

Amazon SageMaker предоставляет высокопроизводительные, масштабируемые алгоритмы машинного обучения, оптимизированные для быстрых и точных результатов при любом масштабе. Эти алгоритмы способны проводить обучение на данных, объем которых измеряется петабайтами, а их производительность в 10 раз выше производительности других реализаций. Для выбора доступны направляемые алгоритмы, которые предполагают, что во время обучения известны ответы и можно указать модели на ошибки. Amazon SageMaker включает направляемые алгоритмы, такие как XGBoost и линейная/логическая регрессия или классификация, для создания рекомендаций и решения задач прогнозирования с помощью временных рядов. Кроме того, Amazon SageMaker поддерживает произвольное обучение (когда алгоритмы должны искать правильные ответы самостоятельно), например кластеризацию методом k-средних и анализ основного компонента (PCA), для решения таких задач, как распределение клиентов по группам на основании покупательского поведения.

Amazon SageMaker автоматически предоставляет доступ к наиболее распространенным алгоритмам машинного обучения. Достаточно указать источник данных, после чего можно сразу же начинать работу с кластеризацией методом k-средних для сегментирования данных, с машинами факторизации для подготовки рекомендаций, с прогнозированием посредством временных рядов, с линейной регрессией или анализом основного компонента.

BlazingText Word2Vec Реализация алгоритма Word2Vec, выполненная BlazingText, для масштабирования и ускорения формирования встраиваемых слов на основании большого количества документов.
DeepAR Алгоритм, который генерирует точные прогнозы, изучая закономерности в данных большого количества связанных временных рядов с использованием рекуррентных нейронных сетей (RNN).
Машины факторизации Модель, способная оценить все взаимодействия между возможностями даже на очень малом количестве данных.
Построение деревьев методом градиентного роста (XGBoost) XGBoost – сокращение от Extreme Gradient Boosting (метод экстремального градиентного роста) – это оптимизированная распределенная библиотека построения методом градиентного роста.
Классификация изображений (ResNet) Популярная нейронная сеть для разработки систем классификации изображений.
Кластеризация методом k-средних Это один из простейших алгоритмов машинного обучения. Он используется для поиска групп среди неразмеченных данных.

Латентное размещение Дирихле (LDA)

Модель, которая отлично подходит для автоматического обнаружения основных тем, представленных в наборе текстовых файлов.
Линейное обучение (классификация) Линейная классификация определяет, к какой группе относится объект, по его характеристикам.
Линейное обучение (регрессия) Линейная регрессия применяется для предсказания линейного отношения между двумя переменными.
Тематическое нейронное моделирование (NTM) Основанный на нейронных сетях способ выявления тем в наборах текстовых данных и изображений.
Анализ основного компонента (PCA) Этот алгоритм, часто применяющийся при предварительной обработке данных, берет таблицу или матрицу множества возможностей и уменьшает ее до тех пор, пока она не будет содержать лишь небольшое количество наиболее репрезентативных возможностей.
Алгоритм Random Cut Forest Неконтролируемый алгоритм машинного обучения для обнаружения аномалий.
Алгоритм Sequence2Sequence Кодер-декодер текста общего назначения; часто используется для машинного перевода, реферирования текста и т. д.
ближайший сосед номер k (kNN) Непараметрическая модель, подходящая для решения задач классификации и регрессии.
Обнаружение объектов
Обнаруживает и классифицирует различные объекты на изображении, обозначая их рамками.

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

Поддержка множества платформ

Amazon SageMaker автоматически конфигурирует и оптимизирует TensorFlow, Apache MXNet, Chainer и PyTorch, поэтому начать работу с этими платформами можно без дополнительной настройки. В ближайшие месяцы мы добавим поддержку других распространенных платформ. При этом Amazon SageMaker можно использовать с любой платформой. Для этого нужно упаковать ее в контейнер Docker и сохранить в Amazon EC2 Container Registry.

Тестирование и создание прототипов в локальной сети

Контейнеры Docker для запуска платформ с открытым кодом Apache MXNet и TensorFlow, используемых в Amazon SageMaker, доступны на GitHub. Эти контейнеры можно загрузить в локальную среду и использовать SDK Amazon SageMaker для Python для тестирования скриптов перед их развертыванием в учебных или хостинговых средах Amazon SageMaker. Когда наступит время перейти от локального тестирования к обучению в рабочей среде и хостингу, потребуется изменить только одну строку кода.

Обучение

Обучение за один щелчок

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

Обучать модели с помощью Amazon SageMaker очень просто. Нужно указать местоположение данных в S3, после чего Amazon SageMaker запустит алгоритм пользователя на кластере обучения в виртуальной сети, настроенной в соответствии с требованиями. Необходимо выбрать тип инстанса (включая инстансы P3 на графических процессорах, которые идеально подходят для быстрого и эффективного обучения), чтобы позволить Amazon SageMaker создать кластер в автомасштабируемой группе; затем прикрепить к каждому узлу тома EBS и настроить конвейеры данных. После этого можно начинать обучение с помощью скриптов TensorFlow, MXNet, Chainer или PyTorch, собственных алгоритмов Amazon или алгоритмов, загруженных с контейнером пользователя. По завершении Amazon SageMaker выведет результаты в S3 и автоматически расформирует кластер.

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

В сочетании со встроенными алгоритмами масштабируемость обучения, которую обеспечивает Amazon SageMaker, может значительно сократить время и стоимость обучения.

Автоматическая настройка модели

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

При настройке точности модели существует два эффективных метода воздействия: первый – модификация данных, которые подаются на вход модели (например, вычисление логарифмов чисел), второй – уточнение параметров алгоритма. Иначе их называют гиперпараметрами, и поиск правильных значений может оказаться затруднительным. Как правило, для поиска выбирают случайные числа и многократно выполняют вычисления, а в процессе становится понятно, как изменения влияют на результат. В зависимости от того, сколько гиперпараметров у модели, цикл может оказаться очень длительным.

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

При запуске автоматической настройки модели пользователю достаточно указать с помощью API количество обучающих задач, и Amazon SageMaker возьмет остальную работу на себя.

Развертывание

Развертывание за один щелчок

За один щелчок мышью можно выполнить развертывание модели на автомасштабируемых инстансах Amazon SageMaker для машинного обучения в нескольких зонах доступности, что обеспечит высокую избыточность. Достаточно лишь указать тип инстансов, а также их максимальное и минимальное количество – об остальном позаботится Amazon SageMaker. Сервис запустит инстансы, выполнит развертывание модели и настроит защищенный HTTPS-адрес для приложения. В приложение требуется только включить вызов API к нужному адресу, чтобы достичь минимальной задержки и высокой пропускной способности. Данная архитектура позволяет интегрировать новые модели в приложения за считаные минуты, ведь при изменении модели вносить изменения в код приложения не требуется.

Автоматическое A/B-тестирование

Amazon SageMaker также может выполнять A/B-тестирование модели. Можно настроить адрес сервиса таким образом, чтобы он передавал трафик пяти различным моделям, и установить процент вызовов логических выводов, которые должна обработать каждая модель. Все это можно настраивать в процессе работы, благодаря чему открываются широкие возможности для экспериментов и определения модели, которая получает самые точные результаты на реальных данных.

Полностью управляемый хостинг с автомасштабированием

Amazon SageMaker управляет вычислительной средой от имени пользователя, выполняя проверку работоспособности, применяя обновления безопасности и обеспечивая выполнение других рутинных операций по обслуживанию. Сервис обладает встроенными возможностями мониторинга и ведения журналов средствами Amazon CloudWatch.

Пакетное преобразование

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

 

Подробнее о ценах на Amazon SageMaker

Перейти на страницу цен
Готовы начать работу?
Регистрация
Есть вопросы?
Свяжитесь с нами