Amazon MLS-C01: Обучение, распределенное обучение и оптимизация гиперпараметров — Руководство по подготовке

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

Задачи обучения, контейнеры и переход к обучению в облаке с минимальными изменениями кода

При переносе рабочих нагрузок обучения в SageMaker основная цель проектирования — избежать переписывания кода модели, обеспечив при этом, чтобы среда выполнения контейнера предоставляла ожидаемые переменные окружения и пути каналов SageMaker. Используйте режим скрипта (Script Mode) SageMaker с Estimator для конкретного фреймворка (PyTorch, TensorFlow, XGBoost), чтобы один и тот же скрипт обучения запускался локально и в облаке с минимальными изменениями: чтение данных из

undefined

, запись модели в

undefined

и учет

undefined

/

undefined

/

undefined

. Для пользовательских сред соберите Docker-образ, расширяющий официальные AWS Deep Learning Containers (или SageMaker training toolkit), и загрузите его в Amazon ECR; убедитесь, что точка входа контейнера соответствует контракту обучения SageMaker. Выбирайте типы инстансов в зависимости от профиля вычислений: для задач, ограниченных CPU, — семейства ml.c5/m5, для обучения на GPU — инстансы ml.p3, ml.p4d, g4dn или g5; размер инстанса выбирайте по объему памяти и соотношению GPU к CPU. Распространенные ошибки включают жестко закодированные пути к локальным файлам, предположение о работе на одном хосте (что приводит к сбоям в распределенных задачах) и отсутствие явного указания режима ввода данных для обучения (Pipe или File), что влияет на производительность ввода-вывода. Для воспроизводимости и предсказуемости затрат включайте управляемое спотовое обучение только после добавления надежного механизма создания контрольных точек и установки

undefined

undefined

, чтобы разрешить прерывания спотовых инстансов.

Паттерны распределенного обучения, режимы ввода данных и выбор хранилища

Распределенное глубокое обучение требует баланса между параллелизмом моделей, параллелизмом данных и архитектурой ввода-вывода. Для обучения на нескольких GPU на одном хосте и на нескольких хостах используйте нативные примитивы фреймворков —

undefined

или

undefined

в TensorFlow — или воспользуйтесь библиотеками

undefined

от SageMaker:

undefined

для масштабирования с параллелизмом данных и

undefined

или DeepSpeed для очень больших трансформерных моделей. Используйте S3 в качестве канонического хранилища для больших наборов данных, но избегайте множества мелких GET-запросов к S3: либо объединяйте файлы в меньшее количество архивов, используйте шардированные файлы RecordIO/TFRecord, либо подключите POSIX-совместимую файловую систему. Выбирайте режим Pipe для потоковой передачи данных обучения напрямую из S3 для больших наборов данных, чтобы сократить использование локального диска и время запуска; используйте режим File, когда для обучения требуется произвольный доступ к данным или когда весь набор данных должен находиться на томе EBS. Для высокой пропускной способности и семантики POSIX на нескольких инстансах монтируйте Amazon FSx for Lustre или Amazon EFS; FSx лучше подходит для высокопроизводительного параллельного чтения. Частые ошибки включают отказ от шардирования данных по хостам (что вызывает дублирование), переоценку пропускной способности S3 на один инстанс и игнорирование правил масштабирования размера батча (batch-size) и скорости обучения (learning-rate) при увеличении параллелизма.

Спотовое обучение, создание контрольных точек и стратегии оптимизации затрат

Управляемое спотовое обучение может значительно снизить затраты, если архитектура вашего процесса обучения устойчива к прерываниям. Настройте управляемое спотовое обучение через SageMaker Estimator (

undefined

), а также механизм контрольных точек: укажите постоянный

undefined

и локальный

undefined

и сохраняйте контрольные точки достаточно часто, чтобы ограничить время на повторную работу. Установите

undefined

значительно больше, чем

undefined

, чтобы задача могла повторно использовать прерванные инстансы в пределах окна доступности спотовых инстансов. Для фреймворков реализуйте атомарную запись контрольных точек и надежную логику возобновления, которая проверяет последнюю контрольную точку в S3, восстанавливает состояние оптимизатора и планировщика, а затем продолжает обучение. Частота создания контрольных точек должна балансировать между накладными расходами на запись и потенциальными потерями вычислительных ресурсов; для длинных эпох или очень больших моделей создавайте контрольные точки в середине эпохи, используя снимки накопленных градиентов или сохранения на основе шагов. К ловушкам, ведущим к лишним затратам, относятся: сохранение контрольных точек не в S3 (что приводит к полному перезапуску при прерывании), зависимость от эфемерного хранилища инстанса и установка

