Создание с использованием Amazon SageMaker

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

Возможности

Интерфейс для совместного использования блокнотов

Сервис Amazon SageMaker Notebooks, доступный в режиме ознакомления, предоставляет готовые блокноты Jupyter с эластичными вычислительными ресурсами, которые можно быстро развернуть. Эти блокноты содержат все необходимое для выполнения или воссоздания рабочего процесса машинного обучения, и поддерживают интеграцию с Amazon SageMaker Studio. Все блокноты комплектуются предустановленными драйверами CUDA и cuDNN для распространенных устройств, пакетами Anaconda и библиотеками для разных платформ.

Среда блокнота позволяет изучать и визуализировать данные, а также документировать полученные результаты в виде воспроизводимых рабочих процессов. Работая с блокнотом, можно импортировать данные, которые уже хранятся в Amazon S3. Чтобы просто перенести данные из Amazon RDS, Amazon DynamoDB и Amazon Redshift в S3 для анализа, также можно использовать AWS Glue.

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

SageMaker Notebooks избавляет от всех этих трудностей. Теперь не придется терять время на отключение старых инстансов и воссоздание работы на новом. Теперь построение модели станет намного быстрее.

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

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

Блокноты

Создание точных наборов данных для обучения

Amazon SageMaker Ground Truth помогает быстро создавать в высшей степени точные наборы данных для обучения, используя технологии машинного обучения, и снижать затраты на маркировку данных до 70 %. Успешные модели машинного обучения обучаются с помощью данных, которые были маркированы для обучения модели принятию правильных решений. Часто этот процесс занимает месяцы и требует участия большого числа специалистов. SageMaker Ground Truth предоставляет инновационное решение для снижения затрат и упрощения процесса, одновременно повышая точность маркирования данных путем объединения технологий машинного обучения и выполняемого вручную процесса маркирования, что называется «активное обучение».

Принцип работы сервиса

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

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

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

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

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

Алгоритм Описание
BlazingText Word2Vec Реализация алгоритма Word2Vec, выполненная BlazingText, для масштабирования и ускорения формирования встраиваемых слов на основании большого количества документов.
DeepAR Алгоритм, который генерирует точные прогнозы, изучая закономерности в данных большого количества связанных временных рядов с использованием рекуррентных нейронных сетей (RNN).
Машины факторизации Модель, способная оценить все взаимодействия между возможностями даже на очень малом количестве данных
Построение деревьев методом градиентного роста (XGBoost) XGBoost – сокращение от Extreme Gradient Boosting (метод экстремального градиентного роста) – это оптимизированная распределенная библиотека построения методом градиентного роста.
Классификация изображений (ResNet) Популярная нейронная сеть для разработки систем классификации изображений.
Аналитика IP-адресов Алгоритм обнаружения злоумышленников или изучения шаблонов использования IP-адресов.
Кластеризация методом k-средних Один из простейших алгоритмов машинного обучения, который используется для поиска групп в данных без меток.
Метод k-ближайших соседей (k-NN) Основанный на индексах алгоритм решения проблем классификации и регрессии.
Латентное размещение Дирихле (LDA) Модель, которая отлично подходит для автоматического обнаружения основных тем, представленных в наборе текстовых файлов.
Линейное обучение (классификация) Линейная классификация определяет, к какой группе относится объект, по его характеристикам.
Линейное обучение (регрессия) Линейная регрессия применяется для предсказания линейного отношения между двумя переменными.
Тематическое нейронное моделирование (NTM) Основанный на нейронных сетях способ выявления тем в наборах текстовых данных и изображений.
Object2Vec Алгоритм нейронной интеграции для вычисления ближайших соседей и визуализации естественных кластеров.
Обнаружение объектов Обнаруживает и классифицирует различные объекты на изображении, обозначая их рамками.
Анализ основного компонента (PCA) Этот алгоритм, часто применяющийся при предварительной обработке данных, берет таблицу или матрицу множества возможностей и уменьшает ее до тех пор, пока она не будет содержать лишь небольшое количество наиболее репрезентативных возможностей.
Алгоритм Random Cut Forest Неконтролируемый алгоритм машинного обучения для обнаружения аномалий.
Семантическое сегментирование Делит изображение на разделы с целью выявления областей интереса, назначая метки отдельным пикселям изображения.
Sequence2Sequence Кодер-декодер текста общего назначения; часто используется для машинного перевода с других языков, реферирования текста и т. д.

Подробнее »

Вы можете предоставить собственную платформу или алгоритм в виде контейнера Docker или выбрать любой из нескольких сотен готовых алгоритмов и предварительно обученных моделей в AWS Marketplace

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

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

Подробнее »

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

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

Стимулированное обучение

Amazon SageMaker поддерживает не только традиционные модели контролируемого и неконтролируемого обучения, но и стимулированное обучение. SageMaker включает встроенные, полностью управляемые алгоритмы стимулированного обучения, в том числе некоторые из новейших и зарекомендовавших себя наилучшим образом в учебной литературе. SageMaker поддерживает стимулированное обучение на многих платформах, включая TensorFlow и MXNet, а также более новых платформах, специально разработанных для стимулированного обучения, например Intel Coach и Ray RL. Поддерживается большое число сред для двухмерного и трехмерного физического моделирования, в том числе среды на базе интерфейса OpenGym с открытым исходным кодом. Кроме того, SageMaker RL позволяет обучать модели, используя виртуальные трехмерные среды, которые были созданы в Amazon Sumerian и Amazon RoboMaker. Для начала работы SageMaker предоставляет широкий ассортимент руководств и сборников примеров.

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

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

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

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

Ресурсы

Пошаговое руководство по созданию моделей машинного обучения

Изучите создание моделей машинного обучения в Amazon SageMaker.

Образцы блокнотов Amazon SageMaker

Получите доступ к репозиторию примеров блокнотов Amazon SageMaker на GitHub.

Создание защищенных сред машинного обучения
 
Изучите функции безопасности в Amazon SageMaker