기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
TabTransformer
TabTransformer
사용 방법 SageMaker TabTransformer
Amazon SageMaker 내장 TabTransformer 알고리즘으로 사용할 수 있습니다. 다음 섹션에서는 SageMaker Python TabTransformer SDK와 함께 사용하는 방법을 설명합니다. Amazon SageMaker Studio 클래식 TabTransformer UI에서 사용하는 방법에 대한 자세한 내용은 을 참조하십시오SageMaker JumpStart.
-
내장 TabTransformer 알고리즘으로 사용
다음 코드 예제와 같이 TabTransformer 내장 알고리즘을 사용하여 TabTransformer 훈련 컨테이너를 빌드합니다. SageMaker
image_uris.retrieve
API (또는 Amazon SageMaker Python SDK버전 2를 사용하는 경우 get_image_uri
API) 를 사용하여 TabTransformer 내장 알고리즘 이미지 URI를 자동으로 찾아낼 수 있습니다.TabTransformer 이미지 URI를 지정한 후 TabTransformer 컨테이너를 사용하여 SageMaker Estimator API를 사용하여 추정기를 구성하고 학습 작업을 시작할 수 있습니다. TabTransformer 내장 알고리즘은 스크립트 모드에서 실행되지만 학습 스크립트가 제공되므로 교체할 필요가 없습니다. 스크립트 모드를 사용하여 SageMaker 교육 작업을 생성한 경험이 풍부한 경우 자체 TabTransformer 교육 스크립트를 통합할 수 있습니다.
from sagemaker import image_uris, model_uris, script_uris train_model_id, train_model_version, train_scope = "pytorch-tabtransformerclassification-model", "*", "training" training_instance_type = "ml.p3.2xlarge" # Retrieve the docker image train_image_uri = image_uris.retrieve( region=None, framework=None, model_id=train_model_id, model_version=train_model_version, image_scope=train_scope, instance_type=training_instance_type ) # Retrieve the training script train_source_uri = script_uris.retrieve( model_id=train_model_id, model_version=train_model_version, script_scope=train_scope ) train_model_uri = model_uris.retrieve( model_id=train_model_id, model_version=train_model_version, model_scope=train_scope ) # Sample training data is available in this bucket training_data_bucket = f"jumpstart-cache-prod-{aws_region}" training_data_prefix = "training-datasets/tabular_binary/" training_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}/train" validation_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}/validation" output_bucket = sess.default_bucket() output_prefix = "jumpstart-example-tabular-training" s3_output_location = f"s3://{output_bucket}/{output_prefix}/output" from sagemaker import hyperparameters # Retrieve the default hyperparameters for training the model hyperparameters = hyperparameters.retrieve_default( model_id=train_model_id, model_version=train_model_version ) # [Optional] Override default hyperparameters with custom values hyperparameters[ "n_epochs" ] = "50" print(hyperparameters) from sagemaker.estimator import Estimator from sagemaker.utils import name_from_base training_job_name = name_from_base(f"built-in-algo-{train_model_id}-training") # Create SageMaker Estimator instance tabular_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location ) # Launch a SageMaker Training job by passing the S3 path of the training data tabular_estimator.fit( { "training": training_dataset_s3_path, "validation": validation_dataset_s3_path, }, logs=True, job_name=training_job_name )
내장 TabTransformer 알고리즘으로 설정하는 방법에 대한 자세한 내용은 다음 노트북 예제를 참조하십시오.
알고리즘의 입력 및 출력 인터페이스 TabTransformer
TabTransformer 표 형식 데이터에 대해 연산을 수행합니다. 행은 관측치를, 한 열은 대상 변수 또는 레이블을, 나머지 열은 특징을 나타냅니다.
의 SageMaker 구현은 학습 및 추론을 위한 CSV를 TabTransformer 지원합니다.
-
학습의 ContentType 경우 유효한 입력은 텍스트/csv여야 합니다.
-
추론의 경우 유효한 입력은 ContentType 텍스트/csv여야 합니다.
참고
CSV 훈련의 경우 알고리즘은 대상 변수가 첫 번째 열에 있고 CSV에는 헤더 레코드가 없다고 추정합니다.
CSV 추론의 경우 알고리즘은 CSV 입력에 레이블 열이 없다고 추정합니다.
훈련 데이터, 검증 데이터 및 범주형 기능의 입력 형식
모델에 입력하기 위해 훈련 데이터의 형식을 지정하는 방법을 염두에 두세요. TabTransformer 훈련 데이터 및 검증 데이터를 포함하는 Amazon S3 버킷의 경로를 제공해야 합니다. 범주형 기능 목록을 포함시킬 수도 있습니다. training
및 validation
채널을 모두 사용하여 입력 데이터를 제공하세요 또는 training
채널만 사용해도 됩니다.
training
및 validation
채널을 모두 사용하세요.
training
채널용과 validation
채널용 두 개의 S3 경로를 통해 입력 데이터를 제공할 수 있습니다. 각 S3 경로는 하나 이상의 CSV 파일을 가리키는 S3 접두사이거나 특정 CSV 파일 하나를 가리키는 전체 S3 경로일 수 있습니다. 대상 변수는 CSV 파일의 첫 번째 열에 있어야 합니다. 나머지 열에는 예측 변수(특징)가 표시되어야 합니다. training
또는 validation
채널에 여러 CSV 파일이 제공되는 경우 TabTransformer 알고리즘이 파일을 연결합니다. 검증 데이터는 각 부스팅 반복 종료 시 검증 점수를 계산하는 데 사용됩니다. 유효성 검증 점수가 더 이상 향상되지 않으면 조기 중지가 적용됩니다.
예측 변수에 범주형 기능이 포함된 경우 훈련 데이터 파일 또는 파일이 있는 위치에 이름이 categorical_index.json
인 JSON 파일을 제공할 수 있습니다. 범주형 기능을 위한 JSON 파일을 제공하는 경우 training
채널은 특정 CSV 파일이 아닌 S3 접두사를 가리켜야 합니다. 이 파일은 키가 문자열 "cat_index_list"
이고 값이 고유 정수 목록인 Python 사전을 포함해야 합니다. 값 목록의 각 정수는 훈련 데이터 CSV 파일에 있는 해당 범주형 기능의 열 인덱스를 나타내야 합니다. 각 값은 양의 정수(0은 목표 값을 나타내므로 0보다 커야 함), Int32.MaxValue
(2147483647) 미만, 총 열 수보다 작아야 합니다. 범주형 인덱스 JSON 파일은 하나만 있어야 합니다.
training
채널만 사용:
training
채널의 단일 S3 경로를 통해 입력 데이터를 제공할 수도 있습니다. 이 S3 경로는 하나 이상의 CSV 파일이 들어 있는 training/
이라는 이름의 하위 디렉터리가 있는 디렉터리를 가리켜야 합니다. 선택적으로 validation/
이라는 동일한 위치에 하나 이상의 CSV 파일이 있는 다른 하위 디렉토리를 포함할 수 있습니다. 검증 데이터가 제공되지 않는 경우 훈련 데이터의 20%가 무작위로 샘플링되어 검증 데이터로 사용됩니다. 예측 변수에 범주형 기능이 포함되어 있다면 데이터 하위 디렉터리와 같은 위치에 categorical_index.json
이라는 이름의 JSON 파일을 제공할 수 있습니다.
참고
CSV 훈련 입력 모드의 경우, 알고리즘에 대해 사용 가능한 전체 메모리(인스턴스 수 * InstanceType
의 가용 메모리)가 훈련 데이터 세트를 담을 수 있어야 합니다.
알고리즘에 대한 Amazon EC2 인스턴스 권장 사항 TabTransformer
SageMaker TabTransformer 단일 인스턴스 CPU 및 단일 인스턴스 GPU 교육을 지원합니다. 높은 인스턴스당 비용에도 불구하고 GPU는 더욱 빠르게 교육하여 더욱 효율적입니다. GPU 학습을 활용하려면 인스턴스 유형을 GPU 인스턴스 중 하나로 지정하십시오 (예: P3). SageMaker TabTransformer 현재 다중 GPU 훈련은 지원되지 않습니다.
TabTransformer 샘플 노트북
다음 표에는 Amazon SageMaker TabTransformer 알고리즘의 다양한 사용 사례를 다루는 다양한 샘플 노트북이 요약되어 있습니다.
노트북 제목 | 설명 |
---|---|
이 노트북은 Amazon SageMaker TabTransformer 알고리즘을 사용하여 표 형식 분류 모델을 훈련하고 호스팅하는 방법을 보여줍니다. |
|
이 노트북은 Amazon SageMaker TabTransformer 알고리즘을 사용하여 표 형식 회귀 모델을 훈련하고 호스팅하는 방법을 보여줍니다. |
예제를 실행하는 데 사용할 수 있는 Jupyter 노트북 인스턴스를 만들고 액세스하는 방법에 대한 지침은 을 참조하십시오. SageMaker 아마존 SageMaker 노트북 인스턴스 Notebook 인스턴스를 만들고 연 후 SageMakerExamples 탭을 선택하면 모든 샘플 목록이 표시됩니다. SageMaker 노트북을 열려면 사용 탭을 선택한 후 사본 생성을 선택합니다.