По мере того, как все больше организаций переходят на машинное обучение (ML) для получения более глубокой информации, они сталкиваются с двумя ключевыми камнями преткновения, которые возникают при маркировке и управлении жизненным циклом. Маркировка — это идентификация данных и добавление меток для обеспечения контекста, чтобы модель ML могла учиться на них. Метки могут обозначать фразу в аудиофайле, автомобиль на фотографии или орган на МРТ. Маркировка данных необходима, чтобы модели машинного обучения могли работать с данными. Управление жизненным циклом связано с процессом настройки эксперимента ML и документированием набора данных, библиотеки, версии и модели, используемых для получения результатов. Команда может провести сотни экспериментов, прежде чем остановиться на одном подходе. Возвращение назад и воссоздание этого подхода может быть затруднено без записи элементов этого эксперимента.
Многие примеры и руководства по машинному обучению начинаются с набора данных, включающего целевое значение. Однако реальные данные не всегда имеют такое целевое значение. Например, при анализе настроений человек обычно может судить о том, является ли отзыв положительным, отрицательным или смешанным. Но рецензии состоят из набора текстов, которым не придается никакой ценности с точки зрения суждения. Чтобы создать контролируемое обучение Чтобы решить эту проблему, необходим высококачественный размеченный набор данных. Amazon SageMaker - основа правды — это полностью управляемая служба маркировки данных, которая упрощает создание высокоточных обучающих наборов данных для машинного обучения.
Для организаций, которые используют Databricks в качестве своей платформы данных и аналитики на AWS для выполнения задач извлечения, преобразования и загрузки (ETL), конечной целью часто является обучение модели контролируемого обучения. В этом посте мы покажем, как Databricks интегрируется с Ground Truth и Создатель мудреца Амазонки для маркировки данных и распространения модели.
Обзор решения
Ground Truth — это полностью управляемый сервис маркировки данных, который упрощает создание высокоточных обучающих наборов данных для машинного обучения. С помощью консоли Ground Truth мы можем создавать собственные или встроенные рабочие процессы маркировки данных за считанные минуты. Эти рабочие процессы поддерживают множество вариантов использования, включая 3D-облака точек, видео, изображения и текст. Кроме того, Ground Truth предлагает автоматическую маркировку данных, которая использует модель машинного обучения для маркировки наших данных.
Мы обучаем нашу модель на общедоступном наборе данных Amazon Customer Reviews. На высоком уровне шаги следующие:
- Извлеките необработанный набор данных для маркировки и переместите его в Простой сервис хранения Amazon (Amazon S3).
- Выполните маркировку, создав задание маркировки в SageMaker.
- Создайте и обучите простую линейную модель Scikit-learn для классификации тональности текста отзыва на платформе Databricks с использованием образца. ноутбук.
- Используйте Млфлоу компоненты для создания и выполнения MLOps и сохранения артефактов модели.
- Разверните модель как конечную точку SageMaker, используя Библиотека MLflow SageMaker для вывода в реальном времени.
Следующая диаграмма иллюстрирует процесс маркировки и машинного обучения с использованием Ground Truth и MLflow.
Создание задания маркировки в SageMaker
Из набора данных Amazon Customer Reviews мы извлекаем только текстовые части, потому что мы строим модель анализа настроений. После извлечения мы помещаем текст в корзину S3, а затем создаем задание маркировки Ground Truth через консоль SageMaker.
На Создать работу по маркировке страницу, заполните все необходимые поля. В рамках шага на этой странице Ground Truth позволяет создать файл манифеста задания. Ground Truth использует входной файл манифеста для определения количества файлов или объектов в задании маркировки, чтобы создать нужное количество задач и отправить их людям (или машинам) маркировщикам. Файл автоматически сохраняется в корзине S3. Следующим шагом является указание категории задачи и выбора задачи. В этом случае мы выбираем Текст как категория задачи, и Классификация текста с одной меткой для выбора задачи, что означает, что текст отзыва будет иметь одну тональность: положительную, отрицательную или нейтральную.
Наконец, мы пишем простые, но краткие инструкции для маркировщиков о том, как маркировать текстовые данные. Инструкции отображаются в инструменте маркировки, и в это время вы можете дополнительно просмотреть представление комментатора. Наконец, мы отправляем задание и следим за ходом выполнения на консоли.
Пока выполняется задание по маркировке, мы также можем просмотреть помеченные данные на Результат вкладка Мы можем отслеживать каждый текст отзыва и метку, а также выполнять ли работу человек или машина. Мы можем выбрать, чтобы 100% работ по маркировке выполнялись людьми, или выбрать машинную аннотацию, что ускоряет работу и снижает трудозатраты.
По завершении задания сводка задания по маркировке содержит ссылки на выходной манифест и помеченный набор данных. Мы также можем перейти на Amazon S3 и загрузить оба из нашей папки корзины S3.
На следующих шагах мы используем блокнот Databricks, Млфлоу, и наборы данных, помеченные Ground Truth, чтобы построить Scikit учиться модели.
Загрузите помеченный набор данных из Amazon S3.
Начнем с загрузки помеченного набора данных с Amazon S3. Манифест сохраняется в формате JSON, и мы загружаем его в Spark DataFrame в Databricks. Для обучения модели анализа тональности нам нужен только текст отзыва и тональность, которые были аннотированы заданием маркировки Ground Truth. Мы используем select() для извлечения этих двух функций. Затем мы конвертируем набор данных из PySpark DataFrame в Pandas DataFrame, потому что для алгоритма обучения Scikit требуется формат Pandas DataFrame.
Далее мы используем Scikit-learn CountVectorizer
преобразовать текст отзыва в вектор биграммы, установив ngram_range
максимальное значение до 2. CountVectorizer
преобразует текст в матрицу количества токенов. Затем мы используем TfidfTransformer
для преобразования вектора биграммы в формат термина, обратного частоте документа (TF-IDF).
Мы сравниваем показатели точности обучения, выполненного с помощью вектора биграммы, и биграммы с TF-IDF. TF-IDF — это статистическая мера, которая оценивает, насколько релевантно слово документу в наборе документов. Поскольку текст обзора, как правило, относительно короткий, мы можем наблюдать, как TF-IDF влияет на производительность прогностической модели.
Настройте эксперимент MLflow
MLflow был разработан Databricks и в настоящее время является проект с открытым исходным кодом. MLflow управляет жизненным циклом машинного обучения, поэтому вы можете легко отслеживать, воссоздавать и публиковать эксперименты.
Для настройки экспериментов MLflow мы используем mlflow.sklearn.autolog()
чтобы включить автоматическую регистрацию гиперпараметров, метрик и артефактов модели всякий раз, когда estimator.fit()
, estimator.fit_predict()
, и estimator.fit_transform()
называются. Кроме того, вы можете сделать это вручную, вызвав mlflow.log_param()
и mlflow.log_metric()
.
Мы подгоняем преобразованный набор данных к линейному классификатору со стохастическим градиентным спуском (SGD). С SGD градиент потерь оценивается по одной выборке за раз, и модель обновляется по пути с уменьшением графика прочности.
Те два набора данных, которые мы подготовили ранее, передаются в train_and_show_scores()
функция для обучения. После обучения нам нужно зарегистрировать модель и сохранить ее артефакты. Мы используем mlflow.sklearn.log_model()
чтобы сделать это.
Перед развертыванием мы смотрим на результаты эксперимента и выбираем два эксперимента (один для биграммы, а другой для биграммы с TF-IDF) для сравнения. В нашем случае вторая модель, обученная с помощью bigram TF-IDF, работала немного лучше, поэтому мы выбираем эту модель для развертывания. После того, как модель зарегистрирована, мы развертываем модель, меняя этап модели на производство. Мы можем выполнить это в пользовательском интерфейсе MLflow или в коде, используя transition_model_version_stage()
.
Разверните и протестируйте модель в качестве конечной точки SageMaker.
Перед развертыванием обученной модели нам необходимо создать контейнер Docker для размещения модели в SageMaker. Мы делаем это, запуская простую команду MLflow, которая создает и отправляет контейнер в Реестр Amazon Elastic Container (Amazon ECR) в нашей учетной записи AWS.
Теперь мы можем найти URI изображения в консоли Amazon ECR. Мы передаем URI изображения как image_url
параметр и использовать DEPLOYMENT_MODE_CREATE
для параметра режима, если это новое развертывание. При обновлении существующей конечной точки новой версией используйте DEPLOYMENT_MODE_REPLACE
.
Чтобы протестировать конечную точку SageMaker, мы создаем функцию, которая принимает в качестве параметров имя конечной точки и входные данные.
Заключение
В этом посте мы показали вам, как использовать Ground Truth для маркировки необработанных наборов данных и использовать помеченные данные для обучения простого линейного классификатора с помощью Scikit-learn. В этом примере мы используем MLflow для отслеживания гиперпараметров и показателей, регистрации модели производственного уровня и развертывания обученной модели в SageMaker в качестве конечной точки. Наряду с Databricks для обработки данных вы можете автоматизировать весь этот вариант использования, чтобы по мере ввода новых данных их можно было пометить и обработать в модели. Автоматизируя эти пайплайны и модели, специалисты по обработке и анализу данных могут сосредоточиться на новых сценариях использования и получить больше информации вместо того, чтобы тратить свое время на ежедневное управление обновлениями данных.
Для начала ознакомьтесь с Используйте Amazon SageMaker Ground Truth для маркировки данных и подписаться на 14-дневная бесплатная пробная версия Databricks на AWS. Чтобы узнать больше о том, как Databricks интегрируется с SageMaker, а также с другими сервисами AWS, такими как Клей AWS и Амазонка RedshiftНа сайте Блоки данных на AWS.
Кроме того, ознакомьтесь со следующими ресурсами, использованными в этом посте:
Используйте следующее ноутбук чтобы начать работу.
Об авторах
Руми Олсен является архитектором решений в партнерской программе AWS. На своей текущей должности она специализируется на бессерверных решениях и решениях для машинного обучения, а также имеет опыт работы с технологиями обработки естественного языка. Она проводит большую часть своего свободного времени со своей дочерью, исследуя природу Тихоокеанского Северо-Запада.
Игорь Алексеев — архитектор партнерских решений в AWS в области данных и аналитики. Игорь работает со стратегическими партнерами, помогая им создавать сложные архитектуры, оптимизированные для AWS. До прихода в AWS в качестве архитектора данных/решений он реализовал множество проектов в области больших данных, в том числе несколько озер данных в экосистеме Hadoop. В качестве инженера по обработке данных он занимался применением ИИ/МО для обнаружения мошенничества и автоматизации делопроизводства. Проекты Игоря были в различных отраслях, включая связь, финансы, общественную безопасность, производство и здравоохранение. Ранее Игорь работал full stack инженером/техлидом.
Насир Ахмед является старшим архитектором партнерских решений в компании Databricks, поддерживающей ее бизнес AWS. Насир специализируется на хранении данных, бизнес-аналитике, разработке приложений, контейнерах, бессерверных технологиях и архитектурах машинного обучения на AWS. На Databricks он был признан лучшим малым и средним бизнесом 2021 года и является заядлым криптоэнтузиастом.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/build-an-mlops-sentiment-analysis-pipeline-using-amazon-sagemaker-ground-truth-and-databricks-mlflow/
- "
- 100
- 2021
- 3d
- О нас
- Учетная запись
- точный
- дополнение
- алгоритм
- Все
- Amazon
- анализ
- аналитика
- приложение
- Разработка приложений
- Применение
- подхода
- аудио
- автоматический
- автоматизация
- доступен
- AWS
- фон
- основа
- Big Data
- строить
- Строительство
- строит
- встроенный
- бизнес
- бизнес-аналитика
- автомобиль
- случаев
- Категории
- Выберите
- классификация
- код
- лыжных шлемов
- Связь
- комплекс
- Консоли
- Container
- содержит
- Расходы
- создали
- Создающий
- крипто-
- Текущий
- изготовленный на заказ
- данным
- наука о данных
- более глубокий
- развертывание
- развертывание
- развертывание
- обнаружение
- развитый
- Разработка
- трудный
- распределение
- Docker
- Документация
- не
- управлять
- легко
- экосистема
- включить
- Конечная точка
- инженер
- существенный
- По оценкам,
- пример
- эксперимент
- Особенности
- Поля
- в заключение
- финансы
- соответствовать
- Фокус
- после
- формат
- мошенничество
- Бесплатно
- полный
- функция
- порождать
- цель
- будет
- здравоохранение
- High
- очень
- Как
- How To
- HTTPS
- человек
- Людей
- Сотни
- Идентификация
- определения
- изображение
- в XNUMX году
- В том числе
- промышленности
- вход
- размышления
- Интеллекта
- вовлеченный
- IT
- работа
- Джобс
- Основные
- маркировка
- Этикетки
- труд
- язык
- вести
- УЧИТЬСЯ
- изучение
- уровень
- Библиотека
- связи
- загрузка
- машина
- обучение с помощью машины
- сделанный
- ДЕЛАЕТ
- управляемого
- управление
- управления
- вручную
- производство
- матрица
- проводить измерение
- Метрика
- смешанный
- ML
- модель
- Модели
- монитор
- БОЛЕЕ
- самых
- двигаться
- натуральный
- природа
- ноутбук
- номер
- Предложения
- заказ
- организации
- Другие контрактные услуги
- Тихий океан
- партнер
- партнеры
- производительность
- человек
- Платформа
- Точка
- положительный
- Проблема
- процесс
- Производство
- FitPartner™
- проектов
- обеспечивать
- что такое варган?
- публиковать
- Сырье
- реального времени
- учет
- зарегистрироваться
- зарегистрированный
- соответствующие
- обязательный
- Полезные ресурсы
- Итоги
- обзоре
- Отзывы
- Run
- Бег
- Сохранность
- Наука
- настроение
- Serverless
- обслуживание
- Услуги
- набор
- установка
- Короткое
- просто
- So
- Решение
- Решения
- РЕШАТЬ
- специализируется
- Расходы
- стек
- Этап
- Начало
- и политические лидеры
- статистический
- диск
- Стратегический
- поддержка
- поддержки
- цель
- задачи
- команда
- технологии
- тестXNUMX
- Через
- время
- знак
- инструментом
- трек
- Обучение
- Transform
- суд
- учебные пособия
- ui
- окончательный
- открывай
- Updates
- использование
- обычно
- ценностное
- разнообразие
- Видео
- Вид
- будь то
- без
- Работа
- работавший
- работает
- год