undefined

равным

undefined

, что не позволяет выполнять повторные попытки. Сочетайте спотовое обучение со смешанной точностью (AMP) для дополнительной экономии вычислительных ресурсов и с уменьшенным объемом данных контрольных точек (сохраняя только веса и состояние оптимизатора), чтобы сократить затраты на запись в S3 и задержку при возобновлении.

Оптимизация гиперпараметров, стратегии настройки и практические критерии принятия решений

Эффективная оптимизация гиперпараметров (HPO) сочетает в себе стратегию поиска, распределение ресурсов и раннюю остановку. HyperparameterTuner в SageMaker поддерживает случайный (Random) и байесовский (Bayesian) поиск с настраиваемыми диапазонами для ContinuousParameter, IntegerParameter и CategoricalParameter; для больших пространств поиска начинайте со случайного поиска для широкого исследования, а затем запускайте байесовскую оптимизацию для использования перспективных областей. Используйте методы ранней остановки, такие как Hyperband или встроенную раннюю остановку SageMaker, чтобы сэкономить бюджет, и применяйте «теплый старт» (warm-start tuning) для повторного использования результатов в связанных экспериментах. Тщательно выбирайте целевые метрики (AUC на валидационных данных для задач с дисбалансом, F1 для обнаружения мошенничества с несбалансированными классами, пользовательские метрики, взвешенные по стоимости, для сценариев дефицита товаров). Распространенные ошибки включают слишком широкие диапазоны, которые приводят к сбоям многих заданий, использование категориального кодирования для по сути непрерывных гиперпараметров и отсутствие масштабирования HPO с учетом ресурсов: короткие пробные задания на небольших инстансах для поиска общих областей, за которыми следуют более длительные запуски на полноразмерных инстансах с GPU. Для распределенного обучения настраивайте как алгоритмические гиперпараметры (скорость обучения, размер батча), так и системные параметры (шаги накопления градиента, количество шардов данных). Используйте SageMaker Debugger для инструментирования и метрики CloudWatch для обнаружения зашумленных измерений; при высокой дисперсии увеличьте количество повторений для каждой конфигурации или используйте выбор на основе медианы.

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

Сценарий: FinRetailer выполняет в SageMaker тысячи прогнозов спроса на 30 дней для каждого SKU; они хранят многолетние ежедневные CSV-файлы в S3 и требуют высокой точности для товаров с «хвостовым» спросом, сохраняя при этом приемлемую задержку вывода в заданиях пакетной обработки.

Задача: Спрогнозировать тысячи временных рядов с длинной историей и несбалансированной важностью (дефицит товара обходится дороже, чем избыток запасов), минимизируя вычислительные затраты и сохраняя точность для редких событий высокого спроса.

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

  1. Используйте встроенный в SageMaker алгоритм DeepAR или кастомную временную модель на PyTorch (на основе Transformer), упакованную в Script Mode Estimator; храните обучающие данные в виде шардированных файлов RecordIO/TFRecord и используйте File mode с FSx for Lustre для высокопроизводительного обучения на нескольких инстансах.
  2. Начните с распределенного обучения на инстансах меньшего размера (smddp или Horovod) для настройки архитектуры модели и гиперпараметров, используя HyperparameterTuner с байесовским поиском и ранней остановкой; определите целевую функцию как взвешенную квантильную потерю, которая сильнее штрафует заниженные прогнозы.
  3. Включите управляемое спотовое обучение (managed spot training) с checkpoint_s3_uri и частыми чекпоинтами на основе шагов; установите max_wait > max_run, чтобы выдерживать прерывания и возобновлять работу с последнего чекпоинта в S3.
  4. Для вывода в производственной среде используйте пакетную обработку с помощью multi-model endpoints или асинхронных заданий batch transform на инстансах, оптимизированных для вычислений; применяйте бизнес-правила постобработки и откалиброванный порог, учитывающий затраты на дефицит товара.

Обоснование: Использование архитектур DeepAR/transformer позволяет эффективно обрабатывать множество временных рядов; шардированные бинарные форматы и FSx уменьшают узкие места ввода-вывода при распределенном обучении, байесовская HPO с настроенной целевой функцией фокусирует поиск на метриках операционных затрат, а спотовое обучение с чекпоинтами снижает стоимость без потери прогресса.


Временные ряды и прогнозирование · Все домены · Развертывание

Отработать эти вопросы → · Тесты на время на 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+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

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

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