Выберите инструмент для визуальной подготовки данных.
→Ориентированный на ML, интегрируется с SageMaker Studio + поток → задание Processing → Pipeline → экспорт Notebook → SageMaker Data Wrangler. Общая очистка данных с переиспользуемыми рецептами, профилированием, без зависимости от SageMaker → AWS Glue DataBrew. 50 ТБ+ Spark с пользовательским кодом → Amazon EMR.
Почему: Data Wrangler — это встроенный в SageMaker вариант (300+ преобразований, извлечение даты/времени, экспорт в Pipeline/Processing). DataBrew основан на рецептах и не зависит от источника. EMR обрабатывает масштабирование и произвольный Spark.
Источник↗
Каталогизируйте данные в S3, RDS, DynamoDB, чтобы аналитики и SageMaker могли обнаруживать наборы данных.
→AWS Glue Crawlers заполняют AWS Glue Data Catalog схемами + метаданными. Athena, Redshift Spectrum и SageMaker используют его.
Источник↗
Требуется контроль доступа на уровне столбцов и строк к озеру данных с журналированием аудита.
→AWS Lake Formation. Политики IAM и S3 bucket не обеспечивают гранулярность на уровне столбцов для структурированных данных.
Почему: Lake Formation централизует управление для Glue Data Catalog и интегрируется с CloudTrail для аудита.
Источник↗
Запускайте нерегламентированные SQL-запросы к данным S3 без какого-либо предварительного выделения ресурсов.
→Amazon Athena. Serverless, оплата за отсканированный ТБ. Разделяйте данные и используйте Parquet для снижения затрат и времени.
Источник↗
50 ТБ генерации признаков с существующим кодом PySpark, должно быть завершено за 4 часа.
→Amazon EMR со Spark. Настраиваемый размер кластера, поддержка Spot-инстансов, запускает существующий код без изменений.
Почему: Glue ETL также запускает Spark, но EMR дает больше контроля над конфигурацией кластера; SageMaker Processing предназначен для менее масштабных заданий с одним контейнером.
Источник↗
Запустите пользовательский скрипт предобработки scikit-learn / pandas перед обучением. Эфемерные вычисления, без затрат на простой.
→Задание SageMaker Processing с контейнером SKLearn (или PySpark). Выделяет, запускает, завершает работу.
Почему: Лучше, чем запуск на Notebook (остается активным, стоит денег) или Lambda (лимит 15 минут, ограничения памяти).
Источник↗
Эффективная по стоимости разметка 100 000 изображений — нужна ручная + автоматизированная разметка.
→Amazon SageMaker Ground Truth с включенной автоматизированной разметкой данных. После первоначальной подгруппы, размеченной людьми, Ground Truth обучает модель и автоматически размечает образцы с высокой степенью уверенности.
Почему: Активное обучение обычно снижает стоимость разметки до 70%. A2I предназначен для проверки человеком предсказаний модели, а не для массовой разметки.
Источник↗
Несколько аннотаторов не согласны; требуется, чтобы старший рецензент проверил выборку меток.
→Рабочий процесс проверки (аудита) меток Ground Truth. Подмножество меток направляется рабочей силе для проверки, которая одобряет, отклоняет или корректирует. Совместите с консолидацией аннотаций для голосования большинства между несколькими работниками.
Источник↗
Одни и те же спроектированные признаки необходимы при обучении (пакетная обработка) и выводе (менее 10 мс).
→Amazon SageMaker Feature Store с включенными онлайн- и офлайн-хранилищами для группы признаков. Онлайн-хранилище поддерживает GetRecord в реальном времени; офлайн-хранилище (Parquet в S3) поддерживает обучение.
Почему: Устраняет перекос между обучением и обслуживанием без пользовательской синхронизации DynamoDB ↔ S3.
Источник↗
Определение группы признаков — что является обязательным.
→Имя идентификатора записи (уникальный ключ для каждой записи) и имя признака времени события (метка времени для точечных запросов).
Источник↗
Объединить две группы признаков для обучения без утечки будущих значений признаков.
→Соединение point-in-time с офлайн-хранилищем с использованием столбца event-time. Каждая строка обучения видит только значения признаков, которые существовали на момент ее временной метки события.
Почему: Простое JOIN по последним значениям вызывает утечку данных, раскрывая модели дрейф признаков после события.
Источник↗
Выберите режим ввода данных для обучения SageMaker для набора данных размером 500 ГБ.
→Режим File → сначала загружается весь набор данных (медленный старт, стоимость EBS). Режим Pipe → потоковая передача из S3, низкий старт, низкое хранение. Режим FastFile → потоковая передача на уровне файлов с отложенной загрузкой. Используйте Pipe (или FastFile) для больших наборов данных, чтобы избежать загрузки.
Источник↗
Миллионы маленьких файлов (каждый ~50 КБ) — пропускная способность режима Pipe низкая.
→Объедините в Amazon RecordIO (protobuf) и потоково передавайте через режим Pipe. Последовательные записи устраняют накладные расходы на S3 GET для каждого файла.
Источник↗
Выберите формат хранения и макет для озера данных ML на S3 с частым чтением подмножеств столбцов + фильтрами разделов.
→Parquet (колоночный, сжатый), разделенный по наиболее часто фильтруемому столбцу (например, дата или регион). Обеспечивает обрезку столбцов + обрезку разделов в Athena и SageMaker.
Источник↗
Glue ETL повторно обрабатывает уже обработанные файлы при каждом запуске.
→Включите закладки заданий Glue. Используйте опцию PAUSE, чтобы неудачный запуск не продвигал закладку; сбрасывайте только при необходимости.
Источник↗
Проверка схемы, типов, диапазонов значений и ограничений на NULL внутри конвейера Glue ETL.
→AWS Glue Data Quality с правилами DQDL. Останавливает конвейер при сбое проверок.
Источник↗
Кодирование категориальных признаков. Некоторые упорядочены (Basic/Standard/Premium), некоторые нет (штаты США).
→Упорядоченные → порядковое кодирование (сохраняет ранг). Неупорядоченные → one-hot кодирование (избегает ложной порядковости). Избегайте label encoding для неупорядоченных признаков. Target encoding требует тщательной CV, чтобы избежать утечки.
Численный столбец имеет пропущенные значения, которые коррелируют с другим признаком (например, пропуск дохода зависит от типа занятости).
→Групповая медианная импутация (медиана для каждого типа занятости). Сохраняет взаимосвязь; среднее чувствительно к выбросам; отбрасывание теряет данные; ноль добавляет смещение.
Бинарная классификация с 0,3% положительного класса.
→SMOTE передискретизация только на тренировочной выборке (после разделения). Сочетайте с оценкой PR-кривой / F1, а не точности.
Почему: Применяйте передискретизацию ПОСЛЕ разделения, чтобы избежать утечки. Точность вводит в заблуждение на несбалансированных данных.
Правосторонняя асимметрия числового признака (например, дохода) ухудшает производительность линейной модели.
→Логарифмическое преобразование. Сжимает правый хвост и создает более симметричное распределение. Стандартизация/min-max изменяют масштаб, а не форму.
50 сильно коррелированных признаков; нужна меньшая размерность с сохранением дисперсии.
→PCA. Преобразует коррелированные признаки в некоррелированные главные компоненты, ранжированные по дисперсии.
Выберите стратегию разделения на train/val/test.
→Несбалансированная классификация → стратифицированное разделение (сохраняет соотношение классов). Временные ряды → хронологическое разделение (обучение на раннем периоде, тестирование на последнем); никогда не случайное перемешивание. Табличные IID → случайное.