Amazon MLS-C01: Инженерия данных и инженерия признаков — Руководство по подготовке

Часть AWS Machine Learning Specialty MLS-C01 — Руководство по подготовке. Практикуйтесь с проверенными ответами в центре экзаменов Amazon, или пройдите тесты на время на ExamRoll.io.

Приём, хранение данных и форматы файлов

Проектирование озера данных, готового для машинного обучения, начинается с выбора правильного шаблона приёма данных и формата для их постоянного хранения. Для телеметрии в реальном времени используйте Kinesis Data Streams (обработка с низкой задержкой) или Kinesis Data Firehose (управляемая доставка). Firehose может доставлять данные напрямую в Amazon S3 и выполнять преобразование формата записей на стороне сервера в Parquet/ORC при использовании совместно с AWS Glue Schema Registry и Lambda-преобразованием; выбирайте Data Streams + Kinesis Data Analytics или Lambda, если вам требуется кастомное обогащение данных или время отклика менее секунды. Для массовой миграции используйте AWS DataSync, Database Migration Service (DMS) для источников RDS/OLTP или Snowball для офлайн-переноса данных терабайтного масштаба. В S3 храните данные в колоночном формате Parquet для аналитических нагрузок (проталкивание предиката, сжатие типа Snappy, ключи партиционирования, настроенные под шаблоны запросов) и в формате TFRecord при подаче данных в конвейеры TensorFlow для высокопроизводительного последовательного чтения. Остерегайтесь проблемы множества мелких файлов: буферизуйте запись (буферизация в Firehose, батчинг в Glue), чтобы создавать объекты S3 размером, подходящим для фреймворков больших данных (десятки-сотни МБ). Эволюция схемы — обычное явление: используйте Glue Catalog и Schema Registry для версионирования схем; применяйте партиционирование и соглашения об именовании, чтобы избежать дорогостоящих полных сканирований таблиц. Распространенная ошибка — использование режима File mode при последующей обработке, который копирует целые наборы данных на вычислительные узлы; предпочитайте потоковую передачу (SageMaker Pipe mode), Redshift Spectrum или Athena вместо полного копирования, когда наборы данных содержат миллионы записей.

Бессерверный и кластерный ETL: Glue, EMR, Redshift и SageMaker

Выбор ETL-инструмента зависит от масштаба, возможностей кастомизации, профиля затрат и требований к библиотекам. AWS Glue предоставляет бессерверный Spark ETL с каталогизацией, краулерами и встроенной оркестрацией заданий — это отличный выбор для частых, управляемых событиями преобразований, где требуется управляемое масштабирование. EMR предпочтительнее, когда вам нужны кастомные экосистемы Spark/Hadoop, долго работающие кластеры или специализированные библиотеки (GraphX, кастомные сборки MLlib), и вы можете использовать S3 в качестве базового озера данных. Для аналитики без загрузки данных используйте Redshift Spectrum или Athena для выполнения запросов к Parquet/ORC напрямую в S3; Redshift лучше подходит для сложных соединений и BI-нагрузок. Для подготовки данных для моделей задания SageMaker Processing предоставляют управляемые контейнеры для выполнения масштабируемой предварительной обработки на Spark или Python, гарантируя, что код предобработки выполняется в той же среде, что и обучение, и может версионироваться вместе с заданием обучения. При запуске обучения в SageMaker со встроенными алгоритмами укажите как минимум образ для обучения, IAM-роль, тип/количество инстансов и URI в S3 для обучающих данных; рассмотрите использование режима Pipe mode для потоковой передачи записей и избежания копирования на EBS для наборов данных с миллионами записей. Распространенные ошибки: выбор Glue для преобразований с чрезвычайно низкой задержкой (вместо этого используйте Lambda/Kinesis) или ненужное копирование данных из S3 в HDFS/EBS, когда достаточно было бы использовать Redshift Spectrum/Athena.

Инжиниринг признаков, конвейеры преобразования и отбор

Инжиниринг признаков (feature engineering) должен быть воспроизводимым и изолированным от утечки данных. Реализуйте предобработку в виде конвейеров промышленного уровня (scikit-learn Pipeline, конвейеры Spark ML или SageMaker Processing + Feature Store), чтобы на этапах обучения и вывода применялись идентичные преобразования. Обрабатывайте пропущенные значения, выбирая стратегию: простая импутация (среднее/медиана/мода) для небольших пропусков; методы на основе моделей (KNN, итеративный MICE), когда другие признаки могут предсказать пропущенные значения. Масштабируйте числовые признаки с помощью StandardScaler или MinMax для моделей, основанных на градиенте; применяйте робастное масштабирование, если преобладают выбросы. Для категориальных переменных выбирайте one-hot encoding для низкой кардинальности, target encoding или обучаемые эмбеддинги для категорий с высокой кардинальностью (используйте Embeddings в глубоких моделях или хэширование признаков для контроля размерности). Для текста выполняйте последовательную нормализацию (нижний регистр, пунктуация, токенизация); используйте Word2Vec/BlazingText для получения эмбеддингов или TF-IDF/разреженные конвейеры для линейных моделей; BlazingText в SageMaker поддерживает skip-gram/CBoW и эффективен в больших масштабах. Для отбора признаков используйте L1-регуляризацию, важность признаков на основе деревьев (XGBoost/RandomForest), взаимную информацию или рекурсивное исключение признаков, и всегда выполняйте отбор признаков внутри фолдов кросс-валидации, чтобы избежать смещения при отборе. Самая большая практическая ловушка — это утечка данных (leakage): никогда не создавайте признаки, используя информацию о будущем значении целевой переменной, и не применяйте предобработку ко всему набору данных до его разделения.

