기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
다음 섹션에서는 알고리즘 리소스를 사용하여 Amazon SageMaker AI에서 하이퍼파라미터 튜닝 작업을 실행하는 방법을 설명합니다. 하이퍼파라미터 튜닝 작업은 지정된 알고리즘과 광범위한 하이퍼파라미터를 사용하여 데이터세트에 대해 여러 훈련 작업을 실행하여 최적의 모델 버전을 찾습니다. 그런 다음 선택한 지표로 측정된 값에 따라 최적의 성능을 보여준 모델을 만든 하이퍼파라미터 값을 선택합니다. 자세한 내용은 SageMaker AI를 사용한 자동 모델 튜닝 단원을 참조하십시오.
알고리즘 리소스를 사용하여 Amazon SageMaker AI 콘솔, 하위 수준 Amazon SageMaker API 또는 Amazon SageMaker Amazon SageMaker Python SDK
주제
알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행(콘솔)
알고리즘을 사용하여 하이퍼파라미터 튜닝 작업을 실행하려면(콘솔)
-
https://console.aws.amazon.com/sagemaker/
SageMaker AI 콘솔을 엽니다. -
알고리즘을 선택합니다.
-
내 알고리즘 탭의 목록에서 생성한 알고리즘을 선택하거나 AWS Marketplace 구독 탭에서 구독한 알고리즘을 선택합니다.
-
하이퍼파라미터 튜닝 작업 생성을 선택합니다.
이전에 선택한 알고리즘이 자동으로 선택됩니다.
-
하이퍼파라미터 튜닝 작업 생성 페이지에서 다음 정보를 제공합니다.
-
이 하이퍼파라미터 튜닝 작업의 시작점으로 이전 하이퍼파라미터 튜닝 작업의 정보를 사용하려면 웜 스타트에서 웜 스타트 활성화를 선택합니다. 자세한 내용은 웜 스타트 하이퍼파라미터 튜닝 작업 실행 섹션을 참조하세요.
-
입력 데이터가 이 하이퍼파라미터 튜닝 작업의 상위 작업의 입력 데이터와 동일한 경우 동일한 데이터 및 알고리즘을 선택하고 이 하이퍼파라미터 튜닝 작업에 추가 입력 데이터 또는 다른 입력 데이터를 사용하려면 전이 학습을 선택합니다.
-
상위 하이퍼파라미터 튜닝 작업에서 이 하이퍼파라미터 튜닝 작업의 상위 작업으로 사용할 하이퍼파라미터 튜닝 작업을 최대 5개까지 선택할 수 있습니다.
-
-
하이퍼파라미터 튜닝 작업 이름에 튜닝 작업의 이름을 입력합니다.
-
IAM 역할의 경우 SageMaker AI에서 하이퍼파라미터 튜닝 작업을 실행하는 데 필요한 권한이 있는 IAM 역할을 선택하거나 새 역할 생성을 선택하여 SageMaker AI가
AmazonSageMakerFullAccess
관리형 정책이 연결된 역할을 생성할 수 있도록 합니다. 자세한 내용은 SageMaker AI 실행 역할을 사용하는 방법을 참조하세요. -
VPC에는 튜닝 작업이 시작되는 훈련 작업이 액세스할 수 있도록 허용할 Amazon VPC를 선택합니다. 자세한 내용은 SageMaker AI 훈련 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여 섹션을 참조하세요.
-
다음을 선택합니다.
-
목표 지표에서 하이퍼파라미터 튜닝 작업이 최적의 하이퍼파라미터 조합을 결정하는 데 사용할 지표를 선택하고 해당 지표를 최소화 또는 최대화할지 여부를 지정합니다. 자세한 내용은 최적의 훈련 작업 보기 섹션을 참조하세요.
-
하이퍼파라미터 구성에서, 튜닝 작업에서 검색하도록 할 튜닝 가능한 하이퍼파라미터 범위를 선택하고, 하이퍼파라미터 튜닝 작업에서 시작하는 모든 훈련 작업 내에서 일정하게 유지하려는 하이퍼파라미터의 정적 값을 설정합니다. 자세한 내용은 하이퍼파라미터 범위 정의 섹션을 참조하세요.
-
다음을 선택합니다.
-
입력 데이터 구성에, 하이퍼파라미터 튜닝 작업에 사용할 각 입력 데이터 채널에 대해 다음 값을 지정합니다. 하이퍼파라미터 튜닝 지원에 사용하고 있는 알고리즘 채널, 콘텐츠 유형, 지원되는 압축 유형, 각 채널에 지원되는 입력 모드를 알고리즘의 알고리즘 요약 페이지의 채널 사양 섹션에서 확인할 수 있습니다.
-
채널 이름에는 입력 채널의 이름을 입력합니다.
-
콘텐츠 유형에는 알고리즘에서 채널에 대해 필요로 하는 데이터의 콘텐츠 유형을 입력합니다.
-
압축 유형에는 사용할 데이터 압축 유형을 선택합니다(있는 경우).
-
레코드 래퍼에는 알고리즘이
RecordIO
형식의 데이터를 예상하는 경우RecordIO
를 선택합니다. -
S3 데이터 유형, S3 데이터 배포 유형, S3 위치에는 적절한 값을 지정합니다. 이러한 값이 의미하는 내용은
S3DataSource
섹션을 참조하세요. -
프로비저닝된 ML 스토리지 볼륨에서 데이터를 다운로드하여 Docker 볼륨에 해당 디렉터리를 탑재하려는 경우 입력 모드에서 파일을 선택합니다. Amazon S3에서 컨테이너로 직접 데이터를 스트리밍하려면 파이프를 선택합니다.
-
다른 입력 채널을 추가하려면 채널 추가를 선택합니다. 입력 채널을 추가했으면 완료를 선택합니다.
-
-
출력 위치에 다음 값을 지정합니다.
-
S3 출력 경로에는 이 하이퍼파라미터 튜닝 작업이 시작하는 훈련 작업에서 출력(예: 모델 결과물)을 저장할 S3 위치를 선택합니다.
참고
이 위치에 저장된 모델 결과물을 사용하여 이 하이퍼파라미터 튜닝 작업에서 모델 또는 모델 패키지를 생성합니다.
-
암호화 키의 경우 SageMaker AI가 AWS KMS 키를 사용하여 S3 위치에 저장된 출력 데이터를 암호화하도록 하려면
-
-
리소스 구성에서 다음 정보를 제공합니다.
-
인스턴스 유형에서, 하이퍼파라미터 튜닝 작업에서 시작하는 각 훈련 작업에 사용할 인스턴스 유형을 선택합니다.
-
인스턴스 수에, 하이퍼파라미터 튜닝 작업에서 시작하는 각 훈련 작업에 사용할 ML 인스턴스 수를 입력합니다.
-
인스턴스당 추가 볼륨 크기(GB)에 하이퍼파라미터 튜닝 작업에서 시작하는 각 훈련 작업을 프로비저닝하려는 ML 스토리지 볼륨의 크기를 입력합니다. ML 스토리지 볼륨은 모델 결과물 및 증분 상태를 저장합니다.
-
암호화 키의 경우 Amazon SageMaker AI가 AWS Key Management Service 키를 사용하여 훈련 인스턴스에 연결된 ML 스토리지 볼륨의 데이터를 암호화하도록 하려면 키를 지정합니다.
-
-
리소스 제한에서 다음 정보를 제공합니다.
-
최대 훈련 작업에, 하이퍼파라미터 튜닝 작업에서 시작하도록 하려는 최대 훈련 작업 수를 지정합니다. 하이퍼파라미터 튜닝 작업 하나에서 최대 500개의 훈련 작업을 시작할 수 있습니다.
-
최대 병행 훈련 작업에, 하이퍼파라미터 튜닝 작업에서 시작할 수 있는 최대 동시 훈련 작업 수를 지정합니다. 하이퍼파라미터 튜닝 작업 하나에서 최대 10개의 동시 훈련 작업을 시작할 수 있습니다.
-
중지 조건에, 하이퍼파라미터 튜닝 작업에서 훈련 작업을 실행하려 최대 시간을 초, 분, 시간 또는 일 단위로 지정합니다.
-
-
태그에 하이퍼파라미터 튜닝 작업을 관리하기 위한 태그를 하나 이상 지정합니다. 각 태그는 키와 값(선택사항)으로 구성됩니다. 태그 키는 리소스마다 고유해야 합니다.
-
작업 생성을 선택하여 하이퍼파라미터 튜닝 작업을 실행합니다.
-
알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행(API)
SageMaker API를 통해 알고리즘을 사용하여 하이퍼파라미터 튜닝 작업을 실행하려면 CreateHyperParameterTuningJob
에 전달하는 AlgorithmSpecification
객체의 AlgorithmName
필드로 알고리즘 이름 또는 알고리즘의 Amazon 리소스 이름(ARN)을 지정합니다. SageMaker AI의 하이퍼파라미터 튜닝에 대한 자세한 내용은 섹션을 참조하세요SageMaker AI를 사용한 자동 모델 튜닝.
알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행하기(Amazon SageMaker Python SDK )
에서 생성하거나 구독한 알고리즘 AWS Marketplace 을 사용하여 하이퍼파라미터 튜닝 작업을 생성하고, AlgorithmEstimator
객체를 생성하고, Amazon 리소스 이름(ARN) 또는 알고리즘 이름을 algorithm_arn
인수 값으로 지정합니다. 그런 다음 estimator
인수의 값으로 생성한 AlgorithmEstimator
를 사용하여 HyperparameterTuner
객체를 초기화합니다. 마지막으로 AlgorithmEstimator
의 fit
메서드를 호출합니다. 예시:
from sagemaker import AlgorithmEstimator
from sagemaker.tuner import HyperparameterTuner
data_path = os.path.join(DATA_DIR, 'marketplace', 'training')
algo = AlgorithmEstimator(
algorithm_arn='arn:aws:sagemaker:us-east-2:764419575721:algorithm/scikit-decision-trees-1542410022',
role='SageMakerRole',
instance_count=1,
instance_type='ml.c4.xlarge',
sagemaker_session=sagemaker_session,
base_job_name='test-marketplace')
train_input = algo.sagemaker_session.upload_data(
path=data_path, key_prefix='integ-test-data/marketplace/train')
algo.set_hyperparameters(max_leaf_nodes=10)
tuner = HyperparameterTuner(estimator=algo, base_tuning_job_name='some-name',
objective_metric_name='validation:accuracy',
hyperparameter_ranges=hyperparameter_ranges,
max_jobs=2, max_parallel_jobs=2)
tuner.fit({'training': train_input}, include_cls_metadata=False)
tuner.wait()