튜닝 작업 완료 기준의 추적 및 설정 - Amazon SageMaker

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

튜닝 작업 완료 기준의 추적 및 설정

완료 기준을 사용하여 특정 조건이 충족되는 경우 자동 모델 튜닝(AMT)에 튜닝 작업을 중지하도록 지시할 수 있습니다. 이러한 조건을 사용하면 목표 지표와 대조하여 평가했을 때 개선되지 않는 최소 모델 성능 또는 최대 훈련 작업 수를 설정할 수 있습니다. 또한 튜닝 작업 진행 상황을 추적하여 작업을 계속할지 아니면 수동으로 중지할지 결정할 수 있습니다. 이 안내서에서 완료 기준을 설정하고, 튜닝 작업 진행 상황을 확인하고, 튜닝 작업을 수동으로 중지하는 방법을 알아보겠습니다.

튜닝 작업 완료 기준 설정

하이퍼파라미터 최적화 중에 튜닝 작업은 루프 내에서 여러 훈련 작업을 시작합니다. 튜닝 작업에서 수행하는 작업은 다음과 같습니다.

  • 훈련 작업 완료 여부를 확인하고 그에 따라 통계 업데이트하기

  • 다음에 평가할 하이퍼파라미터 조합을 결정합니다.

AMT 는 조정 작업에서 시작된 훈련 작업을 지속적으로 확인하여 통계를 업데이트합니다. 이러한 통계에는 튜닝 작업 런타임 및 최고 훈련 작업이 포함됩니다. 그런 다음 완료 기준에 따라 작업을 중지해야 하는지 여부를 AMT 결정합니다. 이러한 통계를 확인하고 작업을 수동으로 중지할 수도 있습니다. 수동 작업 중단에 대한 자세한 정보는 튜닝 작업 수동 중지 섹션에서 확인하세요.

예를 들어, 튜닝 작업이 목표에 부합하는 경우 튜닝을 조기에 중단하여 리소스를 절약하거나 모델 품질을 보장할 수 있습니다. AMT 는 작업 성과를 완료 기준과 비교하여 확인하고 충족된 경우 튜닝 작업을 중지합니다.

