При подготовке наборов данных для задач контролируемого машинного обучения на платформе Google Cloud AI Platform часто встречаются метаданные или аннотации, которые служат информационным или организационным целям для пользователей-людей, но не предназначены для влияния на процесс обучения модели машинного обучения. Правильное управление этими точками данных важно для предотвращения непреднамеренной утечки данных, поддержания воспроизводимости и обеспечения прозрачности набора данных как для машин, так и для пользователей-людей.
Понимание различий в маркировке данных
В контексте Google Cloud AI Data Labeling Service маркировка данных обычно означает процесс присвоения аннотаций наземным данным (например, изображениям, тексту или аудио), которые будут использоваться в качестве целевых объектов при обучении или оценке модели. Эти аннотации могут включать метки классов, ограничивающие рамки, маски сегментации или транскрипции, в зависимости от задачи.
Однако наборы данных часто содержат дополнительные поля или метаданные, которые представляют информационную ценность. Примеры:
– Комментарии или заметки рецензента
– Флаги контроля качества
– Понятные человеку описания или обоснования
– Идентификаторы аннотатора или рецензента
– Временные метки событий маркировки
– Оценка уверенности, введенная человеком, а не моделью
– Внутренние теги для управления рабочим процессом
Хотя эти атрибуты могут помочь в управлении данными, аудите или интерпретируемости, они не предназначены в качестве функций или целей для модели машинного обучения.
Стратегии маркировки нетренировочных данных
Чтобы гарантировать, что определенные аннотации не повлияют на обучение модели при использовании Google Cloud AI Platform, можно использовать несколько стратегий во время подготовки, хранения и приема наборов данных.
1. Проектирование и разделение схемы
Разработайте схему набора данных таким образом, чтобы поля, не используемые для обучения, были чётко отделены от признаков и меток. Например, если для хранения данных используются форматы CSV, JSONL или TFRecord, сгруппируйте поля в следующие группы:
– Требования: Используется в качестве входных данных для модели
– Ярлыки: Используется в качестве наземного эталона для контролируемого обучения
– Метаданные: Используется для справки или рабочего процесса
Пример (формат JSONL):
json
{
"image_uri": "gs://bucket/path/image1.jpg",
"label": "cat",
"annotator_comment": "Blurry image, but still recognizable.",
"reviewer_id": "user_23",
"created_at": "2023-04-12T10:23:34Z"
}
В этом примере для обучения модели будут использоваться только `image_uri` и `label`. `annotator_comment`, `reviewer_id` и `created_at` — это поля метаданных для использования человеком.
2. Использование пользовательских полей аннотаций
В сервисе маркировки данных Google Cloud AI Data Labeling Service можно определить настраиваемые поля аннотаций. Эти поля можно пометить для внутреннего использования и не экспортировать в составе обучающего набора данных. Например, инструмент позволяет создавать инструкции для конкретных задач и настраиваемые атрибуты, которые помогают специалистам по маркировке, но не экспортируются в конечную схему набора данных, используемого для обучения модели.
3. Явное исключение при экспорте
При экспорте размеченных наборов данных из сервиса Google Cloud AI Data Labeling Service настройте параметры экспорта, чтобы исключить поля метаданных, не предназначенные для обучения. Платформа позволяет выбирать конкретные поля аннотаций для включения в экспортируемый набор данных, обеспечивая четкое разделение обучающих данных и вспомогательной информации.
4. Фильтрация конвейера приема данных
В конвейере приема данных, передающем данные в процесс обучения (например, Dataflow, Apache Beam, пользовательские скрипты Python), используйте явную фильтрацию, чтобы гарантировать передачу только релевантных полей в задачу обучения. Это можно сделать, указав, какие столбцы следует считывать из набора данных, или преобразовав набор данных в формат (например, примеры TensorFlow, CSV только со столбцами признаков/меток), исключающий метаданные.
Пример (псевдокод Python):
{{EJS4}}5. Документация и контракты на данные
Ведите чёткую документацию данных или контракты на данные, определяющие, какие поля используются для обучения модели, а какие предназначены исключительно для информационных целей. Это помогает как текущим, так и будущим заинтересованным сторонам понимать предназначение каждого поля, минимизируя риск непреднамеренного включения нерелевантных данных в процесс обучения.
Варианты использования и примеры
Рассмотрим задачу классификации изображений, в которой маркировщикам предлагается классифицировать изображения как «кошки» или «собаки» и прокомментировать любые неясности, с которыми они столкнутся. "метка" поле – это истина, которую модель научится предсказывать. "комментарий" Область предназначена для аудита и проверки, помогая специалистам по работе с данными понять проблемы или неоднозначности маркировки. "annotator_id" Поле помогает отслеживать, кто разметил каждое изображение для контроля качества. Если поля «comment» или «annotator_id» включены в качестве признаков во время обучения модели, модель может непреднамеренно выучить закономерности, основанные на поведении или комментариях аннотатора, что приведет к утечке данных и снижению обобщения. Изолируя эти поля и обеспечивая использование только «label» в качестве целевого объекта, а также использование только релевантных признаков (например, пикселов изображения) в качестве входных данных модели, сохраняется целостность процесса обучения.
Предотвращение утечки данных
Утечка данных происходит, когда информация, которая не была бы доступна на момент прогнозирования, включается в обучающие данные, что приводит к чрезмерно оптимистичной работе модели во время обучения и оценки, но к плохому обобщению в процессе производства. Включение полей, предназначенных только для пользователя (например, комментариев рецензентов или внутренних тегов), в качестве признаков модели является распространённым источником утечки данных. Этот риск можно снизить следующими способами: - строгий анализ данных перед обучением; - автоматизированная проверка схемы и проверка конвейера; - постоянное обучение специалистов по инжинирингу данных и анализу данных рискам утечки.
Рекомендации по сервису маркировки данных Google Cloud AI
- Конфигурация задачи: При настройке задачи маркировки определите, какие поля будут использоваться в качестве меток для обучения модели, а какие — для вспомогательных целей. Шаблоны экспорта: Настройте шаблоны экспорта, чтобы гарантировать включение только соответствующего подмножества полей в набор данных, используемый для последующих задач обучения. Контроль доступа: При необходимости используйте политики Google Cloud IAM для ограничения доступа к полям конфиденциальных метаданных, особенно если метаданные включают персональные данные (PII) или другой конфиденциальный контент. Управление версиями данных: Создавайте версии как необработанных маркированных данных, так и отфильтрованных обучающих наборов данных, чтобы обеспечить воспроизводимость и прослеживаемость.
Хранение и отслеживание метаданных
Хотя поля метаданных не следует включать в обучение модели, они могут быть полезны для: Аудит: Отслеживание качества маркировки, проверка работы отдельных этикетировщиков или расследование несоответствий маркировки. Управление рабочим процессом: Управление ходом маркировки, назначение задач или отслеживание статуса проверки. Анализ ошибок: Понимание ошибок модели в контексте сложных случаев маркировки. Платформа Google Cloud AI поддерживает хранение таких полей метаданных в таблицах BigQuery или в составе исходных файлов в Cloud Storage, отдельно от наборов данных, передаваемых в сервисы Vertex AI или AutoML.
Пример: экспорт аннотаций сервиса маркировки данных Cloud AI
Типичный экспорт аннотации для задачи классификации изображений может выглядеть как следующий объект JSON:
json
{
"input_gcs_uri": "gs://bucket/images/img1.jpg",
"classification_annotations": [
{
"display_name": "cat"
}
],
"annotation_metadata": {
"labeler_notes": "Blurry but likely a cat.",
"created_by": "labeler_123",
"timestamp": "2023-04-12T10:23:34Z"
}
}
В этом примере в качестве метки истинности для обучения используется только поле `classification_annotations`. Объект `annotation_metadata` предназначен для использования человеком и должен быть исключен из обучающего набора данных.
Управление данными в Vertex AI
При использовании Vertex AI в Google Cloud наборы данных часто регистрируются на платформе, а управление схемой осуществляется явно. Vertex AI позволяет пользователям определять, какие столбцы используются как признаки, а какие — как метки. Метаданные или вспомогательные столбцы могут быть включены в набор данных для справки, но не должны быть отмечены как признаки или метки в конфигурации модели.
Лучшие практики
1. Четкое разделение обучающих данных и метаданных: Поддерживайте отдельные определения хранилищ и схем для данных, предназначенных для использования моделью, и для полей, предназначенных только для человека.
2. Автоматическая фильтрация: Используйте автоматизированные инструменты или скрипты для фильтрации необучаемых полей перед передачей данных в обучающий конвейер.
3. Использование данных документа: Ведите полную документацию для каждого набора данных, объясняя роль каждого поля.
4. Проверка и проверка схемы: Перед каждым запуском обучения проверяйте схему набора данных, чтобы убедиться, что включены только предполагаемые поля.
5. Включить прослеживаемость: Сохраняйте необработанные данные и метаданные доступными для аудита, но обеспечьте передачу в обучение только отфильтрованных данных.
Правильное управление маркировкой данных для полей, не влияющих на обучение модели, является ключевым аспектом построения надежных конвейеров машинного обучения на платформе Google Cloud AI Platform. Разработка четких схем данных, использование явных механизмов экспорта и фильтрации, а также ведение подробной документации позволяют гарантировать, что на модель будут влиять только допустимые данные для обучения, сохраняя при этом ценные метаданные для использования человеком. Соблюдение этих правил помогает предотвратить утечку данных, обеспечивает воспроизводимость и повышает надежность и удобство обслуживания рабочих процессов машинного обучения.
Другие недавние вопросы и ответы, касающиеся Сервис маркировки данных Cloud AI:
- Каким образом служба маркировки данных на основе ИИ гарантирует отсутствие предвзятости маркировщиков?
- Каким образом следует маркировать данные, связанные с прогнозированием временных рядов, где результатом являются последние x элементов в данной строке?
- Каков рекомендуемый подход к увеличению количества заданий по маркировке данных, чтобы обеспечить наилучшие результаты и эффективное использование ресурсов?
- Какие меры безопасности используются для защиты данных во время процесса маркировки в службе маркировки данных?
- Как служба маркировки данных обеспечивает высокое качество маркировки, когда задействовано несколько маркировщиков?
- Какие типы задач маркировки поддерживаются службой маркировки данных для изображений, видео и текстовых данных?
- Какие три основных ресурса необходимы для создания задачи маркировки с помощью службы маркировки данных?

