기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AutoML API를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 작업 생성
Autopilot 또는 AWS CLI에서 지원하는 모든 언어로 CreateAutoMLJobV2
API를 호출하여 프로그래밍 방식으로 테이블 형식 데이터용 Autopilot 회귀 또는 분류 작업을 생성할 수 있습니다. 다음은 CreateAutoMLJobV2
API 작업에 대한 필수 및 선택적 입력 요청 파라미터 모음입니다. 이 작업 CreateAutoMLJob
의 이전 버전에 대한 대체 정보를 확인할 수 있습니다. 그러나 CreateAutoMLJobV2
사용을 권장합니다.
이 API 작업이 선택한 언어의 함수로 변환되는 방식에 대한 자세한 내용은 CreateAutoMLJobV2
의 추가 참고 사항 섹션 및 SDK 선택을 참조하세요. 예를 들어, Python 사용자의 경우 AWS SDK for Python (Boto3)에서 create_auto_ml_job_v2
의 전체 요청 구문을 참조하세요.
참고
CreateAutoMLJobV2와 DescribeAutoMLJobV2는 이전 버전과의 호환성을 제공하는 CreateAutoMLJob 및 DescribeAutoMLJob의 새 버전입니다.
CreateAutoMLJobV2
를 사용하는 것이 좋습니다. CreateAutoMLJobV2
는 바이너리 버전인 CreateAutoMLJob
과 동일한 표 형식 문제 유형은 물론 이미지 또는 텍스트 분류, 시계열 예측과 같은 표 형식이 아닌 문제 유형도 관리할 수 있습니다.
최소한 테이블 형식의 데이터에 대한 모든 실험에는 실험 이름의 사양, 입력 및 출력 데이터의 위치 제공, 예측할 대상 데이터 지정이 필요합니다. 선택 사항으로, 해결하려는 문제의 유형을 지정하고(회귀, 분류, 멀티클래스 분류) 모델링 전략(누적 앙상블 또는 하이퍼파라미터 최적화)을 선택하고 Autopilot 작업에서 데이터를 훈련하는 데 사용하는 알고리즘 목록을 선택하는 등의 작업을 수행할 수 있습니다.
실험 실행 후에는 여러 시험을 비교하고 각 모델의 사전 처리 단계, 알고리즘 및 하이퍼파라미터 범위에 대한 세부 정보를 자세히 살펴볼 수 있습니다. 설명가능성 및 성능 보고서를 다운로드할 수 있는 옵션도 있습니다. 제공된 노트북을 사용하여 자동화된 데이터 탐색 결과 또는 후보 모델 정의를 확인합니다.
CreateAutomlJob을 CreateAutoMLJobV2로 마이그레이션하기에서 CreateAutoMLJob
을 CreateAutoMLJobV2
로 마이그레이션하는 방법에 대한 지침을 확인하세요.
필수 파라미터
다른 모든 파라미터는 선택 사항입니다.
선택적 파라미터
다음 섹션에서는 테이블 형식 데이터를 사용할 때 CreateAutoMLJobV2
API 작업에 전달할 수 있는 몇 가지 선택적 파라미터에 대한 세부 정보를 제공합니다. 이 작업 CreateAutoMLJob
의 이전 버전에 대한 대체 정보를 확인할 수 있습니다. 그러나 CreateAutoMLJobV2
사용을 권장합니다.
테이블 형식 데이터의 경우 모델 후보를 훈련시키기 위해 데이터에서 실행되는 알고리즘 세트는 모델링 전략(ENSEMBLING
또는 HYPERPARAMETER_TUNING
)에 따라 달라집니다. 다음에서는 이 훈련 모드를 설정하는 방법을 자세히 설명합니다.
공백(또는null
)으로 유지하면 데이터세트의 크기를 기반으로 Mode
를 추론합니다.
Autopilot의 누적 앙상블 및 하이퍼파라미터 최적화 훈련 방법에 대한 자세한 내용은 훈련 모드 및 알고리즘 지원을 참조하세요.
기능 선택
Autopilot은 기능 선택 및 기능 추출을 포함한 자동 데이터 사전 처리 단계를 제공합니다. 하지만 FeatureSpecificatioS3Uri
속성과 함께 훈련에 사용할 기능을 수동으로 제공할 수도 있습니다.
선택한 기능은 JSON 파일에 다음 형식으로 포함되어야 합니다.
{ "FeatureAttributeNames":["col1", "col2", ...] }
["col1", "col2", ...]
에 나열된 값은 대소문자를 구분합니다. 입력 데이터에 있는 열 이름의 서브셋인 고유한 값을 포함하는 문자열 목록이어야 합니다.
참고
기능으로 제공된 열 목록에는 대상 열을 포함할 수 없습니다.
알고리즘 선택
기본적으로 Autopilot 작업은 데이터세트에서 사전 정의된 알고리즘 목록을 실행하여 모델 후보를 학습시킵니다. 알고리즘 목록은 작업에 사용되는 훈련 모드(ENSEMBLING
또는HYPERPARAMETER_TUNING
)에 따라 달라집니다.
알고리즘 기본 선택 사항의 서브셋을 제공할 수 있습니다.
훈련 Mode
에 따라 사용 가능한 알고리즘 목록은 AutoMLAlgorithms
을 참조하세요. 각 알고리즘에 대한 자세한 내용은 훈련 모드 및 알고리즘 지원을 참조하세요.
자체 검증 데이터세트와 사용자 지정 데이터 분할 비율을 제공하거나 Autopilot이 데이터세트를 자동으로 분할하도록 할 수 있습니다.
Autopilot의 분할 및 교차 검증에 대한 자세한 내용은 Autopilot에서의 교차 검증을 참조하세요.
참고
경우에 따라 Autopilot이 ProblemType
을 충분한 신뢰도로 추론할 수 없으며, 이 경우에는 사용자가 값을 제공해야 작업을 성공적으로 수행할 수 있습니다.
테이블 형식 데이터세트에 샘플 가중치 열을 추가한 다음 이를 AutoML 작업에 전달하여 훈련 및 평가 중에 데이터세트 행에 가중치를 적용하도록 요청할 수 있습니다.
샘플 가중치에 대한 지원은 앙상블 모드에서만 사용할 수 있습니다. 가중치는 음수가 아닌 숫자여야 합니다. 가중치 값이 유효하지 않거나 없는 데이터 포인트는 제외됩니다. 사용 가능한 객체 지표에 대한 자세한 내용은 Autopilot 가중치 지표을 참조하세요.
대용량 데이터세트를 처리하는 데 추가 컴퓨팅 리소스가 필요할 때 Amazon EMR Serverless에서 원격 작업을 자동으로 시작하도록 AutoML 작업 V2를 구성할 수 있습니다. 필요한 경우 EMR Serverless로 원활하게 전환하면 AutoML 작업은 사용자의 수동 개입 없이 처음에 프로비저닝된 리소스를 초과하는 데이터세트를 처리할 수 있습니다. EMR Serverless는 테이블 형식 및 시계열 문제 유형에 사용할 수 있습니다. 5GB보다 큰 테이블 형식 데이터세트의 경우 이 옵션을 설정하는 것이 좋습니다.
AutoML 작업 V2가 대규모 데이터세트의 경우 EMR Serverless로 자동으로 전환되도록 하려면 AutoML 작업 V2 입력 요청의 AutoMLComputeConfig
에 ExecutionRoleARN
필드가 포함된 EmrServerlessComputeConfig
객체를 제공해야 합니다.
ExecutionRoleARN
는 EMR Serverless 작업을 실행하는 데 필요한 권한을 AutoML 작업 V2에 부여하는 IAM 역할의 ARN입니다.
이 역할은 다음과 같은 신뢰 관계를 맺고 있어야 합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
그리고 다음에 대한 권한을 부여합니다.
-
EMR Serverless 애플리케이션을 생성, 나열 및 업데이트합니다.
-
EMR Serverless 애플리케이션에서 작업 실행을 시작, 나열, 가져오기 또는 취소합니다.
-
EMR Serverless 리소스에 태그를 지정합니다.
-
실행을 위해 IAM 역할을 EMR Serverless 서비스에 전달합니다.
iam:PassRole
권한을 부여하면 AutoML 작업 V2가 일시적으로EMRServerlessRuntimeRole-*
역할을 수임하여 EMR Serverless 서비스에 전달할 수 있습니다. 이는 EMR Serverless 작업 실행 환경에서 데이터 액세스를 위한 Amazon S3, 로깅을 위한 CloudWatch, AWS Glue 데이터 카탈로그 또는 워크로드 요구 사항에 따른 기타 AWS 서비스 등 런타임 중에 필요한 다른 서비스 및 리소스에 액세스하는 데 사용되는 IAM 역할입니다.이 역할 권한에 대한 자세한 내용은 Amazon EMR Serverless의 작업 런타임 역할을 참조하세요.
제공된 JSON 문서에 정의된 IAM 정책은 다음과 같은 권한을 부여합니다.
{ "Version": "2012-10-17", "Statement": [{ + "Sid": "EMRServerlessCreateApplicationOperation", + "Effect": "Allow", + "Action": "emr-serverless:CreateApplication", + "Resource": "arn:aws:emr-serverless:*:*:/*", + "Condition": { + "StringEquals": { + "aws:RequestTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessListApplicationOperation", + "Effect": "Allow", + "Action": "emr-serverless:ListApplications", + "Resource": "arn:aws:emr-serverless:*:*:/*", + "Condition": { + "StringEquals": { + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessApplicationOperations", + "Effect": "Allow", + "Action": [ + "emr-serverless:UpdateApplication", + "emr-serverless:GetApplication" + ], + "Resource": "arn:aws:emr-serverless:*:*:/applications/*", + "Condition": { + "StringEquals": { + "aws:ResourceTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessStartJobRunOperation", + "Effect": "Allow", + "Action": "emr-serverless:StartJobRun", + "Resource": "arn:aws:emr-serverless:*:*:/applications/*", + "Condition": { + "StringEquals": { + "aws:RequestTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessListJobRunOperation", + "Effect": "Allow", + "Action": "emr-serverless:ListJobRuns", + "Resource": "arn:aws:emr-serverless:*:*:/applications/*", + "Condition": { + "StringEquals": { + "aws:ResourceTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessJobRunOperations", + "Effect": "Allow", + "Action": [ + "emr-serverless:GetJobRun", + "emr-serverless:CancelJobRun" + ], + "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*", + "Condition": { + "StringEquals": { + "aws:ResourceTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessTagResourceOperation", + "Effect": "Allow", + "Action": "emr-serverless:TagResource", + "Resource": "arn:aws:emr-serverless:*:*:/*", + "Condition": { + "StringEquals": { + "aws:RequestTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "IAMPassOperationForEMRServerless", + "Effect": "Allow", + "Action": "iam:PassRole", + "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*", + "Condition": { + "StringEquals": { + "iam:PassedToService": "emr-serverless.amazonaws.com", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } } ] }
CreateAutomlJob을 CreateAutoMLJobV2로 마이그레이션하기
CreateAutoMLJob
사용자는 CreateAutoMLJobV2
로 마이그레이션하는 것이 좋습니다.
이 섹션에서는 CreateAutoMLJob과 CreateAutoMLJobV2 간 입력 파라미터 차이점을 설명하며 입력 요청 객체 및 속성의 위치, 이름, 구조의 두 버전 간 변경 사항을 강조합니다.
-
버전 간 변경 사항이 없는 속성을 요청합니다.
{ "AutoMLJobName": "string", "AutoMLJobObjective": { "MetricName": "string" }, "ModelDeployConfig": { "AutoGenerateEndpointName": boolean, "EndpointName": "string" }, "OutputDataConfig": { "KmsKeyId": "string", "S3OutputPath": "string" }, "RoleArn": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }
-
버전 간 위치 및 구조를 변경한 속성을 요청합니다.
DataSplitConfig
,Security Config
,CompletionCriteria
,Mode
,FeatureSpecificationS3Uri
,SampleWeightAttributeName
,TargetAttributeName
속성은 위치를 변경했습니다. -
다음 속성은 버전 간 위치 및 구조를 변경했습니다.
다음 JSON은 어떻게 유형 AutoMLCandidateGenerationConfig의 AutoMLJobConfig.CandidateGenerationConfig가 V2에서 유형 CandidateGenerationConfig의 AutoMLProblemTypeConfig.TabularJobConfig.CandidateGenerationConfig로 이동했는지 보여줍니다.
-
이름 및 구조를 변경한 속성을 요청합니다.
다음 JSON은 어떻게 InputDataConfigAutoMLChannel 배열)가 V2에서 AutoMLJobInputDataConfig(AutoMLJobChannel 배열)로 변경되었는지 보여줍니다. 속성
SampleWeightAttributeName
및TargetAttributeName
은InputDataConfig
에서 나와AutoMLProblemTypeConfig
로 이동합니다.