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

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

Основная концепция

Обучение моделей в Amazon SageMaker — это оркестрированный процесс, который объединяет контейнеризированный код обучения, вычислительные ресурсы, постоянное хранилище и, опционально, инфраструктуру для распределённых коммуникаций. Задание на обучение в SageMaker (training job) определяется образом для обучения или оценщиком (estimator) фреймворка, спецификацией входных данных, указывающей на местоположения в S3, и конфигурацией ресурсов, включающей InstanceType, InstanceCount и VolumeSizeInGB. Для управляемого обучения на спотовых инстансах (managed spot training) вы устанавливаете EnableManagedSpotTraining в true и указываете MaxWaitTimeInSeconds и MaxRuntimeInSeconds, чтобы SageMaker мог делать ставки на свободные вычислительные мощности и возобновлять или останавливать задания в пределах заданного вами временного окна. Сохранение контрольных точек (checkpointing) настраивается через CheckpointConfig с параметрами S3Uri и LocalPath; при использовании управляемых спотовых инстансов необходимо часто сохранять контрольные точки и устанавливать MaxWaitTimeInSeconds значительно больше, чем MaxRuntimeInSeconds, чтобы прерванные задания могли быть перезапущены.

Распределённое обучение реализуется с помощью стратегий параллелизма данных (data-parallel) или параллелизма моделей (model-parallel). SageMaker поддерживает нативное распределённое обучение с параллелизмом данных через PyTorch DistributedDataParallel или Horovod, а также предлагает библиотеку smdistributed с smdistributed.dataparallel для оптимизированных коммуникаций через NCCL. Параллелизм моделей доступен через smdistributed.modelparallel или через специфичные для фреймворка механизмы разделения (partitioning). Для высокопроизводительной меж-узловой коммуникации требуются семейства инстансов с поддержкой NVLink и EFA (Elastic Fabric Adapter) — выбирайте типы инстансов ml.p4d, ml.p3dn или другие с поддержкой EFA и устанавливайте use_mpi или use_nccL в соответствии с требованиями вашего скрипта обучения для эффективной операции all-reduce градиентов. Для крупномасштабных заданий подбирайте InstanceTypes с объёмом памяти GPU и сетевыми характеристиками, соответствующими размерам фрагментов (shards) вашей модели, чтобы сбалансировать соотношение вычислений и коммуникаций.

Оптимизация гиперпараметров выполняется с помощью SageMaker Automatic Model Tuning (AMT), который запускает множество заданий на обучение для поиска в пространстве гиперпараметров и оптимизации целевой метрики. HyperParameterTuningJobConfig включает ParameterRanges, ResourceLimits с MaxNumberOfTrainingJobs и MaxParallelTrainingJobs, а также Strategy (по умолчанию Bayesian; альтернативы включают Random или Grid для исчерпывающего или менее коррелированного поиска). Определите ObjectiveMetricName и MetricDefinitions, чтобы AMT мог анализировать логи обучения; если ваша целевая метрика — F1-score, установите ObjectiveType в Maximize и убедитесь, что регулярное выражение в MetricDefinitions соответствует выводимой метрике. Чтобы ускорить подбор параметров и сэкономить бюджет, используйте WarmStartConfig для повторного использования результатов предыдущих заданий по подбору и включите политики ранней остановки (EarlyStoppingType: Auto), где это поддерживается, для прекращения бесперспективных заданий на обучение.

Ключевые сервисы и конфигурация

При построении сквозного рабочего процесса обучения и подбора параметров вы, как правило, будете использовать несколько сервисов AWS и возможностей SageMaker в совокупности:

