Логотип Зефирнет

Иллюстративные блокноты в Amazon SageMaker JumpStart

Дата:

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

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

Недавно мы добавили 10 новых блокнотов в JumpStart в Студия Amazon SageMaker. Этот пост посвящен этим новым ноутбукам. На момент написания этой статьи JumpStart предлагает 56 блокнотов, начиная от использования самых современных моделей обработки естественного языка (NLP) и заканчивая исправлением ошибок в наборах данных при обучении моделей.

10 новых блокнотов могут помочь вам следующим образом:

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

Количество ноутбуков, предлагаемых через JumpStart, регулярно увеличивается по мере добавления новых ноутбуков. Эти блокноты также доступны на GitHub.

Обзор ноутбуков

Вот 10 новых блокнотов:

  • Контекстное обучение с AlexaTM 20B – Демонстрирует, как использовать AlexaTM 20B для контекстного обучения с нулевым и малократным обучением на пяти примерах задач: суммирование текста, генерация естественного языка, машинный перевод, извлекающие ответы на вопросы, а также вывод и классификация естественного языка.
  • Линейный обучающий модуль Fairness в SageMaker — Недавно возникли опасения по поводу предвзятости алгоритмов машинного обучения в результате имитации существующих человеческих предубеждений. В этой записной книжке применяются концепции справедливости для надлежащей корректировки прогнозов модели.
  • Управляйте экспериментами с машинным обучением с помощью SageMaker Search – Amazon SageMaker Search позволяет быстро находить и оценивать наиболее релевантные прогоны обучения моделей из потенциально сотен и тысяч заданий обучения моделей SageMaker.
  • Нейронная тематическая модель SageMaker – Нейронная тематическая модель SageMaker (NTM) — это алгоритм обучения без учителя, который пытается описать набор наблюдений как смесь различных категорий.
  • Прогнозировать нарушения скорости движения – Алгоритм SageMaker DeepAR можно использовать для одновременного обучения модели для нескольких улиц и прогнозирования нарушений для нескольких уличных камер.
  • Предсказание рака молочной железы – В этом блокноте используется набор диагностических данных UCI по раку молочной железы для построения прогностической модели того, указывает ли изображение опухоли молочной железы на доброкачественную или злокачественную опухоль.
  • Ансамбль прогнозов из нескольких моделей – Комбинируя или усредняя прогнозы из нескольких источников и моделей, мы обычно получаем улучшенный прогноз. Этот блокнот иллюстрирует эту концепцию.
  • Асинхронный вывод SageMaker — Асинхронный логический вывод — это новый вариант логического логического вывода для нужд логического логического вывода почти в реальном времени. Обработка запросов может занимать до 15 минут, а размер полезной нагрузки может достигать 1 ГБ.
  • TensorFlow приносит свою собственную модель — Узнайте, как локально обучить модель TensorFlow и развернуть ее в SageMaker с помощью этой записной книжки.
  • Scikit-learn создайте свою собственную модель — В этой записной книжке показано, как использовать предварительно обученную модель Scikit-learn с контейнером SageMaker Scikit-learn для быстрого создания размещенной конечной точки для этой модели.

Предпосылки

Чтобы использовать эти записные книжки, убедитесь, что у вас есть доступ к Studio с ролью выполнения, позволяющей запускать функции SageMaker. Короткое видео ниже поможет вам перейти к блокнотам JumpStart.

В следующих разделах мы рассмотрим каждое из 10 новых решений и обсудим некоторые их интересные детали.

Контекстное обучение с AlexaTM 20B

AlexaTM 20B — это многозадачная, многоязычная, крупномасштабная модель последовательности к последовательности (seq2seq), обученная на сочетании данных Common Crawl (mC4) и данных Википедии на 12 языках с использованием задач шумоподавления и моделирования причинно-следственных связей (CLM). Он обеспечивает самую современную производительность при выполнении общих задач языка в контексте, таких как однократное суммирование и однократный машинный перевод, превосходя только модели декодера, такие как Open AI GPT3 и Google PaLM, которые более чем в восемь раз больше.

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

