Сегодня я сдал экзамен по специальности AWS ML. Моя подготовка длилась около двух месяцев, и у меня есть опыт работы в области Data Analytics / Data Science около 2,5 лет. Хотя большинство сервисов sagemaker были для меня совершенно новыми, экзамен состоял примерно из 50% вопросов из общих концепций машинного обучения, основанных на сценариях, и экзамен не должен быть трудным для тех, кто уже работает в области машинного обучения / науки о данных.

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

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

  1. Курс облачного гуру: https://learn.acloud.guru/course/aws-certified-machine-learning-specialty/dashboard
  2. Практические тесты от whizlabs: https://www.whizlabs.com/learn/course/aws-mls-practice-tests/
  3. Практические тесты от udamy: https://www.udemy.com/course/aws-machine-learning-practice-exam/learn/quiz/4713752#overview
  4. Заметки для разработчиков AWS sage и официальная документация, ссылки приведены ниже.

Преобразование данных

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

Автоматическая маркировка данных использует машинное обучение для автоматической маркировки частей ваших данных без необходимости отправлять их работникам.

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

Что такое AWS Data Pipeline?
AWS Data Pipeline - это веб-сервис, который можно использовать для автоматизации перемещения и преобразования данных. С помощью AWS Data Pipeline вы можете определять рабочие процессы на основе данных, чтобы задачи могли зависеть от успешного завершения предыдущих задач. Вы определяете параметры преобразования данных, а AWS Data Pipeline применяет установленную вами логику.

AWS Glue
AWS Data Pipeline - это веб-сервис, который можно использовать для автоматизации перемещения и преобразования данных. С помощью AWS Data Pipeline вы можете определять рабочие процессы на основе данных, чтобы задачи могли зависеть от успешного завершения предыдущих задач. Вы определяете параметры своих преобразований данных, и AWS Data Pipeline применяет установленную вами логику.
• При использовании AWS Glue FindMatches ML Transform файл маркировки должен быть закодирован как UTF-8 без спецификации. < br /> • AWS Glue DynamicFrame позволяет каждой записи иметь самоописание, что позволяет обрабатывать неизвестные или изменяющиеся схемы.

В настоящее время база данных документов не поддерживается в качестве входных данных для поисковых роботов AWS.

Ссылки:
https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/what-is-datapipeline.html
https: // docs .aws.amazon.com / sagemaker / latest / dg / cdf-training.html
https://docs.aws.amazon.com/sagemaker/latest/dg/sms-data-labeling.html

Алгоритмы:

Алгоритм линейного обучения

Линейные модели - это алгоритмы обучения с учителем, используемые для решения задач классификации или регрессии. Для ввода вы даете модели помеченные как примеры (x, y). x - это многомерный вектор, а y - числовая метка. Для задач двоичной классификации метка должна быть либо 0, либо 1. Для задач многоклассовой классификации метки должны быть от 0 до num_classes - 1. Для задач регрессии y - действительное число. Алгоритм изучает линейную функцию или, для задач классификации, линейную пороговую функцию и отображает вектор x в аппроксимацию метки y.

Лучшая модель оптимизирует одно из следующего:

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

Для обучения алгоритм линейного учащегося поддерживает форматы protobuf с оболочкой recordIO и CSV.

Для вывода, алгоритм линейного учащегося поддерживает форматы application / json, application / x-recordio-protobuf и text / csv.

Для регрессии (predictor_type = ’regressor’) оценка - это прогноз, созданный моделью. Для классификации (predictor_type = ’binary_classifier’ или predictor_type = ’multiclass_classifier’) модель возвращает оценку, а также predicted_label. Predicted_label - это класс, предсказанный моделью, а оценка измеряет силу этого предсказания.

Алгоритм нейронной тематической модели (NTM)

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

Алгоритм K-средних

K-means - это алгоритм обучения без учителя. Он пытается найти дискретные группировки в данных, где члены группы максимально похожи друг на друга и насколько возможно отличаются от членов других групп. Вы определяете атрибуты, которые должен использовать алгоритм для определения сходства.

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

Алгоритм произвольной резки леса (RCF)

Amazon SageMaker Random Cut Forest (RCF) - это неконтролируемый алгоритм для обнаружения аномальных точек данных в наборе данных. Это наблюдения, которые расходятся с хорошо структурированными или систематизированными данными. Аномалии могут проявляться как неожиданные всплески данных временных рядов, нарушения периодичности или неклассифицируемые точки данных. Их легко описать тем, что при просмотре на графике их часто легко отличить от «обычных» данных. Включение этих аномалий в набор данных может резко увеличить сложность задачи машинного обучения, поскольку «обычные» данные часто можно описать с помощью простой модели.

Алгоритм семантической сегментации

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

