Маркировка данных AWS

Согласно AWS: «Amazon SageMaker Ground Truth помогает создавать наборы обучающих данных для машинного обучения».



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

Эта услуга очень важна для Data Scientist, так как она экономит много времени на маркировку.

AWS заявляет о трех преимуществах этой услуги:

  1. Снижение затрат на маркировку данных до 70%.
  2. Работа с государственными и частными лейблерами.
  3. Быстрое получение точных результатов.

Давайте рассмотрим этот процесс маркировки данных шаг за шагом на реальном примере.

Источники данных. В качестве примера данных для маркировки я использую данные Kaggle по классификации соревнований по классификации неискренних вопросов Quora. У него уже есть метка «цель», поэтому мы можем проверить качество маркировки данных SageMaker.



Подготовка входных данных:

Режим классификации текста по умолчанию Sagemaker требует данных в формате CSV одним фрагментом без каких-либо символов новой строки, таких как «/ n, / n / r, / n / n».

Я прикрепил скрипт записной книжки jupyter для подготовки и предварительной обработки данных здесь:



Шаги по развертыванию задания маркировки данных AWS SageMaker:

Я предполагаю, что вы уже создали учетную запись AWS и знаете, как создать корзину S3.

Шаг 1. Создайте корзину S3 и обязательно отключите параметр «Блокировать весь общедоступный доступ».

Шаг 2. Создайте папку с четко определенным именем и поместите в нее набор данных.

Здесь я использую test-quora-200-36c, потому что я случайным образом выбираю 200 образцов и использую 0,36 доллара США за данные в качестве цены.

Шаг 3. Перейдите на панель инструментов AWS SageMaker, нажмите «Пометка заданий» и нажмите «Создать задание по этикетированию».

Шаг 4: название задания, расположение набора входных и выходных данных, роль IAM и тип задачи.

Название вакансии: придумайте уникальное и значимое название.

Местоположение входного набора данных: это самый важный из них.

Нажмите «Создать файл манифеста», выберите «Текст», вставьте путь S3, в данном случае: s3: // test-label / test-quora-200–36c /

Нажмите «Создать» и подождите 1-2 минуты, автоматически будет создан файл манифеста, вы можете загрузить его и проверить, он находится в той же папке S3.

Выберите «Использовать этот манифест».

Расположение выходного набора данных: s3: // test-label / test-quora-200-36c /

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

Роль IAM: обязательно создайте роль IAM.

Тип задачи: выберите «Классификация текста» и нажмите «Далее».

Шаг 5: типы рабочих, цена за задачу, автоматическая маркировка данных и количество рабочих на объект набора данных.

Цена за задачу:

задачи низкой сложности: 0,012 $

Задачи средней сложности: от 0,024 до 0,24 доллара.

Задачи высокой сложности: от 0,36 до 1,2 доллара.

Если вы выполняете маркировку изображений, например «Кошка или Собака», тогда подойдет низкая стоимость сложности, но для классификации текста вы, вероятно, захотите выбрать среднюю или даже высокую стоимость сложности, чтобы получить данные высокого качества с маркировкой.

Количество рабочих процессов на объект набора данных:

Больше работников - больше затрат и больше согласованности:

Здесь я выбираю 0,36 доллара США и 3 рабочих, тогда это будет 1,08 доллара на стоимость данных.

В конце концов, это метка большинства голосов.

Шаг 6: Инструкции

Вы хотите написать как можно больше подробностей. Здесь копирую описание из Kaggle.



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

Шаг 7. Соберите результаты.

Выходной файл всегда находится в /manifests/output/output.manifest

Вы можете просто загрузить его с S3, изменив его на .json, потому что это файл json.

AWS Mechanical Turk потребовалось 15 минут, чтобы завершить работу по разметке 200 вопросов, что довольно быстро.

Давайте оценим качество данных, сравнив его с истинным значением.

Предварительная обработка выходных данных и проверка качества:

Я также прикрепил скрипт записной книжки jupyter для выполнения предварительной обработки данных и проверки качества здесь:



Вот показатели оценки:

У нас 10 ложноположительных и 13 ложноотрицательных. Неплохо! Если мы увеличим цену / этикетку, я уверен, что качество вырастет.

Спасибо!