다음과 같은 완료 기준을 지정할 수 있습니다.

  • MaxNumberOfTrainingJobs - 튜닝 중지 전 실행할 최대 훈련 작업 수.

  • MaxNumberOfTrainingJobsNotImproving - 현재 최고 훈련 작업에서 얻은 목표 지표에 비해 성과가 개선되지 않는 훈련 작업의 최대 수. 예를 들어, 최고 훈련 작업에서 정확도가 90%이고 MaxNumberOfTrainingJobsNotImproving이(가) 10(으)로 설정된 목표 지표를 반환할 경우 이 예제에서는 10 훈련 작업이 90%보다 높은 정확도를 반환하지 못하면 튜닝이 중지됩니다.

  • MaxRuntimeInSeconds - 일반 시계 시간 기준 최대 튜닝 작업 실행 시간(초

  • TargetObjectiveMetricValue - 튜닝 작업 평가 시 사용할 목표 지표 값. 이 값이 충족되면 는 튜닝 작업을 AMT 중지합니다.

  • CompleteOnConvergence - 내부 알고리즘이 최고 훈련 작업에서 얻은 목표 지표보다 1% 이상 개선되지 않을 것으로 판단한 튜닝을 중단하는 플래그.

완료 기준 선택

조건이 충족되면 하나 또는 여러 개의 완료 기준을 선택하여 하이퍼파라미터 튜닝 작업을 중지할 수 있습니다. 다음 지침에서 완료 기준을 선택하는 방법과 사용 사례에 가장 적합한 기준을 결정하는 방법을 알아보겠습니다.

  • MaxNumberOfTrainingJobs 에서 ResourceLimitsAPI를 사용하여 튜닝 작업이 중지되기 전에 실행할 수 있는 훈련 작업 수의 상한을 설정합니다. 큰 숫자로 시작해서 튜닝 작업 목표에 맞는 모델 성능에 따라 조정합니다. 대부분의 사용자는 대략 50 이상의 값을 입력하여 최적의 하이퍼파라미터 구성을 찾습니다. 더 높은 수준의 모델 성능을 원하는 사용자는 200 이상의 훈련 작업을 사용합니다.

  • 지정된 수의 작업 후에도 모델 성능이 개선되지 않는 경우 BestObjectiveNotImproving API 필드에서 MaxNumberOfTrainingJobsNotImproving 를 사용하여 훈련을 중지합니다. 모델 성능은 목표 함수를 기준으로 평가됩니다. MaxNumberOfTrainingJobsNotImproving 가 충족되면 AMT는 튜닝 작업을 중지합니다. 튜닝 작업은 작업 초기에 가장 많이 진행되는 경향이 있습니다. 목표 함수에 대조하여 모델 성능을 개선하려면 튜닝 종료 무렵에 더 많은 훈렵 작업이 필요합니다. 목표 지표와 비교하여 유사한 훈련 작업 성과를 확인하여 MaxNumberOfTrainingJobsNotImproving 값을 선택합니다.

  • MaxRuntimeInSeconds 에서 ResourceLimitsAPI를 사용하여 튜닝 작업에 걸릴 수 있는 벽 시계 시간의 상한을 설정합니다. 이 필드를 사용하여 튜닝 작업 완료 기한을 맞추거나 컴퓨팅 리소스를 제한할 수 있습니다.

    튜닝 작업의 총 예상 컴퓨팅 시간(초)은 다음 공식으로 구합니다.

    최대 예상 컴퓨팅 시간(초) = MaxRuntimeInSeconds * MaxParallelTrainingJobs * MaxInstancesPerTrainingJob

    참고

    튜닝 작업의 실제 지속 시간은 이 필드에 지정된 값과 약간 다를 수 있습니다.

  • TargetObjectiveMetricValue 에서 TuningJobCompletionCriteriaAPI를 사용하여 튜닝 작업을 중지합니다. 튜닝 작업으로 시작한 훈련 작업이 이 목표 지표 값에 도달하면 튜닝 작업을 중지합니다. 사용 사례가 가능한 최상의 모델을 찾기 위해 컴퓨팅 리소스를 소비하는 대신 특정 성능 수준에 도달하는 데 의존하는 경우 이 필드를 사용합니다.

  • CompleteOnConvergence 에서 TuningJobCompletionCriteriaAPI를 사용하여 AMT가 튜닝 작업이 수렴되었음을 감지하고 더 이상 상당한 진전을 이룰 가능성이 거의 없는 경우 튜닝 작업을 중지합니다. 다른 완료 기준에 어떤 값을 사용해야 하는지 명확하지 않은 경우 이 필드를 사용합니다. AMT 는 다양한 벤치마크에서 개발 및 테스트된 알고리즘을 기반으로 융합을 결정합니다. 튜닝 작업은 훈련 작업 중 어느 것도 유의미한 개선 효과를 얻지 못할 때(1% 이하) 수렴된 것으로 정의됩니다. 개선은 지금까지 가장 성과가 높은 작업에서 반환한 목표 지표를 기준으로 측정됩니다.

다양한 완료 기준 조합

동일한 튜닝 작업에서 서로 다른 완료 기준을 조합할 수도 있습니다. AMT 는 완료 기준 중 하나라도 충족되면 튜닝 작업을 중지합니다. 예를 들어, 목표 지표를 충족할 때까지 모델을 튜닝하고 싶지만 작업 수렴 후에는 튜닝을 계속하고 싶지 않다면 다음 지침을 적용합니다.

  • TargetObjectiveMetricValue 에서 를 지정TuningJobCompletionCriteriaAPI하여 도달할 대상 목표 지표 값을 설정합니다.

  • AMT 에서 모델 성능이 개선될 가능성이 낮다고 판단한 경우 튜닝 작업을 중지Enabled하려면 를 CompleteOnConvergence 로 설정합니다.

튜닝 작업 진행 상황 추적

DescribeHyperParameterTuningJob API 를 사용하여 튜닝 작업이 실행되는 동안 언제든지 튜닝 작업의 진행 상황을 추적할 수 있습니다. 튜닝 작업에 대한 추적 정보를 얻기 위해 완료 기준을 지정할 필요는 없습니다. 다음 필드에서 튜닝 작업 관련 통계를 얻을 수 있습니다.

  • BestTrainingJob - 지금까지 획득한 최상의 훈련 작업을 설명하고 목표 지표와 비교하여 평가하는 객체입니다. 이 필드를 사용하여 현재 모델 성능과 이 최고 훈련 작업의 목표 지표 값을 확인합니다.

  • ObjectiveStatusCounters - 튜닝 작업에서 완료된 총 훈련 작업 수를 지정하는 객체입니다. 튜닝 작업 평균 지속 시간을 추정하려면 ObjectiveStatusCounters 및 튜닝 작업 총 런타임을 사용합니다. 평균 지속 시간으로 튜닝 작업 실행 시간을 추정할 수 있습니다.

  • ConsumedResources - 튜닝 작업에 소비된 총 리소스(예: RunTimeInSeconds). 에 ConsumedResources있는 DescribeHyperParameterTuningJob 를 동일한 BestTrainingJob의 API와 비교합니다API. 또한 의 응답ConsumedResources과 비교하여 조정 작업이 리소스가 사용됨에 따라 만족스러운 진전을 이루고 있는지 ListTrainingJobsForHyperParameterTuningJob API 평가할 수 있습니다.

  • TuningJobCompletionDetails - 다음을 포함하는 작업 완료 정보 조정:

    • 작업 수렴 시 수렴 감지 시점의 타임스탬프.

    • 모델 성능이 개선되지 않은 훈련 작업 수. 모델 성능은 최고 훈련 작업의 목표 지표를 기준으로 평가됩니다.

    튜닝 작업 완료 기준을 사용하여 튜닝 작업이 모델 성능을 개선할 가능성을 평가합니다. 완료 시까지 실행된 경우 모델 성능은 최상의 목표 지표와 비교 평가됩니다.

튜닝 작업 수동 중지

튜닝 작업을 완료 시까지 계속 실행할지 아니면 수동으로 중지할지 결정할 수 있습니다. 이를 확인하려면 이전 추적 튜닝 작업 진행률 섹션에 표시된 API대로 DescribeHyperParameterTuningJob 의 파라미터에서 반환된 정보를 사용합니다. 예를 들어, 여러 훈련 작업이 완료된 후에도 모델 성능이 개선되지 않으면 튜닝 작업을 중지할 수 있습니다. 모델 성능은 최상의 목표 지표와 비교 평가됩니다.

튜닝 작업을 수동으로 중지하려면 StopHyperParameterTuningJobAPI를 사용하고 중지할 튜닝 작업의 이름을 입력합니다.