기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SageMaker AI 관리형 웜 풀은 SageMaker Python SDK, Amazon SageMaker AI 콘솔 또는 하위 수준 APIs. 관리자는 선택적으로 sagemaker:KeepAlivePeriod
조건 키를 사용하여 특정 사용자 또는 그룹에 대한 KeepAlivePeriodInSeconds
한도를 추가로 제한할 수 있습니다.
SageMaker AI Python SDK 사용
SageMaker Python SDK를 사용하여 웜 풀을 생성, 업데이트 또는 종료할 수 있습니다.
참고
이 기능은 SageMaker AI Python SDK v2.110.0 이상에서 사용할
웜 풀 생성
웜 풀을 만들려면 SageMaker Python SDK를 사용하여 keep_alive_period_in_seconds
값이 0보다 큰 추정기를 만들고 fit()
를 호출하세요. 훈련 작업이 완료되면 웜 풀이 유지됩니다. 훈련 스크립트 및 추정기에 대한 추가 정보는 SageMaker Python SDK를 사용한 모델 훈련(Train a Model with the SageMaker Python SDK)
import sagemaker
from sagemaker import get_execution_role
from sagemaker.tensorflow import TensorFlow
# Creates a SageMaker AI session and gets execution role
session = sagemaker.Session()
role = get_execution_role()
# Creates an example estimator
estimator = TensorFlow(
...
entry_point='my-training-script.py'
,
source_dir='code'
,
role=role
,
model_dir='model_dir'
,
framework_version='2.2'
,
py_version='py37'
,
job_name='my-training-job-1'
,
instance_type='ml.g4dn.xlarge'
,
instance_count=1
,
volume_size=250
,
hyperparameters={
"batch-size": 512
,
"epochs": 1
,
"learning-rate": 1e-3
,
"beta_1": 0.9
,
"beta_2": 0.999
,
},
keep_alive_period_in_seconds=1800
,
)
# Starts a SageMaker training job and waits until completion
estimator.fit('s3://my_bucket/my_training_data/'
)
다음으로, 두 번째 매칭하는 훈련 작업을 생성하세요. 이 예제에서는 my-training-job-2
을 생성하는데 이는 my-training-job-1
와 매칭되는 필요한 모든 속성을 포함하지만 실험에 사용할 하이퍼파라미터는 다릅니다. 두 번째 훈련 작업은 웜 풀을 재사용하므로 첫 번째 훈련 작업보다 더 빨리 시작됩니다. 다음 코드 예에서는 Tensorflow 추정기를 사용합니다. 웜 풀 기능은 Amazon SageMaker AI에서 실행되는 모든 훈련 알고리즘과 함께 사용할 수 있습니다. 매칭하는 속성에 대한 추가 정보는 매칭하는 훈련 작업을 참조하세요.
# Creates an example estimator
estimator = TensorFlow(
...
entry_point='my-training-script.py'
,
source_dir='code'
,
role=role
,
model_dir='model_dir'
,
framework_version='py37'
,
py_version='pyxy'
,
job_name='my-training-job-2'
,
instance_type='ml.g4dn.xlarge'
,
instance_count=1
,
volume_size=250
,
hyperparameters={
"batch-size": 512
,
"epochs": 2
,
"learning-rate": 1e-3
,
"beta_1": 0.9
,
"beta_2": 0.999
,
},
keep_alive_period_in_seconds=1800
,
)
# Starts a SageMaker training job and waits until completion
estimator.fit('s3://my_bucket/my_training_data/'
)
두 훈련 작업의 웜 풀 상태를 확인하여 웜 풀이 my-training-job-1
을 위한 Reused
인지 my-training-job-2
을 위한 InUse
인지 확인하세요.
참고
훈련 작업 이름에는 날짜/시간 접미사가 있습니다. 예제 훈련 작업 이름은 my-training-job-1
이고 실제 훈련 작업 이름으로 my-training-job-2
를 대체해야 합니다. 사용자는 estimator.latest_training_job.job_name
명령을 사용하여 실제 훈련 작업 이름을 가져올 수 있습니다.
session.describe_training_job(
'my-training-job-1'
) session.describe_training_job('my-training-job-2'
)
describe_training_job
의 결과는 해당 훈련 작업에 대한 모든 세부 정보를 제공합니다. WarmPoolStatus
속성을 찾아 훈련 작업의 웜 풀에 대한 정보를 확인할 수 있습니다. 출력은 다음 예와 비슷해야 합니다.
# Warm pool status for training-job-1
...
'WarmPoolStatus': {'Status': 'Reused',
'ResourceRetainedBillableTimeInSeconds': 1000,
'ReusedByName': my-training-job-2}
...
# Warm pool status for training-job-2
...
'WarmPoolStatus': {'Status': 'InUse'}
...
웜 풀 업데이트
훈련 작업이 완료되고 웜 풀 상태가 Available
가 되면 KeepAlivePeriodInSeconds
값을 업데이트할 수 있습니다.
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":3600
})
웜 풀 종료
웜 풀을 수동으로 종료하려면 KeepAlivePeriodInSeconds
값을 0으로 설정합니다.
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":0})
지정된 KeepAlivePeriodInSeconds
값을 초과하거나 클러스터에 대한 패치 업데이트가 있는 경우 웜 풀이 자동으로 종료됩니다.
Amazon SageMaker AI 콘솔 사용
콘솔을 통해 웜 풀을 생성하거나, 웜 풀을 해제하거나, 특정 훈련 작업의 웜 풀 상태 및 청구 대상 시간을 확인할 수 있습니다. 또한 어떤 매칭 훈련 작업에서 웜 풀을 재사용했는지도 확인할 수 있습니다.
-
Amazon SageMaker AI 콘솔
을 열고 탐색 창에서 훈련 작업을 선택합니다. 해당하는 경우 각 훈련 작업의 웜 풀 상태는 웜 풀 상태 열에 표시되고 활성 웜 풀의 남은 시간은 남은 시간) 열에 표시됩니다. -
콘솔에서 웜 풀을 사용하는 훈련 작업을 생성하려면 훈련 작업 생성을 선택합니다. 그런 다음 훈련 작업 리소스를 구성할 때 연결 유지 기간 필드에 값을 지정해야 합니다. 이 값은 지속 시간을 초 단위로 나타내며 1에서 3600 사이의 정수여야 합니다.
-
콘솔에서 웜 풀을 해제하려면 해당 훈련 작업을 선택하고 작업 드롭다운 메뉴에서 클러스터 릴리스를 선택합니다.
-
웜 풀에 대한 자세한 내용을 보려면 훈련 작업 이름을 선택합니다. 작업 세부 정보 페이지에서 웜 풀 상태) 섹션으로 스크롤하여 웜 풀 상태, (웜 풀 상태가
Available
인 경우) 남은 시간, 웜 풀 청구 대상 시간(초), 웜 풀 상태가Reused
인 경우 웜 풀을 재사용한 훈련 작업 이름을 확인할 수 있습니다.
하위 수준 SageMaker API 사용
SageMaker API 또는 AWS CLI에서 SageMaker AI 관리형 웜 풀을 사용합니다.
SageMaker AI API
다음 명령과 함께 SageMaker API를 사용하여 SageMaker AI 관리형 웜 풀을 설정합니다.
AWS CLI
다음 명령과 함께 AWS CLI를 사용하여 SageMaker AI 관리형 웜 풀을 설정합니다.
IAM 조건 키
관리자는 선택적으로 sagemaker:KeepAlivePeriod
조건 키를 사용하여 특정 사용자 또는 그룹에 대한 KeepAlivePeriodInSeconds
한도를 추가로 제한할 수 있습니다. SageMaker AI 관리형 웜 풀은 3600초(60분) KeepAlivePeriodInSeconds
값으로 제한되지만 관리자는 필요한 경우이 제한을 낮출 수 있습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "EnforceKeepAlivePeriodLimit",
"Effect": "Allow",
"Action": [
"sagemaker:CreateTrainingJob"
],
"Resource": "*",
"Condition": {
"NumericLessThanIfExists": {
"sagemaker:KeepAlivePeriod": 1800
}
}
}
]
}
자세한 내용은 서비스 승인 참조의 Amazon SageMaker AI에 사용되는 조건 키를 참조하세요.