В этой записной книжке показано, как развернуть AlexaTM 20B через API JumpStart и выполнить вывод. Он также демонстрирует, как AlexaTM 20B можно использовать для обучения в контексте с пятью примерами задач: резюмирование текста, генерация естественного языка, машинный перевод, ответы на вопросы по извлечению, а также вывод и классификация естественного языка.

Блокнот демонстрирует следующее:

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

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

Линейный обучающий модуль Fairness в SageMaker

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

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

Блокнот демонстрирует следующее:

  • Запуск стандартной линейной модели в наборе данных UCI для взрослых.
  • Демонстрация несправедливости в предсказаниях модели
  • Исправление данных для устранения предвзятости
  • Переподготовка модели

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

Управляйте экспериментами с машинным обучением с помощью SageMaker Search

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

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

Блокнот демонстрирует следующее:

  • Обучение линейной модели три раза
  • Использование SageMaker Search для организации и оценки этих экспериментов
  • Визуализация результатов в таблице лидеров
  • Развертывание модели в конечной точке
  • Отслеживание происхождения модели, начиная с конечной точки

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

Нейронная тематическая модель SageMaker

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

В этой записной книжке используется алгоритм SageMaker NTM для обучения модели на наборе данных 20NewsGroups. Этот набор данных широко использовался в качестве ориентира для тематического моделирования.

Блокнот демонстрирует следующее:

  • Создание обучающего задания SageMaker для набора данных для создания модели NTM
  • Использование модели для выполнения логических выводов с конечной точкой SageMaker
  • Изучение обученной модели и визуализация изученных тем

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

Прогнозировать нарушение скорости движения

В этой записной книжке демонстрируется прогнозирование временных рядов с использованием алгоритма SageMaker DeepAR путем анализа набора данных о нарушениях камеры контроля скорости в Чикаго. Набор данных размещается на Data.gov и управляется Администрацией общих служб США, Службой трансформации технологий.

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

Набор данных содержит несколько местоположений камер и количество ежедневных нарушений. Каждое ежедневное количество нарушений для камеры можно рассматривать как отдельный временной ряд. Вы можете использовать алгоритм SageMaker DeepAR для одновременного обучения модели для нескольких улиц и прогнозирования нарушений для нескольких уличных камер.

Блокнот демонстрирует следующее:

  • Обучение алгоритма SageMaker DeepAR на наборе данных временных рядов с использованием точечных экземпляров
  • Выводы на обученной модели для прогнозирования нарушений правил дорожного движения.

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

Предсказание рака молочной железы

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

Блокнот демонстрирует следующее:

  • Базовая настройка для использования SageMaker
  • Преобразование наборов данных в формат Protobuf, используемый алгоритмами SageMaker, и загрузка в Простой сервис хранения Amazon (Амазон С3)
  • Обучение модели линейного обучения SageMaker на наборе данных
  • Размещение обученной модели
  • Оценка с использованием обученной модели

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

Прогнозы ансамбля из нескольких моделей

В практических приложениях машинного обучения к задачам прогнозирования одной модели часто недостаточно. Большинство соревнований по прогнозированию обычно требуют объединения прогнозов из нескольких источников, чтобы получить улучшенный прогноз. Комбинируя или усредняя прогнозы из нескольких источников или моделей, мы обычно получаем улучшенный прогноз. Это происходит из-за значительной неопределенности в выборе модели и отсутствия единственной истинной модели во многих практических приложениях. Поэтому выгодно комбинировать прогнозы из разных моделей. В байесовской литературе эта идея называется усреднением байесовской модели, и было показано, что она работает намного лучше, чем просто выбор одной модели.

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

