Создание

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

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

Подробнее

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

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

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

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

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

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) Популярная нейронная сеть для разработки систем классификации изображений.
Аналитика IP-адресов Алгоритм обнаружения злоумышленников или изучения шаблонов использования IP-адресов.
Кластеризация методом k-средних Это один из простейших алгоритмов машинного обучения. Он используется для поиска групп среди неразмеченных данных.
Метод k-ближайших соседей (k-NN) Основанный на индексах алгоритм решения проблем классификации и регрессии.

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

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

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

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

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

Поддержка стимулированного обучения с помощью Amazon SageMaker RL

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

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

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

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

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

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

Контейнеры 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, может значительно сократить время и стоимость обучения. 

Управляемое спотовое обучение

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

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

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

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

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

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

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

Однократное обучение и многократное использование

Amazon SageMaker Neo позволяет обучить модели машинного обучения однократно, а затем запускать их где угодно в облаке и на периферии. Как правило, оптимизировать модели машинного обучения для выполнения на разных платформах очень сложно, поскольку разработчикам приходится вручную адаптировать модели для аппаратных и программных конфигураций каждой платформы. Neo ускоряет и упрощает этот процесс благодаря автоматической оптимизации моделей TensorFlow, MXNet, PyTorch, ONNX и XGBoost для развертывания на современных процессорах ARM, Intel и Nvidia, а вскоре будет реализована и поддержка оборудования Cadence, Qualcomm и Xilinx. Доступ к SageMaker Neo можно осуществлять с консоли SageMaker, а для создания модели, оптимизированной для соответствующего облачного инстанса или периферийного устройства, достаточно нескольких щелчков. Оптимизированные модели выполняются до двух раз быстрее и потребляют менее сотой части ресурсов хранения по сравнению с традиционными моделями. 

Подробнее

Возможность отслеживания моделей

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

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

Благодаря отслеживанию моделей Amazon SageMaker можно найти наиболее оптимальные, выполнив поиск по ключевым атрибутам, таким как используемый алгоритм, значения параметров и любые пользовательские теги. С помощью пользовательских тегов можно находить модели, подготовленные для конкретного проекта или созданные конкретной группой специалистов по работе с данными. Отфильтрованные таким образом модели можно каталогизировать или разделять на категории. Кроме того, можно быстро сравнивать и оценивать тренировочные прогоны по метрикам эффективности, таким как потери при обучении или точность проверок. Наконец, возможность отслеживания моделей позволяет быстро отследить полное происхождение модели, развернутой в рабочей среде – вплоть до набора данных, используемого в обучении или проверке модели.

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

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

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

Fully-managed Hosting with Auto Scaling

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

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

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

 

Каналы генерирования логических выводов

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

 

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

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