Безопасность, контроль доступа, управление и операционный мониторинг

Безопасная и аудируемая инженерия данных является обязательным требованием. Шифруйте данные в состоянии покоя с помощью SSE-KMS для S3 и томов EBS и используйте шифрование на стороне клиента для дополнительного контроля; управляйте ключами с помощью CMK в AWS KMS и используйте политики ключей и гранты для реализации принципа наименьших привилегий. Ограничьте доступ к наборам данных в S3 пределами VPC, используя конечную точку VPC для S3 и точные политики бакетов или S3 Access Points, ограниченные субъектом VPC; совмещайте это с IAM-ролями, прикрепленными к SageMaker, Glue, EMR или Lambda, чтобы обеспечить наименьшие привилегии. Для конфиденциальных PII используйте токенизацию или шифрование на уровне полей и убедитесь, что KMS ротирует ключи в соответствии с политикой. В операционной деятельности включите CloudTrail для логирования активности API SageMaker и Glue, а также CloudWatch для сбора метрик заданий; используйте SageMaker Model Monitor для обнаружения смещения данных (drift) и настройте оповещения для переобучения или проверки моделей на предвзятость (bias). Управление данными (data governance) требует использования Glue Data Catalog или корпоративного хранилища метаданных, отслеживания происхождения данных (data lineage) и тегирования для политик жизненного цикла; реализуйте правила жизненного цикла S3 (перемещение в Glacier) для холодных данных. Распространенные заблуждения включают предположение, что одних только групп безопасности достаточно (вам также нужны IAM, политики бакетов и конечные точки VPC), или забывчивость включить шифрование на томах обучающих инстансов — всегда включайте шифрование EBS в определения заданий обучения и проверяйте доступ с помощью ролей с наименьшими привилегиями.

Практическая задача: Пример использования

Сценарий: MetroRetail использует ML-среду в AWS, где кликстрим клиентов поступает в Kinesis Data Streams, хранится в S3, а модели обучаются в SageMaker. Озеро данных использует Glue Catalog и Athena для аналитиков.

Задача: Преобразовать потоковые события кликов в формате CSV в Parquet в S3 с поддержкой эволюции схемы, создавать надежные векторы признаков для рекомендательной модели и обеспечить масштабирование конвейера без копирования многогигабайтных наборов данных на обучающие инстансы.

Рекомендуемый подход:

  1. Используйте Kinesis Data Streams для приема данных, подключите потребителя Lambda для выполнения легковесной валидации и пересылки записей в поток доставки Kinesis Data Firehose, настроенный с Glue Schema Registry для преобразования JSON/CSV в Parquet и записи партиционированных Parquet-файлов в S3 (настройте подсказки буферизации на ~64–128 МБ).
  2. Каталогизируйте Parquet в AWS Glue; используйте задания Glue ETL (бессерверный Spark) или SageMaker Processing (контейнер Spark) для создания воспроизводимых конвейеров признаков, применяя импутацию (медиана для асимметричных числовых данных), StandardScaler и категориальные вложения (embeddings) для item_id с высокой кардинальностью.
  3. Храните онлайн-векторы признаков в SageMaker Feature Store (онлайн-хранилище для поиска с низкой задержкой), а офлайн-признаки — в S3 (офлайн-хранилище Feature Store в формате Parquet). Обучайте модель в SageMaker, используя Pipe mode, который указывает на манифесты Parquet в S3 для потоковой передачи данных и избежания полного копирования.
  4. Обеспечьте безопасность S3 с помощью SSE-KMS, ограничьте доступ с помощью конечной точки VPC для S3 и строгих политик бакетов для VPC, а также включите CloudTrail и SageMaker Model Monitor для логирования активности и оповещений о смещении данных.

Обоснование: Этот подход использует управляемое преобразование потока в Parquet и бессерверный ETL для масштабирования, применяет Feature Store для обеспечения согласованности между обучением и инференсом, избегает затратного перемещения данных с помощью Pipe mode и обеспечивает шифрование и доступ по принципу наименьших привилегий для готовности к эксплуатации в производственной среде.


Все домены · Исследовательский анализ данных и визуализация

Отработать эти вопросы → · Тесты на время на ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Сдайте экзамен →

Просмотреть Amazon →

Related guides

Все включено

Одна подписка. Каждый экзамен.

Каждый план открывает неограниченный поиск ответов, практические тесты, объяснения AI и полную библиотеку ресурсов — на более чем 20 языках.

Ежемесячно
24.87
Just €0.83/day
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

Лучшая цена
12 месяцев
179.87
Just €0.49/daySave 40%
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

✓ Включен бесплатный план · ✓ Отмена в любое время · ✓ Все планы открывают полный продукт