Блокнот демонстрирует следующее:

  • Подготовка блокнота SageMaker
  • Загрузка набора данных из Amazon S3 с помощью SageMaker
  • Исследование и преобразование данных, чтобы их можно было передать алгоритмам SageMaker.
  • Оценка модели с использованием алгоритма SageMaker XGBoost (Extreme Gradient Boosting)
  • Размещение модели в SageMaker для текущих прогнозов
  • Оценка второй модели с использованием метода линейного обучения SageMaker
  • Объединение прогнозов обеих моделей и оценка комбинированного прогноза
  • Генерация окончательных прогнозов на тестовом наборе данных

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

Асинхронный вывод SageMaker

Асинхронный вывод SageMaker — это новая возможность SageMaker, которая ставит входящие запросы в очередь и обрабатывает их асинхронно. В настоящее время SageMaker предлагает клиентам два варианта логического вывода для развертывания моделей машинного обучения: вариант в реальном времени для рабочих нагрузок с малой задержкой и пакетное преобразование, автономный вариант для обработки запросов логического вывода для пакетов данных, доступных заранее. Инференс в реальном времени подходит для рабочих нагрузок с размером полезной нагрузки менее 6 МБ и требует, чтобы запросы на инференс обрабатывались в течение 60 секунд. Пакетное преобразование подходит для автономного вывода по пакетам данных.

Асинхронный логический вывод — это новый вариант логического логического вывода для нужд логического логического вывода почти в реальном времени. Обработка запросов может занимать до 15 минут, а размер полезной нагрузки может достигать 1 ГБ. Асинхронный логический вывод подходит для рабочих нагрузок, которые не предъявляют требований к задержке в доли секунды и имеют более низкие требования к задержке. Например, вам может потребоваться обработать вывод на большом изображении размером в несколько МБ в течение 5 минут. Кроме того, конечные точки асинхронного вывода позволяют контролировать затраты, уменьшая количество экземпляров конечных точек до нуля, когда они не используются, поэтому вы платите только тогда, когда ваши конечные точки обрабатывают запросы.

Блокнот демонстрирует следующее:

  • Создание модели SageMaker
  • Создание конечной точки с использованием этой модели и конфигурации асинхронного вывода
  • Создание прогнозов для этой асинхронной конечной точки

В этой записной книжке показан рабочий пример создания асинхронной конечной точки для модели SageMaker.

TensorFlow приносит свою собственную модель

Модель TensorFlow обучается локально на задаче классификации, в которой выполняется эта записная книжка. Затем он развертывается на конечной точке SageMaker.

Блокнот демонстрирует следующее:

  • Локальное обучение модели TensorFlow на наборе данных IRIS
  • Импорт этой модели в SageMaker
  • Хостинг на конечной точке

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

Scikit-learn создайте свою собственную модель

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

Блокнот демонстрирует следующее:

  • Использование предварительно обученной модели Scikit-learn с контейнером SageMaker Scikit-learn для быстрого создания размещенной конечной точки для этой модели.

Если у вас есть модели Scikit-learn, которые вы разработали сами, этот пример записной книжки поможет вам разместить модель на управляемой конечной точке SageMaker.

Очистить ресурсы

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

Обзор

В этом посте вы познакомились с 10 новыми примерами блокнотов, которые недавно были добавлены в JumpStart. Хотя этот пост был посвящен этим 10 новым блокнотам, на момент написания этой статьи было доступно 56 блокнотов. Мы рекомендуем вам войти в Studio и самостоятельно изучить записные книжки JumpStart и начать извлекать из них немедленную пользу. Для получения дополнительной информации см. Студия Amazon SageMaker и SageMaker JumpStart.


Об авторе

Доктор Раджу Пенматча является специалистом по ИИ/МО, архитектором решений по платформам ИИ в AWS. Он получил докторскую степень в Стэнфордском университете. Он тесно сотрудничает с набором сервисов с низким/отсутствием кода в SageMaker, которые помогают клиентам легко создавать и развертывать модели и решения машинного обучения.

Spot_img

Последняя разведка

Spot_img

Чат с нами

Всем привет! Могу я чем-нибудь помочь?