В конфигурации задания на обучение вы укажете ResourceConfig, включая InstanceType и InstanceCount, и передадите гиперпараметры через HyperParameters. Для управляемого обучения на спотовых инстансах включите EnableManagedSpotTraining и установите CheckpointConfig.S3Uri, чтобы прерванные задания сохраняли своё состояние. При запуске заданий по подбору параметров через CreateHyperParameterTuningJob заполните HyperParameterTuningJobConfig.ParameterRanges записями IntegerParameterRange, ContinuousParameterRange и CategoricalParameterRange, а также установите ResourceLimits с MaxNumberOfTrainingJobs и MaxParallelTrainingJobs. Используйте WarmStartConfig с ParentHyperParameterTuningJobs и WarmStartType, установленным в IDENTICAL_DATA_AND_ALGORITHM или TRANSFER_LEARNING, чтобы начать поиск, отталкиваясь от предыдущих результатов.

Для обеспечения безопасности и операционного контроля централизуйте артефакты моделей, регистрируя объекты ModelPackage в ModelPackageGroup в реестре моделей SageMaker (SageMaker Model Registry); установите ModelApprovalStatus в PendingManualApproval, чтобы требовалось ручное изменение статуса на Approved перед развёртыванием. Комбинируйте события реестра моделей с AWS CodePipeline или AWS Step Functions для создания действия ручного утверждения, которое обновляет ModelPackage.ModelApprovalStatus через API UpdateModelPackage. Для мониторинга активных эндпоинтов и обнаружения смещения данных (drift) включите DataCaptureConfig на эндпоинтах и используйте SageMaker Model Monitor для создания базовых статистик перед развёртыванием с помощью CreateMonitoringSchedule, а затем используйте сбор данных BatchTransform или RealTimeInference с S3 DestinationS3Uri для непрерывной оценки.

Шаблоны проектирования и компромиссы

Выбор распределённого обучения с параллелизмом по данным и множеством небольших шардов обеспечивает простое масштабирование и обычно является самым простым шаблоном, когда ваша модель помещается в память одной GPU. Подходы с параллелизмом по данным, использующие PyTorch DDP или Horovod, хорошо масштабируются, если сетевая инфраструктура высокопроизводительна, а инстансы поддерживают EFA и NCCL. Когда веса модели превышают объём памяти одной GPU, требуется параллелизм по модели или конвейерный параллелизм; smdistributed.modelparallel помогает разделять тензоры между GPU, но это увеличивает сложность отладки, создания контрольных точек и балансировки между вычислениями и коммуникацией. Практичный шаблон проектирования — гибридный: использовать шардинг модели для очень больших слоёв и параллелизм по данным между группами воркеров.

Компромиссы при подборе гиперпараметров в основном касаются времени и стоимости. Широкий случайный (Random) или сеточный (Grid) поиск прост, но дорог; байесовская оптимизация (стратегия по умолчанию в AMT) использует предыдущие результаты для сужения области поиска и может сократить количество заданий обучения, необходимых для достижения хорошей конфигурации. Используйте WarmStartConfig для переноса знаний из предыдущих экспериментов по подбору в новые, когда изменения в наборе данных или модели незначительны. Распараллеливание множества заданий обучения ускоряет общее время оптимизации, но увеличивает сиюминутную стоимость и может привести к исчерпанию квот сервиса; настраивайте MaxParallelTrainingJobs консервативно и используйте Spot-инстансы для заданий подбора, чтобы сократить расходы, но всегда настраивайте CheckpointConfig и MaxWaitTimeInSeconds для устойчивости к прерываниям.

Частота создания контрольных точек и выбор хранилища влияют как на отказоустойчивость, так и на стоимость. Частые контрольные точки уменьшают потери вычислений при прерываниях, но добавляют накладные расходы на пропускную способность и задержки S3; используйте инкрементальное создание контрольных точек внутри контейнера (LocalPath) и асинхронно синхронизируйте их с S3 для надёжного восстановления. При обучении на управляемых спотовых инстансах установите надёжный интервал для создания контрольных точек и используйте меньшее количество инстансов для заданий обучения, которые могут завершиться в пределах типичного времени до прерывания, или проектируйте цикл обучения так, чтобы он был устойчив к вытеснению, используя предоставляемые SageMaker хуки SIGTERM для гарантированного создания консистентных контрольных точек перед завершением.


Инженерия данных и инженерия признаков · Все домены · Оценка и выбор моделей

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

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

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