Алгоритм прогнозирования DeepAR

Алгоритм прогнозирования Amazon SageMaker DeepAR - это алгоритм обучения с учителем для прогнозирования скалярных (одномерных) временных рядов с использованием рекуррентных нейронных сетей (RNN). Классические методы прогнозирования, такие как авторегрессионное интегрированное скользящее среднее (ARIMA) или экспоненциальное сглаживание (ETS), позволяют подобрать одну модель для каждого отдельного временного ряда. Затем они используют эту модель для экстраполяции временных рядов в будущее.

Пошаговое обучение

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

Связано с Интернетом вещей

IoT Core собирает данные с каждого общего велосипеда, IoT Analytics извлекает сообщения с общих велосипедов по мере их потоковой передачи данных.

IoT Analytics также обогащает потоковые данные за счет ваших внешних источников данных.

AWS IoT Greengrass легко расширяет AWS на периферийные устройства, чтобы они могли локально воздействовать на генерируемые данные, продолжая использовать облако для управления, аналитики и надежного хранения. С AWS IoT Greengrass подключенные устройства могут запускать функции AWS Lambda, контейнеры Docker или и то, и другое, выполнять прогнозы на основе моделей машинного обучения, синхронизировать данные с устройств и безопасно обмениваться данными с другими устройствами, даже если они не подключены к Интернету.

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

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

Для обучения данные должны пройти ряд преобразований и преобразований, в том числе:
1. Сериализация обучающих данных (выполняется вами)
2. Десериализация обучающих данных (обрабатывается алгоритмом)
3. Сериализация обучающей модели (обрабатывается алгоритмом)
4. Десериализация обученной модели (необязательно, выполняется вами)

Ссылка:

Https://docs.aws.amazon.com/sagemaker/latest/dg/semantic-segmentation.html
https://docs.aws.amazon.com/sagemaker/latest/dg/randomcutforest. html
https://docs.aws.amazon.com/sagemaker/latest/dg/k-means.html
https://docs.aws.amazon.com/sagemaker/ latest / dg / ntm.html
https://docs.aws.amazon.com/sagemaker/latest/dg/linear-learner.html
https://docs.aws. amazon.com/sagemaker/latest/dg/deepar.html
https://aws.amazon.com/blogs/machine-learning/now-easily-perform-incremental-learning-on-amazon-sagemaker /
https://aws.amazon.com/greengrass/
https://aws.amazon.com/sagemaker/neo/

SageMaker

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

Развертывание модели на хостинг-сервисах Amazon SageMaker

  1. Создайте модель в Amazon SageMaker
  2. Создайте конфигурацию конечной точки для конечной точки HTTPS
  3. Создать конечную точку HTTPS

SageMaker Конвейеры вывода позволяет объединять и экспортировать этапы предварительной и постобработки из процесса обучения и развертывать их как часть конвейера вывода. Конвейеры вывода полностью управляются AWS.

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

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

Используйте пакетное преобразование, когда вам нужно сделать следующее:

  1. Предварительно обрабатывайте наборы данных, чтобы удалить шум или смещение, которые мешают обучению или выводам из вашего набора данных.
  2. Делайте выводы из больших наборов данных.
  3. Выполните логический вывод, когда вам не нужна постоянная конечная точка.
  4. Свяжите входные записи с выводами, чтобы облегчить интерпретацию результатов.

Поддерживает два типа прогнозов:

  1. Прогнозирование в реальном времени или прогнозирование синхронизации и требуется постоянная конечная точка. Сейчас он поддерживается в двух регионах: на востоке США и в регионах ЕС.
  2. Пакетное прогнозирование и не требует постоянной конечной точки

AWS Kinesis

AWS Kinesis имеет 4 сервиса:

  1. Потоки данных Kinesis: сегменты для переноса данных. Имеет уникальные ключи разделов. По умолчанию 1–500 шардов. Взаимодействие может осуществляться через библиотеку производителя (KPL), клиентскую библиотеку (KCL) или API (AWS SDK). Используется в основном, когда не требуется хранить данные, а требуется преобразование поверх данных или когда вы хотите передать данные другому сервису AWS. Срок хранения от 1 до 7 дней. Использует AWS KMS.
  2. Kinesis data firehose: инструмент ETL для хранения данных. Может быть предварительно обработан с помощью Lambda.
  3. Видеопотоки Kinesis: для потоковой передачи видео в облако
  4. Аналитика данных Kinesis: для выполнения SQL-запросов в реальном времени по потоковым данным.

Ссылка:

Https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html#ei-how-it-works
https://docs.aws.amazon.com/sagemaker/ latest / dg / how-it-works-hosting.html

Особая благодарность Баладжи Венктешу, он сдал экзамен за неделю до меня и очень помог мне в подготовке.