쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

지표 및 환경 변수를 정의합니다.

포커스 모드
지표 및 환경 변수를 정의합니다. - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

튜닝 작업은 지표를 사용하여 성능을 평가함으로써 시작하는 훈련 작업에 대한 하이퍼파라미터를 최적화합니다. 이 가이드에서는 훈련에 사용자 지정 알고리즘을 사용하거나 Amazon SageMaker AI의 내장 알고리즘을 사용할 수 있도록 지표를 정의하는 방법을 보여줍니다. 또한 이 안내서에서는 자동 모델 튜닝(AMT) 작업 중에 환경 변수를 지정하는 방법을 알아보겠습니다.

지표 정의

Amazon SageMaker AI 하이퍼파라미터 튜닝은 기계 학습 알고리즘stdoutstderr 스트림을 구문 분석하여 손실 또는 검증 정확도와 같은 지표를 찾습니다. 지표를 통해 모델이 데이터세트에서 얼마나 잘 수행되고 있는지 알 수 있습니다.

다음 섹션에는 훈련 시 기본 제공 알고리즘과 사용자 지정 알고리즘의 2가지 유형을 사용하는 방법에 대한 설명이 있습니다.

훈련 시 기본 제공 알고리즘 사용하기

SageMaker AI 기본 제공 알고리즘 중 하나를 사용하는 경우 지표가 이미 정의되어 있습니다. 게다가 기본 제공 알고리즘은 하이퍼파라미터 튜닝에 자동으로 지표를 전송하여 최적화합니다. 또한 이러한 지표는 Amazon CloudWatch Logs에 기록됩니다. 자세한 내용은 Amazon CloudWatch를 사용하여 Amazon SageMaker AI 이벤트 로깅 Amazon CloudWatch을 참조하세요.

튜닝 작업에 대한 목표 지표인 경우 기본 제공 알고리즘에서 내보내는 지표 중 하나를 선택합니다. 사용 가능한 지표 목록은 Amazon SageMaker AI 기본 제공 알고리즘 또는 사전 훈련된 모델 사용의 적절한 알고리즘에 대한 모델 튜닝 섹션을 참조하세요.

튜닝 작업에서 모니터링할 지표는 최대 40개까지 선택할 수 있습니다. 이러한 지표 중 하나를 목표 지표로 선택합니다. 하이퍼파라미터 튜닝 작업은 목표 지표 대비 가장 성과가 좋았던 훈련 작업을 반환합니다.

참고

하이퍼파라미터 튜닝은 훈련 중에 사용할 수 있도록 추가 하이퍼파라미터 _tuning_objective_metric을(를) 자동 전송하여 목표 지표를 튜닝 작업에 전달합니다.

훈련 시 사용자 지정 알고리즘 사용하기

이 섹션에서는 훈련 시 자체 사용자 지정 알고리즘을 사용하도록 자체 지표를 정의하는 방법을 알아보겠습니다. 이때 알고리즘이 최소 하나의 지표를 stderr 또는 stdout에 기록해야 합니다. 하이퍼파라미터 튜닝은 이러한 스트림을 구문 분석하여 모델이 데이터세트에서 얼마나 잘 수행되고 있는지 보여주는 알고리즘 지표를 찾습니다.

튜닝 작업에서 모니터링하는 각 지표에 대해 이름 및 정규식을 지정하여 사용자 지정 지표를 정의할 수 있습니다. 그 다음에 이 지표 정의를 AlgorithmSpecificationMetricDefinitions 필드에 있는 TrainingJobDefinition 파라미터 내 CreateHyperParameterTuningJob API에 전달합니다.

다음은 훈련 알고리즘에서 stderr 또는 stdout에 기록된 로그의 샘플 출력입니다.

GAN_loss=0.138318; Scaled_reg=2.654134; disc:[-0.017371,0.102429] real 93.3% gen 0.0% disc-combined=0.000000; disc_train_loss=1.374587; Loss = 16.020744; Iteration 0 took 0.704s; Elapsed=0s

다음 코드 예제에서는 Python에서 정규 표현식을 사용하는 방법을 알아보겠습니다. 이는 샘플 로그 출력을 검색하고 서로 다른 네 가지 지표의 숫자 값을 캡처하는 데 사용됩니다.

[ { "Name": "ganloss", "Regex": "GAN_loss=(.*?);", }, { "Name": "disc-combined", "Regex": "disc-combined=(.*?);", }, { "Name": "discloss", "Regex": "disc_train_loss=(.*?);", }, { "Name": "loss", "Regex": "Loss = (.*?);", }, ]

정규 표현식에서 괄호 ()은(는) 정규 표현식의 일부를 그룹화하는 데 사용됩니다.

  • 코드 예제에 정의된 loss 지표의 경우 표현식 (.*?);은(는) 정확한 텍스트 "Loss="와(과) 첫 번째 세미콜론(;) 문자 사이의 모든 문자를 캡처합니다.

  • . 문자는 정규 표현식이 모든 문자와 일치하도록 지시합니다.

  • * 문자는 0개 이상의 문자와 일치함을 의미합니다.

  • ? 문자는 ; 문자의 첫 인스턴스까지만 캡쳐함을 의미합니다.

코드 샘플에 정의된 손실 지표는 샘플 출력에서 Loss = 16.020744을(를) 캡쳐합니다.

지표 중에서 튜닝 작업에 대한 목표 지표로 정의할 지표를 하나 선택합니다. SageMaker API를 사용할 경우 CreateHyperParameterTuningJob 작업에 전송하는 HyperParameterTuningJobConfig 파라미터의 HyperParameterTuningJobObjective 필드에 있는 name 키의 값을 지정합니다.

환경 변수 지정

SageMaker AI AMT는 튜닝 작업 내에서 하이퍼파라미터를 최적화하여 모델 성능에 가장 적합한 파라미터를 찾습니다. 환경 변수를 사용하여 튜닝 작업 동작을 변경하도록 구성할 수 있습니다. 또한 훈련 중에 사용한 환경 변수를 튜닝 작업에서 사용할 수도 있습니다.

튜닝 작업의 환경 변수를 사용하거나 새 환경 변수를 지정하려면 SageMaker AI HyperParameterTrainingJobDefinition API Environment 내에에 대한 문자열 값을 입력합니다. 이 훈련 작업 정의를 CreateHyperParameterTuningJob API에 전달합니다.

예를 들어, SM_LOG_LEVEL 환경 변수를 다음 값으로 설정하여 Python 컨테이너의 출력을 조정할 수 있습니다.

NOTSET=0 DEBUG=10 INFO=20 WARN=30 ERROR=40 CRITICAL=50

일례로 로그 수준을 10(으)로 설정하여 컨테이너 로그를 디버깅하려면, 다음과 같이 HyperParameterTrainingJobDefinition에서 환경 변수를 설정합니다.

{ "HyperParameterTuningJobConfig": { ..., } "TrainingJobDefinition": { ..., "Environment" : [ { "SM_LOG_LEVEL": 10 } ], ..., }, ..., }

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.